2013-09-24 2 views
0

Я чувствую, что Open GL (на Android, и вообще я предполагаю) не так дружелюбен ко мне. Это может быть API, но также я пропускаю некоторые математические навыки.Какие части математики мне нужны, чтобы понять 3D-программирование? (OpenGL)

Например, Vectors 3D, я знаю некоторую теорию (довольно мало) о них, но не понимаю четко практических ситуаций, в которых я должен их использовать.

Я в восторге от 3D-программирования, но с некоторыми довольно низкими математическими навыками (highschool) и некоторыми концепциями из факультета, я даже не знаю, какую математику мне нужно для этого.

Невероятно, если кто-то спросит меня, какая математика будет достаточной для 3D, я бы сказал, матрица, векторы, геометрия и тригонометрия.

Но я не знаю, где они находятся (Базовая алгебра, Исчисление и т. Д.).

Итак, может кто-нибудь, скажите мне, какие все понятия необходимы для понимания 3D-программирования, а также перечисляйте некоторые книги (начинающие) по каждой теме?

+0

Матрица/линейная алгебра (матричные преобразования) - это хорошее место для начала. – samosaris

+0

Исчисление имеет дело с тем, как все меняется. Для просто «графики», без движения, начните с геометрии. Линейная алгебра включает в себя уравнения и методы преобразования геометрических объектов (вращения, масштабирования, трансляции), и в то же время включает в себя «движение», это не в смысле скорости (т. Е. Исчисления). Для calc, вам понадобится, чтобы ваша алгебра погладила (полиномы, синусы/косинусы, ...). Возьмите курс Calc I, если сможете! – samosaris

+0

Для начала я предложил бы получить Visual Studio 20XY Express и использовать DirectX для начала работы, так как это поможет снизить технологические препятствия, которые могут помешать прогрессу (вы также можете легко получить библиотеки Visual Studio/C++/win32 OpenGL). Android - это зверь для разработки. – samosaris

ответ

1

Что вам нужно, чтобы узнать, зависит от того, что вам нужно делать.

Для векторных и матричных операций и систем координат вам необходимо Линейная алгебра. Это, вероятно, самая важная область математики.

The rendering equation и Phong shading Вам необходимо Тригонометрия и интегралы.

Для понимания растеризации необходимо интерполяция.

Если вы хотите определить 3d форму или текстуры математически некоторая полезная feilds из математики являются тригонометрии, кривые Безье, сплайнами, фрактальная математикой (в зависимости от того, какой формы вы хотите определить.

Для некоторого рендеринга эффекты, такие как bump mapping вам нужно частных производных.

также численный анализ полезен во многих случаях, чтобы понять, о точности в вычислениях, а также как реализовать некоторые виды операций эффективных LY.

Я уверен, что в зависимости от того, что вы хотите делать, есть намного больше, но это некоторые вещи, которые приходят на ум.

Смежные вопросы