![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 36
|
Доброго времени суток! Как повернуть 2D матрицу, что бы она смотрела в направлении 2D вектора? Вопрос относится скорее к алгебре чем к AS3, но все же!
![]() |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 36
|
Например если вектор (0.70,0.70), то он повернут на 45° нужно, что бы и матрица была повернута на 45° Надо как то хитро подставить координаты вектора в матрицу.
[0.70 0.70 a b ] Вот a и b не знаю как найти. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 36
|
А нет ли способа по проще, без тригонометрии? Нельзя ли решить дело подстановкой?
|
|
|||||
|
Modus ponens
|
На сколько я понимаю, нет, да и быть не может, т.е. можно те же действия сделать по другому, например:
Но вам все равно нужно рассчитать угол, ну или зная, что значения в векторе можно воспринимать как катеты, то можно сразу же считать синус и косинус. Но сколько от этого будет профита - я не знаю.
__________________
Hell is the possibility of sanity |
|
|||||
|
коэффициенты матрицы это синусы/косинусы этого вектора, можно их напрямую считать и подставлять
только мне не кажется, что это проще Добавлено через 2 минуты wvxvw, угол можно и не считать, типа cos=x/sqrt(x^2+y^2) |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 36
|
Вот просветите, matrix и matrix3D как то по разному просчитываются? Я повернул обе матрицы на -90 градусов и получил неодинаковые результаты. Например, насколько я понимаю, второй элемент matrix3D(вторая цифра trace) эквивалентен с элементу matrix, но они имеют разные знаки!
Последний раз редактировалось Den_root; 21.06.2012 в 03:05. |
|
|||||
|
Регистрация: Jun 2012
Сообщений: 70
|
Цитата:
2d: ax, ay, 0 bx, by, 0 tx, ty, 1 или так, в терминологии as3 a, b, 0 c, d, 0 tx, ty, 1 3d: ax, ay, az, 0 bx, by, bz, 0 cx, cy, cz, 0 tx, ty, tz, 1 Вот и смотри, какие коэффициенты должны быть равны.
__________________
Блог: http://devizgl.blogspot.com/ Последний раз редактировалось vizgl; 21.06.2012 в 03:55. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 36
|
vizgl Так разве c и bx не должны быть равны?
2d: a, b, 0 c, d, 0 tx, ty, 1 3d: ax, ay, az, 0 bx, by, bz, 0 cx, cy, cz, 0 tx, ty, tz, 1 Я даже на бумажке, в ручную повернул и с должен быть -1 а,с это вектор оси х равный (1,0), при повороте его на -90 он будет равен (0,-1), но никак не (0,1) Это если для флешевского пространства координат где ось у направленна вниз. Последний раз редактировалось Den_root; 21.06.2012 в 14:21. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|