Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
15-1303461362
tesseract
2011-04-22 12:36
2011.08.14
Расчет стоимости владения оборудованием.


2-1304663267
MonoLife
2011-05-06 10:27
2011.08.14
TThread и FastMM4


15-1303722726
И. Павел
2011-04-25 13:12
2011.08.14
Порекомендуйте самоучитель по десктопным C# и JAVA


15-1303631334
IPranker
2011-04-24 11:48
2011.08.14
Что такое CRC?


2-1304541565
vasja666
2011-05-05 00:39
2011.08.14
Сумма в бд (sql запрос)




   Наверх