因此,我给出了椭圆 - 它们由中点、水平半径(rh)和垂直半径(rv)定义。我使用 sin/cos 绘制它们,结果对我来说看起来相当不错(只是确保这不是错误源)。
现在假设我有一个给定的角度(或方向向量),并且我希望椭圆轮廓上的点具有该角度/方向。我的直觉方法是简单地使用方向向量,对其进行归一化并将其 x 分量乘以 rh,将其 y 分量乘以 rv。现在,我的书面程序和我在论文上所做的所有计算都没有给出我想要的点,而是给出了另一个点,尽管它仍然在椭圆的轮廓上。但是,如果方向是 (1,0)、(0, 1)、(-1, 0)、(0, -1) 之一,则此方法效果很好(因此它适用于 0°、90°、 180°、270°)。
尽管互联网上有大量关于椭圆本身的数据,但我找不到有关我的特定问题的任何信息 - 而且我无法想出比上述解决方案更好的解决方案。
那么,知道如何实现这一目标吗?
如果我明白你在问什么,那么我认为你需要的是椭圆的极坐标形式 http://en.wikipedia.org/wiki/Ellipse#Polar_form_relative_to_center其中角度是从椭圆中心开始测量的。使用这种形式的椭圆,您将能够评估给定选择的 theta 的椭圆半径值,然后绘制您的点。
如果你看一下这个 gif 图片,你就会明白为什么使用参数角度给你正确的结果onlyθ = 90、180、270 和 360 度http://en.wikipedia.org/wiki/File:Parametric_ellipse.gif http://en.wikipedia.org/wiki/File:Parametric_ellipse.gif。使用椭圆的极坐标形式,您应该得到您想要的点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)