Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Из трехмерного в двумерный 
V
    Опции темы
boobie
Дата 11.3.2013, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Здравствуйте! Нужно нарисовать, например, куб.
12 ребер, 8 вершин, у каждой координаты в виде (x,y,z). А на экране только двумерное пространство  smile 
Подскажите формулы для преобразования... Найти не могу.

И литратура нужна по машинной графике (именно трехмерной) с нуля

Это сообщение отредактировал(а) boobie - 11.3.2013, 12:15
PM   Вверх
Alexeis
Дата 11.3.2013, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Аналогичная тема http://forum.vingrad.ru/index.php?showtopic=317525 в теме есть пример кубик на делфи. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
boobie
Дата 11.3.2013, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо, но это немного не то, что мне нужно. Как отбросить координату Z? Я в этот код смотрю - вижу фигу. 
Ну вот возьмем, например, отрезок в пространстве А(0;0;0) и B(0;0;1). Как его нарисовать на экране? Матрицы, детерминанты... Я стою в самом начале лестницы, не понимаю с чего начать...
PM   Вверх
phomm
Дата 11.3.2013, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Может поможет, http://programmersforum.ru/showthread.php?t=188328 , искать там мой пост.
PM MAIL WWW ICQ Skype   Вверх
Alexeis
Дата 11.3.2013, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(boobie @  11.3.2013,  14:51 Найти цитируемый пост)
 Как его нарисовать на экране? Матрицы, детерминанты... Я стою в самом начале лестницы, не понимаю с чего начать... 

  Вершина умножается на матрицу проекции и получается или параллельная или перспективная проекция. 

Думаю что вот этот урок поможет лучше понять http://www.alexeyspace.ru/articles/1/ там как раз есть и теория и пример. Начинают как раз с проецирования.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
boobie
Дата 13.3.2013, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Alexeis @ 11.3.2013,  21:26)
Думаю что вот этот урок поможет лучше понять http://www.alexeyspace.ru/articles/1/ там как раз есть и теория и пример. Начинают как раз с проецирования.

Кое-что немного прояснилось, но я так и не смог вывести ни точку, ни линию из трехмерного пространства, используя код автора:
Код

k := D / (Z + OfsZ); 

x2d := oX + ROUND(X * k);
y2d := oY + ROUND(Y * k);

// Вычисляем центр экрана

oX := ClientWidth div 2;
oY := ClientHeight div 2;


D   := (ClientWidth / ClientHeight) div 2; //что он тут пытается получить - для меня загадка
Ofs := (ClientWidth / ClientHeight) div 2; //целое делит на целое (например 800/600), 
//затем это число (скорее всего меньше 2) пытается разделить нацело на 2
//и Ofs и OfsZ - это одно и то же... наверное...

Подскажите литературу по графике, кто с какой начинал. Не DirectX-ы и OpenGL, а азы графики... трехмерной...

Это сообщение отредактировал(а) boobie - 13.3.2013, 11:39
PM   Вверх
Чучмек
Дата 13.3.2013, 18:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


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

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



Учебник геометрии.


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Bitter
Дата 13.3.2013, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

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



Цитата(boobie @  13.3.2013,  10:59 Найти цитируемый пост)
 Не DirectX-ы и OpenGL, а азы графики... трехмерной...

как раз в таких книгах азы графики и рассказывают
PM MAIL ICQ Skype   Вверх
boobie
Дата 15.3.2013, 06:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Все, спасибо, разобрался. Все оказалось гораздо проще. При ортогональной проекции просто "отбрасываем" Z.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


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

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


 




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


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

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