veles |
Отправлено: 08.07.2004, 14:33 |
|
Не зарегистрирован
|
День добрый!
Существует задача для условно химического пакета программ:
Пользователь, работая с таблицей Менделеева, выбирает из неё атомы, которые отображаются на форме. Затем, проводит между атомами линии связи, формируя молекулы. Всё это надо сделать 3-х мерным с возможностью вращения на все 360 гр.
Вопрос: какую литературу, по основам 3=х мерного моделирования Вы могли бы порекомендовать, какие дополнительные модули и т.д. И вообще, что нужно почитать в первую очередь для решения подобной задачи. Пишу в 6-ой версии.
В MS Direct SDK 9.0 нашёл только OptimizedMech. Реально ли сделать на его основе аналогичное приложение отвечающее моим задачам?
Заранее спасибо. |
|
Father |
Отправлено: 08.07.2004, 16:32 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 17
|
Судя по описанию в задаче будет всего два типа объектов: сферы(атомы кот.(используя один из способов) создаются вызовом одной функции) и цилинды (связи между атомами, кот.(аналогично, используя один из способов) аналогично создаются вызовом одной функции).
Вращение и проч. движение камеры — дело нехитрое, нужно только векторную алгебру хорошо знать (в луюбом случае, придется выучить )
Самая хорошая лит-ра — Help из DirectX SDK for C++ — там и написано толково и примерчики есть... короче Microsoft 'марку держит'.
Модули:
1) сам DirectX SDK for C++
2) нужно будет раздобыть OMF'овские версии lib'ов для C++Builder'a (у меня, в принципе, из Инета есть и для DirectX 8.1 и для DirectX 9.0)
...это все если писать ручками на DX API.
Вариант второй — использовать готовые компоненты — ничего читать не придется, и все напишется на порядок быстрее, но и производительность, естественно, похуже будет. |
|
veles |
Отправлено: 08.07.2004, 16:51 |
|
Не зарегистрирован
|
Father, большое спасибо за ответ.
Хотелось бы уточнить.
1. DirectX SDK for C++ и MS DirectX SDK (допустим 9.0) это одно и тоже?
2. Насчёт "OMF'овских версий lib'ов". Линком не могли бы поделиться?
3. Читать придётца, поскольку это достаточно серьёзный проект (программа разрабатывается для кандидатской диссертации). Значит для вращения и т.д. берём книжку по векторам? Ок. Но это, как я понимаю математическая часть. А вот реализация уже на С++. Есть какие-либо материалы?
QUOTE | Вариант второй — использовать готовые компоненты — ничего читать не придется, и все напишется на порядок быстрее, но и производительность, естественно, похуже будет. |
Главное, чтобы собственным руками эту производительность не сделать похуже готовых компонентов:)
Ещё раз спасибо. |
|
Father |
Отправлено: 08.07.2004, 17:52 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 17
|
1.
Нет. В первом случае — ориентация только на C++; во втором про все (C++, VB, .Net,...) понемножку... Подробности здесь:
1) DirectX 9.0b Software Development Kit (SDK) for C/C++
2) DirectX 9.0 Complete Software Development Kit (SDK)
... различаются также объемом для скачки — 100Mb против 230Mb...
2. Не знаю, но я их нашел используя Yahoo для запросов типа "Borland DirectX libs". Впрочем, для DirectX 8.1 Lib'ы есть здесь.
3. Брать книжку по векторам (для исследования математической части) не обязательно — в SDK все хорошо и подробно написано, просто нужно хотя бы базовые представления иметь о данной области, чтобы въезжать в то, что в SDK написано...
По поводу C++... Так предполагается, что программист владеет этим инструментом (хотя бы на среднем уровне)...
QUOTE | Главное, чтобы собственным руками эту производительность не сделать похуже готовых компонентов:) |
Если перый раз придется программировать 3D графику, то с 95% вероятностью так и будет. Но 'ручками' все делать гораздо полезнее с той точки зрения, что это все может потом пригодиться...
Хотя с другой стороны (это я про производительность), судя по описанию, данный проект по сложности 3D вряд ли будет очень требователен к ресурсам, и вряд ли будет дотягивать до уровня графики в, скажем, Unreal Tournament или Half-Life 2... (это агрумент в пользу 'деланья ручками').
Хотя еще идея... Можно пользовать OpenGl — там 'деланье ручками' также несложно как прогр-е DirecX с помощью различных вспомогоательных компонент. |
|
.piero |
Отправлено: 08.07.2004, 21:10 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
http://www.opengl.org.ru/files/open_gl.zip — просто хорошая книга, но на нерусском написана.. вообщето я функции оттуда черпаю...
|
|
|