![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
mamyx |
|
|||
Unregistered |
Ребят, срочно надо сабж.Вобщем так. Дан эллипс, с фиксированой точкой, т.е. как-будто его гвоздем прибили, надо написать кусок проги, чтобы он вокруг этой точки вращался. Заранее спасибо.
|
|||
|
||||
Mikel |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
А точка это центр?(было бы попроще)
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
Mikel |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
Сначала получилось красиво, но не совсем то, что надо.
А вот оно
-------------------- ...so remember, it's better to burn out than to fade away |
||||
|
|||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Вращать эллипс вокруг точки, это то же самое, что вращать прямоугольник, или другими словами, набор точек, каких, зависит от того как у тебя задан эллипс. Обычно в графике на машинах эллипс задается как прямоугольник, в который он вписан, то есть четыремя точками(вершинами).Можно сделать это с помощью превода в радиальные координаты и обратно или с помощью формул поворота системы координат. Оба способа были приведены на этом форуме. Где-то тут...
-------------------- Волны гасят ветер... |
|||
|
||||
Mikel |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
В данном случае мы вращаем не всю плоскость, а только точки эллипса.
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Ага. Кажись это было в старом форуме.Сейчас я это писать не буду, но пожалуй стоит это сделать, и занести наконец это дело в FAQ. Хотя формулы поворота для интересующихся...
x1=x*cos u – y*sin u y1=x*sin u – y*cos u -------------------- Волны гасят ветер... |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Ага. Это все равно, что в лоб, что по лбу. То ли эллипс вокруг точки, то ли точку вокруг эллипса. Самое главное, считать координаты эллипса(его контрольных точек) относительно этой "неподвижной" точки точки, ну и отображать соответсвенно так, как буд-то это точка неподвижна. -------------------- Волны гасят ветер... |
|||
|
||||
mamyx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.7.2002 Репутация: нет Всего: нет |
Ребят, я вас еще напрягу..только плз. не откажите...счет - на часы...даже минуты...В общем даны 2 эллипса, вращающиеся в разные стороны...их фиксированые точки находяться на одной горизонтальной прямой, угловые скорости не равны...надо таким образом как выше написать программу, иллюстрирующую их движение.На рисунке к задаче, они пересекаются в точке, которая тоже лежит на линии соед. точки вокруг которых идут вращения. Надо чтобы корректно происходило пересечение эллипсов при вращении. Заранее спасибо...
|
|||
|
||||
Mikel |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
Ну за это уже деньги надо платить
![]() -------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
mamyx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.7.2002 Репутация: нет Всего: нет |
Я понимаю, что деньги платить надо...я даже готов =) А мне впринципе пофиг - через Canvas или нет...лишь бы работало все правильно..И кста, с деньгами из Ростова к тебе......геморно...хотя...
|
|||
|
||||
Mikel |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
А банки на что? Через DirectX пойдет(человеческий вид будет: без мигания). Давай все поподробнее на [email protected]
Люди! Клиента не отбивать! ![]() -------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
ILA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 28.9.2002 Репутация: нет Всего: нет |
правильно x1=x*cos u – y*sin u y1=x*sin u + y*cos u если x,y в "повернутой" против часовой стрелки системе, а x1,x2 - в "неподвижной". Для обратного преобразования x= x1*cos u + y*sin u y=-x1*sin u + y*cos u |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |