0

var x = Cx + a * Math.cos(ang);

var y = Cy + b * Math.sin(ang);

Cx, Cy中心のコードです。angはアングルインradiansです。a幅のb半分、高さの半分です。

の値を変更するとang、楕円の円周上で異なる点が得られます。以下は、上記の式で取得したパスです。

楕円

でも、この楕円形ではなく、半楕円形、凹面鏡のようなものが欲しい。両端を無限に伸ばしても楕円にはなりません。

凹面

誰かが 2 番目の曲線の極方程式を教えてくれませんか? 私はデジタルで描くのがとても苦手ですが、それは凹面鏡のように想像できます。

4

1 に答える 1

1

(Fx, Fy)焦点が で、焦点パラメータが である放物線のパラメトリック方程式は、2a角度に関して次のようになります。

x = Fx + (2*a*cos(ang))/(1 + cos(ang))
y = Fy + (2*a*sin(ang))/(1 + cos(ang))

悪くない。:)a必要に応じて調整できます。実際には、焦点からプロットまでの距離と、プロットから準線までの距離の比率を調整することで、少し変更できます。

x = Fx + (2*a*cos(ang))/(1 + cos(ang))
y = Fy + (2*b*sin(ang))/(1 + cos(ang))

ここで比率は になりますb/a。したがって、原点から頂点 (2a) までの距離を同じにしてb、放物線を「平坦化」するために大きくすることができます。

于 2013-10-12T13:59:42.677 に答える