![]() |
|
![]() ![]() ![]() |
|
APXEOLOG |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 12.4.2007 Где: Мурманск Репутация: нет Всего: 1 |
Допустим у нас есть карта 10*10, каждая клетка - квадрат 32*32. В старых 2Д играх вполне успешно делали горы (т.е. высоту).
Как собственно сделать эту самую высоту имея только две оси? И как рассчитать что надо отрисовывать и с какими отклонениями? --------------------
Ученые долго не знали как назвать частоту.Потом так и назвали Hz. |
|||
|
||||
GLeBaTi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 1.2.2008 Где: г.Чебоксары Репутация: нет Всего: 0 |
Так там наверное просто рисовали эти горы в 3D и фоткали это изображение )
http://festival.1september.ru/articles/419668/Image200.jpg |
|||
|
||||
7maze |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 22.9.2009 Репутация: нет Всего: нет |
Вставляли как рисунки(спрайты), если один квадрат = горе, то вообще легче простого (правда сам рисунок мог быть больше 32x32 для большой реалистичности), если-же гора несколько квадратов - то просто билось изображение на части и отрисововалось (starcraft)
|
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
Если всё же есть желание самому рисовать, то можно почитать про 3d вращение тут:
http://www.siggraph.org/education/material...tran/3drota.htm а применительно изометрической проекции перевод на экранные координаты осуществляется следующим образом: Xscr=(y-x)*sqrt(3)/2; Yscr=(y+x)/2-z; где scr - экранные координаты sqrt(3)/2=0.86602 --------------------
|
|||
|
||||
APXEOLOG |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 12.4.2007 Где: Мурманск Репутация: нет Всего: 1 |
Спасибо за ответы попробую воплотить в жизнь.
--------------------
Ученые долго не знали как назвать частоту.Потом так и назвали Hz. |
|||
|
||||
jericho6 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 5.12.2009 Где: Мурманск Репутация: нет Всего: нет |
а если нужно еще и повернуть? как сюда впихнуть, например, угол W, на который мы поворачиваем, допустим, трехмерный график (поверхность)? |
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
Вот, например, вращение относительно оси Z:
x_new=x*cos(w)-y*sin(w), y_new=x*sin(w)+y*cos(w), z_new=z. --------------------
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |