Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разные высоты на 2Д карте 
:(
    Опции темы
APXEOLOG
Дата 22.9.2009, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 12.4.2007
Где: Мурманск

Репутация: нет
Всего: 1



Допустим у нас есть карта 10*10, каждая клетка - квадрат 32*32. В старых 2Д играх вполне успешно делали горы (т.е. высоту). 
Как собственно сделать эту самую высоту имея только две оси? И как рассчитать что надо отрисовывать и с какими отклонениями?
--------------------
Ученые долго не знали как назвать частоту.Потом так и назвали Hz.
PM MAIL ICQ   Вверх
GLeBaTi
Дата 22.9.2009, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 1.2.2008
Где: г.Чебоксары

Репутация: нет
Всего: 0



Так там наверное просто рисовали эти горы в 3D и фоткали это изображение )
http://festival.1september.ru/articles/419668/Image200.jpg
PM MAIL   Вверх
7maze
Дата 22.9.2009, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 22.9.2009

Репутация: нет
Всего: нет



Вставляли как рисунки(спрайты), если один квадрат  = горе, то вообще легче простого (правда сам рисунок мог быть больше 32x32 для большой реалистичности), если-же  гора несколько квадратов - то просто билось изображение на части и отрисововалось (starcraft)
PM MAIL   Вверх
piritus
Дата 22.9.2009, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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

--------------------
PM MAIL ICQ   Вверх
APXEOLOG
Дата 23.9.2009, 06:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 12.4.2007
Где: Мурманск

Репутация: нет
Всего: 1



Спасибо за ответы попробую воплотить в жизнь.
--------------------
Ученые долго не знали как назвать частоту.Потом так и назвали Hz.
PM MAIL ICQ   Вверх
jericho6
Дата 6.12.2009, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.12.2009
Где: Мурманск

Репутация: нет
Всего: нет



Цитата(piritus @  22.9.2009,  22:13 Найти цитируемый пост)
а применительно изометрической проекции перевод на экранные координаты
осуществляется следующим образом:

Xscr=(y-x)*sqrt(3)/2;
Yscr=(y+x)/2-z;


а если нужно еще и повернуть? как сюда впихнуть, например, угол W, на который мы поворачиваем, допустим, трехмерный график (поверхность)?

PM MAIL ICQ Skype   Вверх
piritus
Дата 6.12.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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.


--------------------
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0706 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.