находя точку на окружности эллипса, которая является в прямоугольнике, имеющем центральную точку, высоту и ширину?

У меня есть прямоугольник в.NET, в которой я тяну эллипс.

Я знаю ширину, высоту и центральную точку того прямоугольника.

Конечно, центральная точка прямоугольника является также центральной точкой эллипса.

Я знаю, как вычислить точку на круг, однако у меня нет подсказки об эллипсе.

У меня есть те параметры и угол, мне нужна точка на эллипсе, кто-то может отправить формулу?

Я видел где-нибудь, что необходимо вычислить 2 точки, в которых пойдут 2 радиуса, сумма радиусов будет установлена, и они изменятся в размере соответственно.

Я не знаю, как сделать это, у меня только есть прямоугольная высота, ширина и центральная точка и конечно угол, в котором я хочу найти точку.

спасибо за любую справку Shlomi

6
задан Jacob 6 May 2010 в 14:56
поделиться

1 ответ

Вы можете использовать каноническую форму в полярных координатах для вашей задачи, где ширина и высота прямоугольника равны w и h соответственно.

alt text

alt text

где t - угол в радианах, a - w/2 и b - h/2

Итак, чтобы построить эллипс, все, что вам нужно сделать, это изменить t от 0 до 360 градусов (в радианах это 0 и 2pi) и в зависимости от того, как вы расставите t, вы получите точки на эллипсе.

Поскольку ваш прямоугольник не центрирован в начале координат, вам придется сместить его на координаты центра прямоугольника, скажем, (Cx,Cy)

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 
}
13
ответ дан 8 December 2019 в 18:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: