6

我在 .NET 中有一个矩形,我在其中绘制了一个椭圆。

我知道那个矩形的宽度、高度和中心点。

当然矩形的中心点也是椭圆的中心点。

我知道如何计算圆上的一个点,但是我对椭圆一无所知。

我有这些参数和角度,我需要椭圆上的点,有人可以发布公式吗?

我在某处看到您需要计算 2 个点,其中 2 个半径将去,半径的总和将是固定的,并且它们的大小会相应地改变。

我不知道该怎么做,我只有矩形的高度、宽度和中心点,当然还有我希望找到的角度。

感谢您的帮助

4

1 回答 1

13

您可以使用极坐标中的规范形式来解决矩形的宽度和高度分别为wh的问题。

替代文字

替代文字

其中t是以弧度表示的角度,aw/2bh/2

因此,要绘制椭圆,您所要做的就是将t0度变为360度(以弧度表示,即02pi),并根据您如何隔开t,得到椭圆上的点。

由于您的矩形未以原点为中心,因此您必须将其偏移矩形中心的坐标,例如(C x ,C y )

const double C_x = 10, C_y = 20, w = 40, h = 50;
for(double t = 0; t <=2*pi; t+=0.01)
{
   double X = C_x+(w/2)*cos(t);
   double Y = C_y+(h/2)*sin(t);
   // Do what you want with X & Y here 
}
于 2010-05-06T13:33:23.147 回答