Главная страница
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.008 c
11-1236091839
jarek
2009-03-03 17:50
2011.08.14
"memory hoarding" problem


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


1-1261986040
istok20
2009-12-28 10:40
2011.08.14
CopyFile в Win7 64bit...


15-1303457253
>|<
2011-04-22 11:27
2011.08.14
Посоветуйте компоненты для раскраски SQL


15-1303475554
OW
2011-04-22 16:32
2011.08.14
Графы. Задачка. Забыл как доказать, не напомните?