Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.08.14;
Скачать: CL | DM;

Вниз

Вращение изображения вокруг вращающегося изображения   Найти похожие ветки 

 
Luarvic   (2011-05-03 16:11) [0]

Есть изображение которое вращается вокруг своего центра (это реализовал). Нужно чтобы второе изображение вращалось вокруг центра первого, а так же вокруг своего центра. То есть например первое изображение - ручка топора, а второе - лезвие.
Делаю так:
center.x:=img1.Width/2+img1.X;//центр первого изображения
center.y:=img1.Height/2+img1.Y;//
center2.x:=Width/2+img2.relat.x;//центр второго
Center2.y:=Height/2+img2.relat.y;//relat - координаты левого верхнего угла второго изображения с началом координат в левом верхнем угле первого изображения
cs:=cos(DegToRad(Angle));
ss:=sin(DegToRad(Angle));
x:=center2.x*cs-center2.y*ss+center.x;//тут X,Y - результирующие координаты второго изображения
y:=center2.x*ss+center2.y*cs+center.y;//

Это правильно?


 
Anatoly Podgoretsky ©   (2011-05-03 16:21) [1]

> Luarvic  (03.05.2011 16:11:00)  [0]

Луну хочшь эмулировать?


 
Рамиль ©   (2011-05-03 16:21) [2]


> Это правильно?

А запустить и посмотреть?

Почитайте, что бы велосипед не изобретать
http://compgraphics.info/2D/affine_transform.php


 
Luarvic   (2011-05-03 16:27) [3]

Да, Луна как пример подойдет. Идея такая: есть центральное изображение, на него "навешиваются" другие, центральное двигается, вращается, а навешенные повторяют все движения...


 
Рамиль ©   (2011-05-03 16:27) [4]

И еще есть функции SetWorldTransform, GetWorldTransform, ModifyWorldTransform
Не пересчитывать же каждую точку изображения вручную.


 
Luarvic   (2011-05-03 16:34) [5]

Ну во первых это у меня игра, движок готовый на Opengl. Вращения вокруг центра уже там реализовано, я координатами спрайтов оперирую.
В общем решил не относительные координаты хранить а радиус "орбиты" и угол для второго изображения.


 
Jeer ©   (2011-05-04 00:35) [6]


> В общем решил


Ну решил, так  - решил.
Зачем других беспокоить такой мелочью ?


 
KilkennyCat ©   (2011-05-04 01:36) [7]

GDI+ и ноу проблем.



Страницы: 1 вся ветка

Текущий архив: 2011.08.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
1-1261590906
Alex_C
2009-12-23 20:55
2011.08.14
Windows 7 64 bit и SetLength


15-1303237191
delphi_developer
2011-04-19 22:19
2011.08.14
team lead и senior software engineer - одно и тоже?


15-1303194418
OW
2011-04-19 10:26
2011.08.14
ничего себя тенденция на сайты второго уровня


6-1240371968
MultIfleX
2009-04-22 07:46
2011.08.14
pcap packet format


15-1303354549
TorUser
2011-04-21 06:55
2011.08.14
Управление аудио каналами