Ads
Comments 61
Как-то все поверхностно. Матбаза не выходит за рамки первого семестра первого курса произвольного технического вуза. Я надеялся, что хоть про кватернионы человек поведает с той же степенью детальности, а он отделался «Извините, сам фишку не секу» и свалил.
Возможно, для кого-то этот материал и кажется поверхностным. Но вот в образовательных школах, ИМХО, так учить алгебру было бы гораздо привлекательнее.
В среднеобразовательных школах не учат линейную алгебру (по крайней мере в моей). А вот на первом курсе фин универа учат =)
Начала т.н. «линейки» — геометрия 9-го класса среднеобразовательной школы (по крайней мере в Украине).
Как вы учили ФИЗИКУ? Нет преподаватели разные бывают, но механика без векторов… Я в шоке.
ЗЫ. Ну и очевидно — личный опыт не универсален.
Статья имхо ни о чем — все сведения не выходят за рамки 1го курса института. Изложено конечно хорошо, но зачем?

Для гумантирария решившего внезапно заняться геймдевелопментом — будет полезнее взять книжку по линейной, векторной алгебре и аналитической геометрии. Там все это есть (и много чего еще).
> Статья имхо ни о чем — все сведения не выходят за рамки 1го курса института.

У меня первый курс института был 11 лет тому назад. С тех пор линейная алгебра не понадобилась практически ни разу (ну, векторы — уж точно).

Если я вдруг решу заниматься игроделанием, то такой вот обзор мегаполезен для того, чтобы освежить все это в памяти.
Статеек такого уровня вагон и маленькая тележка. А если первый курс был давно и вспомнить хорошие книги по линейке трудно, то берётся книга, например «Интерактивная компьютерная графика. Вводный курс на базе OpenGL» Эдварда Эйнджела, где всё это расписано (есть раздел по математике) и значительно лучше. И пощупать на реальной программке можно. Описание книги немного ориентировано на UNIX системы, но перенести на Windows несложно, потому что в примерах используется GLUT.
В этой статье даже не рассмотрены такие базовые вещи, как переход к 4-мерным векторам для единообразного описания вектора и точки в пространстве.
PS как переводчик автор поработал хорошо, но изначальная статья — не стоит внимания
И хорошо, что таких статей вагон и маленькая тележка. Именно для того, чтобы потом перейти к той же книге (или не переходить, если уже вспомнил) :)
С этим утверждением согласен, но как по мне данная статья (исходный материал) не блещет вообще ничем. Общие сведения сумбурны, детально не раскрыто.
Тут и так несколько экранов текста :) Детально потянуло бы на брошюру. А так — базовые сведения, и более-менее понятно, куда копать дальше.
А этот материал и вправду нужен? Может я не прав, но его вполне достаточно в интернете. И хороших книг достаточно. Одну из них я привёл.
PPS и да, лёгкое упоминание о 4-й компоненте с неясным утверждением, что к вектору добавляется 1 — это не объясненние перехода
Тем более, что для вектора 0, а 1 — это точка, поэтому при переносе вектор не меняется, а точка меняется, далее логично при сложении 2-х векторов получается вектор 0+0=0, а при сложении вектора с точкой — точка 0+1=1, при сложении двух точек — НЁХ — 1+1=2, а выпуклая комбинация любого количества точек — снова точка.
Да никто не будет так читать в школах — во-первых, не все учителя математики в школах смогут это осилить, во-вторых, не все ученики вообще сколь-нибудь интересуются математикой. Поэтому максимум в технических лицеях такое можно изучать и, возможно, изучается. А в университете — на первом курсе такое учится и так.
Удивлён, что комментарий заминусовали.
Пробежался глазами по заголовкам. Половину упомянутого рассказывали в школе, «матрицы» — первый курс института.
Хабр забит гуманитариями?

Про кватернионы и вращения в английской википедии неплохо написано. Книжку не посоветую: сам учил по сложной.
Вы знаете, для многих закончивших технические вузы и это черезчур много. :) Так что все OK. Когда человек созреет, возьмет серьезные книжки.
Вот-бы нам так вышку в универе читали — с мартышками и стражниками. А то такая нудятина была…
Согласен, сейчас как раз изучали аналитическую геометрию, ох как приятнее было бы с использованием таких примеров.
> Эйлеровские углы представляют собой другой способ вращения, заключающийся в трёх вложенных вращениях относительно осей X, Y и Z.
Углы Эйлера это три последовательных поворота вокруг OZ, потом OX, и в конце опять вокруг OZ. Удобно описывать и строить матрицы направляющих косинусов, но такая схема имеет проблему "Gimball Lock"

И вообще тема поворотов не раскрыта… Как строится матрица конечного поворота (элементарная и совокупная по трем поворотам)? Где уравнения перехода от одной системы координат в другую? Каково физический (геометрический) смысл элементов матрицы направляющих косинусов?
Почитал еще раз посты в сети…
Формулировки расхожие. В одних источниках вообще все схемы поворотов называют «Эйлеровскими углами», в других только такие схемы, где первый и третий повороты осуществляются вокруг осей с одним и тем же индексом, а второй вокруг одной из двуйх оставшихся осей. В третьих источниках «Эйлеровской» называют совершенно конкретную схему.
Есть еще так называемая схема углов «Эйлера-Крылова», в которой все три поворота осуществляются вокруг разных осей.
Как ни странно, я — автор статьи по ссылке.

Могу попробовать ответить на вопросы, если у кого возникнут :)
К сожалению алгебру невозможно изучить вот так — по кейс-стади. То-есть соответствующий раздел всегда хорошо проиллюстрировать практикой. Но роль алгебры в разработке игр идет куда дальше, чем «по-вращать».
По примерам невозможно изучить ни одну научную дисциплину, да и с ненаучными тоже не всё слава богу.

Лично для меня, это шпаргалка, которая может быть полезной.
Не согласен, в статье показано, каким образом можно применить теоретическую работу с векторами, пусть даже в Декартовой системе координат — эти простые примеры хорошо демонстрируют и ассоциации возникают, а запоминать формулы с ассоциациями гораздо проще, чем сплошную теорию.
Там где «куда дальше» — уже не алгебра, а серьезный матан и выше.
вот именно поэтому многие алгебру не знают, а те кто знали, позабывали большую часть.
Давно искал подобный материал, для усвоения и применения изученного в школе и универе. Большое спасибо за перевод!
когда писал свою первую игру потратил месяц на повторение всего что связано в линейной алгеброй и геометрией и пытался найти применение этому… если бы тогда была такая статья я бы сэкономил кучу времени, для новичков очень полезно для понимания и старта!
Самый смак — это когда сначала поиграешься с 3D-графикой и векторным кун-фу на компьютере, а потом приходишь на лекции по аналитической геометрии и линейке. Вот тогда теория идеально ложится в мозг.
После геймдева первый курс любого технического вуза заходит с восторгом и чистым понимаем. Матан + аналит после графики, физика (теор. мех) после копания с любой физической либой. Благодаря геймдеву был отличником на первых курсах.
Спасибо. То что надо. Как раз надумал игру писать на OpenGL и литиратуру искал. А тут такое нашел)
Внимательно прочитайте предыдущие комментарии. Это основа для 9-10 классников, а не серьёзное пособие. Мне оно пригодится как учителю, а вот разработчику реальной игры — вряд ли.
Оно может помочь хотя бы вспомнить, как это все называется, если универ был лет нцать тому назад :)
UFO landed and left these words here
Спасибо за перевод. Американцы очень хорошие популяризаторы. Первая часть статьи вообще идеально ложится для школьного урока.
Да уж… Когда в школе и в универе пичкали нас всем этим, помню, постоянно находились те, кто ворчал «Ну нафик это вообще нужно? Ну как это мне в жизни пригодится?». Но не нашлось ни одного преподавателя, который бы сказал «А вот для чего, например!». :)
Тот кто так ворчит, скорее всего, и не будет этим пользоваться, а универ нужен «ради корочки».
Тот кто жадно поглащает эти знания, сможет в итоге превратить их и в $, и в интерес.
Вы как хотите, а мне полезно. Даешь больше таких статей! А то раздел забит сплошными историями успеха…
> Даешь больше таких статей!
Согласен… но только не скопипащенных с одного источника и проверенных на практике. А то баги копируются, заблуждения наслаиваются…
UFO landed and left these words here
UFO landed and left these words here
А по прикладной тригонометрии шпаргалка есть?
А то иногда надо запрограммировать вращение какое-то, и начинаешь с нуля все функции выводить.
Все вещи шпаргалками не охватить.

К примеру, если захотите найти нормаль в точке кривой, заданной функцией, понадобится вспоминать производные :)
Спасибо за перевод, интересно. ХОть и пишут что фигня, и все в школе изучается, а спустя цать лет самое оно вспомнить основы и найти в комментах направления для дальнейшего копания :)
-1*(0.66,0.75) + -1*(-0.75, 0.66) = (0.1, -1.4)
по всем показателям должно получиться (-1.4, 0.1)
Спасибо за статью, мучаюсь с этим в Unity, теперь намного понятнее.
UFO landed and left these words here

"Если мы поворачиваем на 49 градусов, то новая координатная ось X будет получена путём поворота вектора (0, 1) на 49 градусов, а новая координатная ось Y будет получена путём поворота вектора (0, 1) на 49 градусов"
Может, вектора (1,0) для Х? А не (0,1)

Не уловил, почему эта статья у меня в новостях упала =) Старая ж, в закладках года как три минимум =)
Only those users with full accounts are able to leave comments. Log in, please.