Разработчики OpenGL никогда не боялись математики, и знание линейной алгебры важно для всех кроме самых простых приложений OpenGL. Я думаю, что можно безопасно предположить, что программисты OpenGL знакомы с углами в радианах.
Математически, радианы более изящны, чем градусы во всех отношениях. У них также есть практические преимущества:
Да ведь тогда, сделал разработчиков OpenGL, решают определить функции как glRotatef
и gluPerspective
использовать градусы?
(Я знаю, что это не имеет практического значения, и это не собирается изменяться так или иначе. Мне просто любопытно, и я не мог найти ответ на OpenGL.org.)
Потому что обычные люди больше привыкли к вычислениям степеней -- OpenGL предназначен для простого использования. Обратите внимание, что все функции, которые работают на градусах, являются функциями "высокого уровня".
Для самой OpenGL не имеет значения, принимает она радиан или градус - они все равно внутренне преобразуются в матрицы преобразования, так что нет вычислительного выигрыша от использования той или иной.
Так зачем усложнять людям задачу, если можно позволить им использовать градусы? Любой человек, серьезно кодирующий в OpenGL, в любом случае предоставит свои собственные матрицы, вычисленные из кватернионов.
В том же духе мы могли бы спросить, почему в любом случае glRotatef
и gluPerspective
, так как матрицы более элегантны во всех отношениях, и позволяют более высокий уровень контроля.
Точка за точкой:
Также обратите внимание: все функции, использующие углы, в текущем стандарте (3.2) устарели. glRotatef
- это функция только , использующая градусы, или вообще угол. glu является утилитной библиотекой, не предназначенной для развертывания в тяжелых условиях, поэтому она ориентирована на читабельность, а gluPerspective(... 60.0f...)
намного более читабельная и "стандартная" с точки зрения подачи FOV, чем gluPerspective( ... M_PI / 3.0f... )
.
Заключительные примечания:
.Можно использовать запрос GET Location Bucket . Скорее всего, ваше ведро в США.
-121--3171138-Как насчет использования dojo и dijit ?
Dijit - это быстрый способ создания виджетов и элементов. Он также поставляется с 3 темами по умолчанию, которые легко изменить.
Хороший список различных виджетов здесь
-121--774238-Код проще в чтении, он облегчает кривую обучения для новичков и позволяет быстро взломать.
Как уже сказано - степени ИМЕЮТ преимущество - люди лучше привыкли к степеням, сравните: 0,78539816339744830961566084581988... до 45 градусов, например :/.
Для расширенного использования OpenGL в любом случае предоставляются собственные матрицы.
Ну, что происходит в большинстве случаев, состоит в том, что вы используете математику для преобразования от радианов на градусы и обратно к радианам. Я согласен с большинством того, что было сказано предыдущими удивительными плакатами.
Это больше читаемого человека.
Я бы сказал, что поскольку OpenGL был разработан с учетом конечного пользователя, были использованы градусы, потому что можно указать важные углы ( 90
, 180
, 270
...) только с целыми числами, и поэтому нет необходимости в плавающей точке Constance GL_PI
.