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

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.05 c
14-1083091612
RealRascal
2004-04-27 22:46
2004.05.23
Размер объекта в памяти


4-1081091618
Wiz@rd
2004-04-04 19:13
2004.05.23
WH_KEYBOARD


3-1083090923
Михалычъ
2004-04-27 22:35
2004.05.23
Передвижение по полям


14-1083706326
ИМХО
2004-05-05 01:32
2004.05.23
Депортиво - Порту 0:1


9-1060565676
Son!K
2003-08-11 05:34
2004.05.23
Вопрос по OpenGL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский