geometry - 如何在给定角度的椭圆轮廓上获取点?

标签 geometry ellipse

所以,我给出了椭圆 - 它们由中点、水平半径(rh)和垂直半径(rv)定义。我使用 sin/cos 绘制它们,结果对我来说看起来相当不错(只是确保这不是错误源)。

现在假设我有一个给定的角度(或方向向量),并且我希望椭圆轮廓上的点具有该角度/方向。我的直觉方法是简单地使用方向向量,对其进行归一化并将其 x 分量乘以 rh,将其 y 分量乘以 rv。现在,我的书面程序和我在论文上所做的所有计算都没有给出我想要的点,而是给出了另一个点,尽管它仍然在椭圆的轮廓上。但是,如果方向是 (1,0)、(0, 1)、(-1, 0)、(0, -1) 之一,则此方法效果很好(因此它适用于 0°、90°、 180°、270°)。

尽管互联网上有大量有关椭圆本身的数据,但我找不到有关我的特定问题的任何信息 - 而且我无法想出比上述解决方案更好的解决方案。

那么,知道如何实现这一目标吗?

最佳答案

如果我明白你在问什么,那么我认为你需要的是 polar form of an ellipse其中角度是从椭圆中心开始测量的。使用这种形式的椭圆,您将能够评估给定选择的 theta 的椭圆半径值,然后绘制您的点。

如果您看一下此 gif 图像,您就会明白为什么使用参数角度在 theta = 90、180、270 和 360 时才能得到正确的结果度http://en.wikipedia.org/wiki/File:Parametric_ellipse.gif 。使用椭圆的极坐标形式,您应该会得到您想要的点。

关于geometry - 如何在给定角度的椭圆轮廓上获取点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11309596/

相关文章:

c++ - 我可以在不使用矩形的情况下在 Qt C++ 中绘制椭圆吗?

c#-4.0 - 计算将一个矩形的 point1( x,y 坐标) 转换为另一个矩形的 Point1( x,y) 的比例因子

c# - 点在由 2 点定义的线上的投影

data-structures - 对于线段数据库,查找与矩形相交的所有线段

python - 将 3D 椭球拟合到 3D 空间中的点 - 不同的方法,不同的答案

c - 检测轴对齐矩形和定向超椭圆之间交点的算法

math - 两个三角形之间的相似变换

从给定的二维点列表中找到所有凸四边形的算法

css - 如何使用 svg 椭圆制作星形或十字形?

python - 椭圆区域的网格/晶格/矩阵