Формула эллипса, повёрнутого на определённый угол.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
seelts
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 21.11.2002 (Чт) 11:24
Откуда: Russia

Формула эллипса, повёрнутого на определённый угол.

Сообщение seelts » 11.10.2005 (Вт) 1:58

Собстственно сабж. Но мне не надо делать стандартный эллипс а потом поворачивать - мне надо именно формулу уже повёрнутого элипса. Т.е мне надо чтобы в любой момент я мог одной математической функцией описать этот самый эллипс и подставив какойнить Х натйи все его У.
например окружность:
y1 = sqr(r^2 - (x - x0)^2) + y0
y1 = -1 * sqr(r^2 - (x - x0)^2) + y0
здесь правдо две мат. функции, но я думаю идея ясна.

ЗЫ:Не стал писать в ВБ и3Д, так как это не ОпенГЛ, не ДиректХ и вообще не 3Д - просто алгоритм.
если создать алгоритм, которым сможет пользоваться даже дурак, то только дурак и будет им пользоваться

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 11.10.2005 (Вт) 11:30

Если ничего не перепутал, то должно работать:
y1=x*tg(fi)*(1-1/k)+(a/k)*sqrt(k-(x/b)^2)
y2=x*tg(fi)*(1-1/k)-(a/k)*sqrt(k-(x/b)^2),
где fi-угол поворота системы координат (от -pi/2 до pi/2), k=(sin(fi))^2+((a/b)*cos(fi))^2, a и b - коэффициенты в каноническом уравнении эллипса (x/a)^2+(y/b)^2=1 (полуоси эллипса) При fi =+/-pi/2 следует пользоваться ф-лами
y1=a*sqrt(1-(x/b)^2)
y2=-a*sqrt(1-(x/b)^2)
ЗЫ. Если интересует, могу привести вывод этих выражений.
ЗЗЫ. Когда я получал эти ф-лы, то предполагал, что cos(fi)>=0 (так можно получить любой поворот, а рассчетные ф-лы выглядят проще)
Листинги не горят!

seelts
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 21.11.2002 (Чт) 11:24
Откуда: Russia

Сообщение seelts » 11.10.2005 (Вт) 23:52

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


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 27

    TopList