![]() |
|
|
![]()
|
|
| pushok |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 7.2.2007 Репутация: нет Всего: нет |
Ребят. Сижу не могу понять как строятся поверхности (студент лаб. работа)
Нашел пример построения поверхности по точкам. Т.к. по точкам строится достаточно долго. Получается конечно красиво, но никак не могу понять полностью, а объяснить уж тем более не смогу. Может кто-нибудь знает способ по проще. Мне хотя бы сам алгоритм знать, а его я как-нить уж опишу (учусь на Delphi, но в принципе здесь можно и на словах) поверхность по-моему такая 2z = x*x/p + y*y/q (p,q>0) но это даже не так важно. Мне интересно как вообще строятся любые поверхности на двумерной плоскости (т.е. экране) заранее спасибо. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
вопрос в том, как представлять поверхность в памяти, или о способе вывода на экран так, чтобы у пользователя создалось ощущение объёма?
-------------------- qqq |
|||
|
||||
| pushok |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 7.2.2007 Репутация: нет Всего: нет |
второй вариант. о том как вывести на экран чтобы у пользователя создалось впечатлдение объема.
вчера сидел, подумал, что можно попробовать построить так, как учили строить поверхности на Алгебре и Геометрии = ) но проблема вот в чем: там, в тетрадочке, меня совершенно не волновал вопрос о том как представить изогнутую линию, ведь я рисовал не по точкам. А в компьютере только два направления X и Y. Т.е. надо придумывать как строить кривые линии. Почему-то мне кажется это уже придумано. Но я пока додуматься немогу. Возможно прийдется иметь дело с кривизной кривой, или чем-то подобным, но пока понять немогу. В ссылках в закрепленных темах, нашел только про построение эллипсов. Про линии ничего не нашел. |
|||
|
||||
| PPS05 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 6.11.2005 Где: Беларусь, Минск Репутация: нет Всего: 7 |
Да. Типично, кривые представляются в виде последовательных прямых отрезков, поверхности - треугольниками (их радость в том, что их представление из 3D в 2D всегда треугольник и его легко нарисовать). Значит, остается придумать, как найти положение точки на экране, которая имеет известные координаты в виртуальном трехмерном мире. Для этого изпользуются так называемые матрицы преобразования. Почитай про них - информации много. P.S. Чтобы отсечь невидимые точки (т.е. заслоняемые другими) используется метод Z-буфера. Про него тоже много чего написано. -------------------- Ушел с форума и не вернулся. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |