【问题标题】:Polar equation of perimeter of half ellipse (concave mirror shape)半椭圆周长极坐标方程(凹面镜形状)
【发布时间】:2013-10-12 11:25:24
【问题描述】:

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

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

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

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

但我想要的不是这种椭圆形,而是半椭圆形,像凹面镜。即使我们将它的两端都拉伸到无穷大,它们也不应该形成椭圆形。

谁能给我提供第二条曲线的极坐标方程。我很不擅长数字绘图,但你可以把它想象成凹面镜。

【问题讨论】:

  • 也许您正在寻找抛物线、双曲线或悬链线形状?凹面反射透镜是抛物线的。请注意,这个问题可能属于 math.stackexchange.com 网站。
  • 是的,我认为它可能是一条抛物线,但抛物线方程对我来说很难看。
  • 您是否仅限于使用角度参数方程?
  • 不,但是,我需要根据角度找到坐标。
  • 我的回答有用吗?

标签: javascript curve polar-coordinates


【解决方案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 更大以“展平”抛物线。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 2016-05-14
    • 2017-02-04
    • 1970-01-01
    相关资源
    最近更新 更多