LINUX.ORG.RU

Программирование вращающихся кубиков и прочих гаек


0

0

Страшный оффтопик, но уж, извините, безвыходное положение. Задали, понимаешь, программировать сабж. Да без всяких честных библиотек, а самим писать все 3д преобразования. В связи с этим вопрос: какие-н. ссылки, где есть хорошие книжки в *.тхт по основам программирования графики (а то сунулся по поиску, везде один DirectХ), примеры программ (желательно на С, но сгодится и Паскаль), вобщем, понятно). Спасибо.


Re: Программирование вращающихся кубиков и прочих гаек

Вот нашел, очень часто поминаются: "Вычислительная геометрия и компьютерная графика на С++" Майкл Ласло, "Программирование графики" Майкл Абраш, но самих текстов нет. Если у кого-нибудь есть или знает где взять, будь другом, отзовись.

shumer ()

Re: Программирование вращающихся кубиков и прочих гаек

Искать тебе DEMO.DESIGN FAQ. Ну и, конечно же, учебник по аналитической геометрии и линейной алгебре (рекомендую Беклемишева).

Antichrist ()

Re: Программирование вращающихся кубиков и прочих гаек

http://www.neutralzone.org/home/faqsys/
Полно всякого добра, но чегой-то у меня сейчас не заводится. Может временно?

anonymous ()

Re: Программирование вращающихся кубиков и прочих гаек

Первый раз пришлось переносить программу написанную под Windows на Linux, не думал, что возникнит столько проблем! Первым делом я переопределил функции и стандартные типы, не поддерживаемые в Linux: #define AnsiString string; функции обработки имен файлов, получающие параметрами AnsiString в .h файле, заинклудил его ко всем .h файлам. Полученная программа откомпилирована под Borland Builder C++ 5 в ANSI и прекрасно работает!!!! Под Linux творятся чудеса: 1. Все компилируется под g++ 2. не работает!!! 3. с помощью Emacs + gdb выясняется что игнорируется (не вызывается вообще) конструктор статической переменной класса. Breakpoin на эту функцию класса ставится, но отладчик туда не входит. В статической переменной - указатель на объект (т. е. глобальная переменная) память выделяется оператором new <Класс>. Причем для других статических переменных классов такой проблемы нет. 4. программа ухитряется зациклиться при передаче параметра типа AnsiString (string после переопределения) в другой конструктор! Причем, breakpoint до вызова останавливает выполнение, а breakpoint внутри конструктора ставится, но gdb виснет до него. 5. Не знаю как в частях программы работающих хорошо, но в этих функциях GDB неверно показывает строку выполнения (в Emacs)- на две - три строки ниже, чем фактически находится процесс. Это видно по инициализации переменных. Хочу подчеркнуть, что под Windows компилируются те же файлы за исключением, что функция access()(проверка прав доступа) берется из библиотеки io.h а не из unistd.h и все благополучно работает!

anonymous ()

Re: Программирование вращающихся кубиков и прочих гаек

Ключевое слово здесь - "Borland C++ Builder 5". Увы и ах. Он в некоторых частях сильно отошёл от сишных канонов, поэтому на него при переносе равняться не след. А "AnsiString" вообще, если не ошибаюсь, появился для совместимости с дельфями.

А воообще, я так понял, сообщение не туда попало...

hobbit ★★★★★ ()

Re: Re: Программирование вращающихся кубиков и прочих гаек

Наблюдения конечно интересные, но к чему они? Лучше б с книжками, про которые я говорил, помогли)) Правда в магазинах тоже кое-что есть. Сходил недавно на разведку, обнаружил "Программирование графики на примере OpenGL" (или близко к этому). Хорошая книжка, много теории, один недостаток - дорогая). Но, видимо, все равно куплю. Насчет проги: может проще было через Kylix попробовать??

shumer ()

Re: Re: Программирование вращающихся кубиков и прочих гаек

>Искать тебе DEMO.DESIGN FAQ. Ну и, конечно же, учебник по аналитической геометрии и линейной алгебре (рекомендую Беклемишева).

Видал я этого Беклемишева ;-) (я имею в виду автора а не книгу), слава богу ни разу к нему на эезаменах не попадал отвечать... ;-)))

sseREGa ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.