Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Построение поверхностей 
:(
    Опции темы
pushok
Дата 4.2.2008, 02:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ребят. Сижу не могу понять как строятся поверхности (студент лаб. работа)
Нашел пример построения поверхности по точкам. Т.к. по точкам строится достаточно долго. Получается конечно красиво, но никак не могу понять полностью, а объяснить уж тем более не смогу.
Может кто-нибудь знает способ по проще.
Мне хотя бы сам алгоритм знать, а его я как-нить уж опишу (учусь на Delphi, но в принципе здесь можно и на словах)

поверхность по-моему такая

2z = x*x/p + y*y/q (p,q>0)

но это даже не так важно.
Мне интересно как вообще строятся любые поверхности на двумерной плоскости (т.е. экране)

заранее спасибо.
PM ICQ   Вверх
maxim1000
Дата 4.2.2008, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



вопрос в том, как представлять поверхность в памяти, или о способе вывода на экран так, чтобы у пользователя создалось ощущение объёма?


--------------------
qqq
PM WWW   Вверх
pushok
Дата 4.2.2008, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



второй вариант. о том как вывести на экран чтобы у пользователя создалось впечатлдение объема.

вчера сидел, подумал, что можно попробовать построить так, как учили строить поверхности на Алгебре и Геометрии = )

но проблема вот в чем: там, в тетрадочке, меня совершенно не волновал вопрос о том как представить изогнутую линию, ведь я рисовал не по точкам. А в компьютере только два направления X и Y. Т.е. надо придумывать как строить кривые линии. 
Почему-то мне кажется это уже придумано. Но я пока додуматься немогу. Возможно прийдется иметь дело с кривизной кривой, или чем-то подобным, но пока понять немогу.

В ссылках в закрепленных темах, нашел только про построение эллипсов. Про линии ничего не нашел.
PM ICQ   Вверх
PPS05
Дата 4.2.2008, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(pushok @  4.2.2008,  12:27 Найти цитируемый пост)
Почему-то мне кажется это уже придумано.


Да. Типично, кривые представляются в виде последовательных прямых отрезков, поверхности - треугольниками (их радость в том, что их представление из 3D в 2D всегда треугольник и его легко нарисовать). Значит, остается придумать, как найти положение точки на экране, которая имеет известные координаты в виртуальном трехмерном мире. Для этого изпользуются так называемые матрицы преобразования. Почитай про них - информации много.

P.S. Чтобы отсечь невидимые точки (т.е. заслоняемые другими) используется метод Z-буфера. Про него тоже много чего написано.


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

maxim1000

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


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

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


 




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


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

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