2012-01-21 7 views
0

私はこの種の数学を行ってからしばらくしています。だから誰かが私のためにこれに答えることができます。私は正確なx値のための交差点を見つけようとしているので、この質問は私が欲しいものとは思えません。ベジェスプラインに沿って交差するY値を見つけるにはどうすればよいですか?

私はX、Y、XX、YYのスプラインを持ち、両端にコントロールポイントがあります。私はそれが二次曲線(曲線はそれ自身を渡らない)であると言って正しいだろうと思う。私は与えられたグラフィックライブラリ(現在はHTML5のキャンバスを考えている)のパスルーチンを使ってこの行を描く予定です。私はそれを自分で描くことはしません。

私は交差点のY値を求めるために、X + nで表されるいくつかの点を持っています。私は与えられた点パスに沿っ位置を求めていないです、私は、それは私がそれと会うために垂直線を描画するために計画しています

線Xと交差する経路上の位置を求めています可能であれば、その点が納得のいくような形で曲線に出会うのに十分なほど精密であれば(2ピクセルではなく)、それは素晴らしいことでしょう。

ルーチンは自分自身で線を描くのが難しくないので、私はそれを行い、プロットに沿ってX値を(許容値で)テストします。

*数学

+0

私はあなたが望むものを完全に理解しているかどうかはわかりません。ベジェ曲線(3次または2次曲線)があり、線X = kがベジェ曲線と交差する場所を探したいとしますか?ベジェの方程式にkを差し込み、tを解くことができませんでしたか?たとえば[ここ](http://en.wikipedia.org/wiki/Bezier_curve#Examination_of_cases)のように、B(t)をkと置き換えてtについて解く。キュービック方程式のルーツを見つけるには、[here](http://en.wikipedia.org/wiki/Cubic_equation)を参照してください。 – user1118321

+0

私はできましたが、準備ができている関数やライブラリ、あるいは擬似コード、JavaScriptまたはC(私は簡単にJSに移植することができます)でそれを行うためのものがあるかもしれないことを期待していました。 – Joe

+0

[2次元スプライン関数f(t)をf(x)に変換]の可能な複製(http://stackoverflow.com/questions/11518054/transform-2d-spline-function-ft-into-fx) –

答えて

0

は最近、私はどのようにtransform 2d spline function f(t) into f(x)約非常に類似した質問に答えました。そこでの答えは、一方の端には3次方程式の正確な解法(3次ベジェスプラインが最も一般的なものである)から、他方では単純な2等分であった。好きなのを選びな。

関連する問題