半椭圆周长的极坐标(凹面镜形)

时间:2013-10-12 11:25:24

标签: javascript curve polar-coordinates

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

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

Cx, Cy是中心的绳索。 angradians中的角度。 a是宽度的一半,b是高度的一半。

如果我更改ang的值,我会在椭圆的圆周上得到不同的点。下面是路径,我可以通过上面的方程式获得。

Ellipse

但不是这个椭圆形,我想要像椭圆形的东西,像凹面镜子。即使我们将其两端延伸到无限远,它们也不应形成椭圆形状。

Concave

有人可以为我提供第二条曲线的极坐标方程。我在数字绘图方面非常糟糕,但你可以把它想象成凹面镜。

1 个答案:

答案 0 :(得分: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更大,以“展平”抛物线。