| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование игр, графики и искусственного интеллекта > Компьютерная графика |
| Автор: Hidrag 26.12.2006, 23:28 |
| Такая вот задача, нужно нарисовать фигуру в 3D, директХ и ОпенГл применять запретили Фигура вертится, а вывод полигонов всегда в одном и том же порядке а из за этого коллизии... Не подскажете какую-нибудь литературу по теме или конкретно по проекту. Проект вместе с экзешником в архиве (MS Visual C# Express Edition). |
| Автор: Bitter 27.12.2006, 00:26 |
| Вообще-то есть такая книга: OpenGL. Программирование компьютерной графики. Для профессионалов. - СПб.: Питер, 2002. - 1088с.: ил. так вот, эту книгу скорее надо было назвать "3D своими руками", поскольку про OpenGL там ОЧЕНЬ мало (а страниц, как вы уже догадались, >1000). В книге подробно описаны все внутринности 3D движка. И как отсечения делать, и проекции на экран, и аффинные преобразования, и трассировка луча и ..... В основном математика и алгоритмы. Всё на с++. |
| Автор: Hidrag 27.12.2006, 21:40 |
| Спасибо! Попробую найти в электронном варианте. Покупать бумажную книгу ради зачета не хочется |
| Автор: PoloS 29.12.2006, 10:51 |
| Компьютерная графика. Учебное пособие. Автор: Виктор Порев Издатель:bhv Есть все, что тебе может понадобится для "чистого" 3D. От алгоритмов, до реализации на чистом WInApi под C++ |
| Автор: DragonFire 30.12.2006, 10:47 |
А тоже самое на Delphi не подскажите, извиня.сь за офф топ... |
| Автор: DENNN 30.12.2006, 12:53 |
| DragonFire, тебя должна интересовать теория. А она в сущности одна - за много лет найдены наиболее приемлемые мат.решения для ЭВМ. |
| Автор: DragonFire 30.12.2006, 19:19 |
| Сейчас постараюсь изложить свою точку зрения: Теория чистая это конечно хорошо, но мне бы хотелось применить ее на практике. И очень часто написанный тобою алгоритм по теории не является рабочим, из-за какой-нибудь мелочи технической или глупой ошибки. Для этого всегда хорошо иметь под ругой хорошшие примеры, где можно посмотреть рабочий алгоритм. Вот поэтому спрашиваю) |
| Автор: Bitter 31.12.2006, 00:56 | ||
та книга, которую я написал,
содержит как словесное описание алгоритмов, так и реализованных на с++. Соответственно, читая их словесное описание, реализуешь на Delphi. Я сам пишу на Delphi и все алгоритмы реализовываю именно таким образом. |
| Автор: DragonFire 31.12.2006, 11:13 |
| А автор кто? |
| Автор: Bitter 31.12.2006, 14:19 |
| автор Френсис Хилл |
| Автор: Bitter 31.12.2006, 19:06 |
| Именно эта книга. Качайте, не пожалеете. |
| Автор: Hidrag 26.1.2007, 00:19 |
| Ни как не могу сообразить, кто знает подскажите... фигуру рисую полигонами, так как фигура вращается, то полигоны которые находятся сздаи выводить не нужно или выводить первыми чтобы последующие перекрыли их в нужном порядке, как это спрограммировать, какой алгоритм здесь? Не я же первый и единственный это делаю... выше прикоепленный проект на C#, есть похожий на Java только там фигура другая, но проблема таже... |
| Автор: arilou 26.1.2007, 00:42 |
| сортировать по удаленности от юзера и рисовать с конца списка |
| Автор: Hidrag 26.1.2007, 10:09 |
| arilou, Логично, но как высчитать эту удаленность от юзера? По идее удаленность должна определяться осью Z, но координаты точек полигона состоят из координат только X и Y, координата Z как такавая в процессе рисования не учавствует, она и спользуется только для расчета координат X и Y. Есть 6 полигонов, каждый полигон состоит из 4 точек, на экране они отображают "Куб", полингоны лежат в массиве и в цикле рисуются... как вычислить какой из них "дальше" а какой "ближе" к юзеру? |
| Автор: $tatic 26.1.2007, 14:30 |
| Для куба оптимальным будет алгоритм отсечения невидимых граней. Он в случае выпуклого многогранника достаточен. |
| Автор: Hidrag 26.1.2007, 14:32 |
| Благодаря $taticу и его отлчному знанию теории задача была решена! |
| Автор: arilou 28.1.2007, 00:52 |
| Hidrag, так Z-координата у тебя ж и так есть, пусть она и не используется для рисования, но для рассчетов-то она используется. Вот по ней и сортировать... |
| Автор: Elfet 5.7.2007, 09:10 |
| Ф.Хилл 'OpenGL. Программирование компьютерной графики' Кто-нибудь делал тематическое задание 7.4? Если да, дайте посмотреть |