如何计算椭圆周长上的点?

Abh*_*V R 3 math geometry ellipse java-me

我想在J2ME中用椭圆曲线绘制一个点

我有X,Y,宽度,高度和t的值.

XY是椭圆(根据J2ME)相对于Canvas的位置, t是相对于椭圆中心的角度(我有一个问题的图像表示,但不幸的博客不允许插入讨论: ))

int ePX = (X + width)+ (int) (width * Math.cos(Math.toRadians(t)));
int ePY = (Y + height)+ (int) (height * -Math.sin(Math.toRadians(t)));
Run Code Online (Sandbox Code Playgroud)

这个等式是否正确?或者对于椭圆,我们还需要进行更多的计算吗?

Par*_*dar 10

如果(X,Y)是椭圆的中心,宽度和高度是两个轴,那么方程应该是

int ePX = X + (int) (width  * Math.cos(Math.toRadians(t)));
int ePY = Y + (int) (height * Math.sin(Math.toRadians(t)));
Run Code Online (Sandbox Code Playgroud)

如果要全部t绘制整个椭圆,则不需要-1乘以Math.sin .

  • @ Nguyen:对不起,我认为你错了。AFAIK,`(aCos(\ th),bSin(\ th))`参数化一个椭圆,当((a == b)`变成一个圆。这里`a:= width`和`b:= height`。 (2认同)