Показать сообщение отдельно
Старый 12.04.2009, 08:18
dump13 вне форума Посмотреть профиль Отправить личное сообщение для dump13 Найти все сообщения от dump13
  № 1  
dump13

Регистрация: Apr 2009
Сообщений: 30
По умолчанию Вопросы по Matrix3D

Сразу прошу извинить за нубизм, но с этим вопросом я парюсь не один день. Имеется вот такой простой класс:
Код AS3:
package main {
 
	import flash.display.Sprite;
	import flash.geom.Vector3D;
	import flash.geom.Matrix3D;
 
	public class MatrixTest extends Sprite {
 
		public function MatrixTest () {
			var mat1:Matrix3D=new Matrix3D ();
			var vec1:Vector3D=new Vector3D (1,1,1);
			trace ("Matrix rawData: "+mat1.rawData);
			trace ("Input vector:  "+vec1);
			vec1=mat1.transformVector (vec1);
			trace ("Output vector: "+vec1);
		}
	}
}
Что должно быть в output? Мне казалось, что mat1 - матрица идентичности и не изменяет векторы, к которым применяется. Однако вот что он мне выдает:
Код:
Matrix rawData: 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1
Input vector:  Vector3D(1, 1, 1)
Output vector: Vector3D(0.05000000074505806, 0.05000000074505806, 0.05000000074505806)
то есть все компоненты вектора vec1 делятся на двадцать. Объясните плиз мне балбесу, что к чему.