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

Вниз

Поворот картинки   Найти похожие ветки 

 
artix   (2004-03-05 17:41) [0]

Надо сделать чтоб была картинка вращающейся земли


 
Fay ©   (2004-03-05 17:43) [1]

Надо взять картинку вращающейся земли и дать ей быть.


 
artix   (2004-03-05 17:51) [2]

Не ну как землю врашяющуюся сделать.


 
YurikGl ©   (2004-03-05 17:52) [3]

Нарисовать 10 картинок, и пускать их поочереди
З.Ы. у меня есть такие, погу скинуть по почте.


 
WebErr ©   (2004-03-05 17:54) [4]

Я делал такую 3D-хрень, благодаря ей я сейчас получил работу программиста, так что это не так-то просто. Я сделал её на С++, но если интересно, я могу прислать её на e-mail. Оставьте свой e-mail, я пошлю туда ехе с исходниками. :))))


 
WebErr ©   (2004-03-05 17:55) [5]


> YurikGl ©   (05.03.04 17:52) [3]

Сие есть неинтересно! :))))


 
artix   (2004-03-05 17:57) [6]

Буду очень благодарен. 10 фреймов будет нерельно выглядеть. Я видел opengl рисуют, там вообще кул поолучается. Только я нефига в opengl не понимаю
tsisyckroma@mail.ru


 
YurikGl ©   (2004-03-05 17:57) [7]

> WebErr ©   (05.03.04 17:54) [4]
Непонятно-же, что человеку надо. Может 3D, а может что попроще


 
Fay ©   (2004-03-05 17:59) [8]

2WebErr ©   (05.03.04 17:54) [4]
Интересно, а разработчики TheBat! применяли скелетную анимацию для своей иконки, чтобы крыльями махала?


 
artix   (2004-03-05 18:02) [9]

попроще, но получше :)


 
WebErr ©   (2004-03-05 18:13) [10]

В общем идея следующая:
проекция шара на плоскость (экран) всегда круг!
надо заполнить круг пикселями нужного цвета, вычисление которого занимает у меня 2 условных листа.
В каждой точке (X, Y) ищем Z=R*R-sqrt(X*X+Y*Y).
Потом вектор P=(X,Y,Z) умножаем на матрицу поворота T(a,b)

||    сos(a)        -sin(a)       0    ||
|| sin(a)*cos(b) cos(a)*cos(b) -sin(b) ||
|| sin(a)*sin(b) cos(a)*sin(b)  cos(b) ||

Где a, b - произвольные углы, которые в итоге и будут задавать вращение сферы (земли).
Далее работа с текстурой.
Координаты пикселя текстуры (xt, yt) вычисляются по ф-ле
xt = arctan(y/x)/pi
yt = arccos(z/R)/2/pi
Где (x, y, z) = Q - вектор полученный при повороте вектора P.
Получаем цвет пикселя текстуры!!! Ура!
Осталось только умножить компоненты R-G-B этого пикселя на косинус угла  между нормалью и вектором падения света.


 
WebErr ©   (2004-03-05 18:15) [11]

В общем не для слабонервных алгоритм! :))))


 
artix   (2004-03-05 18:16) [12]

А если есть текстура(bmp), а вот её можно повернуть на определенный угол


 
WebErr ©   (2004-03-05 18:29) [13]


> artix   (05.03.04 18:16) [12]

Разумеется! Её-то мы и положим в результате на сферу и будем крутить! Если взять физическую карту без обозначений, то будет выглядеть как снимки из космоса!!! :))))


 
artix   (2004-03-05 18:30) [14]

Всятаки я не понял как положить её на сферу. Модно упростить, что крутилась только по одной оси


 
artix   (2004-03-05 18:31) [15]

хотел сказать можно


 
WebErr ©   (2004-03-05 18:40) [16]

Сделаешь всё, как написано - получишь наложение битмапа на сферу. Упростить можно - изменяй углы a, b в линейной зависимости b(a) = k*a + c, где k, c - это некоторые константы.
В общем удачи - алгоритм непростой! :))))


 
artix   (2004-03-05 18:46) [17]

ТОли нет апишки, которая bitmap поворачивает ?


 
Defunct ©   (2004-03-05 18:48) [18]

artix   (05.03.04 18:46) [17]

Нет


 
WebErr ©   (2004-03-05 18:51) [19]


> artix   (05.03.04 18:46) [17]
> ТОли нет апишки, которая bitmap поворачивает ?

Ручками!!! :))))


 
Defunct ©   (2004-03-05 18:53) [20]

WebErr торговая марка ":))))" типа знак качества CCCP



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

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

Наверх




Память: 0.5 MB
Время: 0.025 c
1-1083684435
Schummi
2004-05-04 19:27
2004.05.23
Закрытие TTabSheet


1-1084274660
DimonNew
2004-05-11 15:24
2004.05.23
qtintf70.dll


1-1083741812
Alek_1
2004-05-05 11:23
2004.05.23
Преобразование типов


3-1082795753
Сказочник
2004-04-24 12:35
2004.05.23
Почему не работает count(*)


4-1080566809
ipnet
2004-03-29 17:26
2004.05.23
Вывод через TextOut своим шрифтом