Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.08.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





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


15-1303811932
prodex
2011-04-26 13:58
2011.08.14
Как оценивать стоимость программы?


2-1304369709
Lutdan
2011-05-03 00:55
2011.08.14
Delphi:Вывести в DBLookupComboBox нужною строку столбца


15-1303381182
xayam
2011-04-21 14:19
2011.08.14
AdSense или Sape ?


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский