Главная страница
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.011 c
2-1304706573
Gu
2011-05-06 22:29
2011.08.14
Изменить ресурсную строку во время выполнения и сохранить её


15-1303317238
stas
2011-04-20 20:33
2011.08.14
Regexp из C# в Delphi


15-1297965112
bss
2011-02-17 20:51
2011.08.14
Глюк со встраиваемыми панелями MS Office при OLE


15-1302671702
TUser
2011-04-13 09:15
2011.08.14
Открытое письмо В. А. Садовничему


2-1304686862
Дмитрий
2011-05-06 17:01
2011.08.14
заполнить список nil