패키지flash.geom
클래스public class Utils3D
상속Utils3D Inheritance Object

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10, AIR 1.5

Utils3D 클래스에는 특정 3차원 행렬 연산의 구현을 단순화하는 정적 메서드가 들어 있습니다.

참고 사항

flash.geom.Matrix3D
flash.geom.Vector3D
flash.geom.Transform
flash.geom.PerspectiveProjection
flash.display.Graphics
flash.display.GraphicsTrianglePath
Vector


Public 속성
 속성다음에 의해 정의됨
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
 Inheritedprototype : Object
[정적] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
Public 메서드
 메서드다음에 의해 정의됨
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
  
pointTowards(percent:Number, mat:Matrix3D, pos:Vector3D, at:Vector3D = null, up:Vector3D = null):Matrix3D
[정적] 객체의 방향을 특정 위치 쪽으로 보간합니다.
Utils3D
  
[정적] 투영 Matrix3D 객체를 사용하여 한 좌표 공간에서 다른 좌표 공간으로 Vector3D 객체를 투영합니다.
Utils3D
  
projectVectors(m:Matrix3D, verts:Vector.<Number>, projectedVerts:Vector.<Number>, uvts:Vector.<Number>):void
[정적] 투영 Matrix3D 객체를 사용하여 3차원 좌표 공간의 Vector(verts)를 2차원 좌표 공간의 Vector(projectedVerts)로 투영합니다.
Utils3D
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
메서드 정보
pointTowards()메서드
public static function pointTowards(percent:Number, mat:Matrix3D, pos:Vector3D, at:Vector3D = null, up:Vector3D = null):Matrix3D

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10, AIR 1.5

객체의 방향을 특정 위치 쪽으로 보간합니다. pointTowards() 메서드는 Matrix3D.pointAt()Matrix3D.interpolateTo() 메서드의 기능을 결합합니다.

pointTowards() 메서드를 사용하면 제자리에서 방향을 수정할 수 있습니다. 이 메서드는 표시 객체의 Matrix3D를 분해하고 회전 요소를 대체하여 대상의 위치 쪽으로 일정 비율만큼 회전합니다. 객체는 자신의 방향에 따라 계속 이동하면서 대상 쪽으로 점차 회전할 수 있습니다. pointTowards()와 평행 이동 메서드를 연속으로 호출하면 이동하는 대상을 객체가 추적하거나 따라가는 애니메이션을 만들 수 있습니다. 이렇게 하려면 우선 객체를 대상 쪽으로 일정 비율만큼 회전시킨 다음 축을 따라 객체를 점진적으로 이동합니다.

매개 변수

percent:Number — 객체를 대상 쪽으로 회전할 점진적인 비율을 나타내는 0에서 1 사이의 숫자입니다.
 
mat:Matrix3D — 변형되는 객체의 Matrix3D 속성입니다.
 
pos:Vector3D — 대상 객체의 월드 기준 위치입니다. 월드 기준이란 모든 객체가 배치된 월드 공간 및 좌표를 기준으로 객체를 변형함을 뜻합니다.
 
at:Vector3D (default = null) — 표시 객체가 향하는 위치를 정의하는 객체 기준 벡터입니다. 객체 기준이란 객체 공간(객체의 자체 기준 틀 및 좌표계)을 기준으로 객체를 변형함을 뜻합니다. 기본값은 (0,0,-1)입니다.
 
up:Vector3D (default = null) — 표시 객체의 "위쪽"을 정의하는 객체 기준 벡터입니다. 위에서 내려다보며 객체를 그린 경우 "위쪽" 벡터는 +z축입니다. 객체 기준이란 객체 공간(객체의 자체 기준 틀 및 좌표계)을 기준으로 객체를 변형함을 뜻합니다. 기본값은 (0,-1,0)입니다.

반환값
Matrix3D — 두 번째 매개 변수에 지정된 Matrix3D 객체의 수정된 버전입니다. pointTowards() 메서드를 사용하여 표시 객체를 변형하려면 표시 객체의 Matrix3D 속성을 반환된 Matrix3D 객체로 설정합니다.

참고 사항

projectVector()메서드 
public static function projectVector(m:Matrix3D, v:Vector3D):Vector3D

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10, AIR 1.5

투영 Matrix3D 객체를 사용하여 한 좌표 공간에서 다른 좌표 공간으로 Vector3D 객체를 투영합니다. projectVector() 메서드는 Matrix3D.transformVector() 메서드와 비슷하지만, projectVector() 메서드는 원본 Vector3D 객체의 x, yz 요소를 투영 깊이 값으로 나눈다는 점이 다릅니다. 깊이 값은 뷰 공간이나 시야 공간에서 눈과 Vector3D 객체 사이의 거리입니다. 이 거리의 기본값은 z 요소의 값입니다.

매개 변수

m:Matrix3D — 투영 변형을 구현하는 투영 Matrix3D 객체입니다. 표시 객체에 PerspectiveProjection 객체가 있는 경우 perspectiveProjection.toMatrix() 메서드를 사용하여 표시 객체의 자식에 적용되는 투영 Matrix3D 객체를 만들 수 있습니다. 고급 투영을 구현하려면 matrix3D.rawData 속성을 사용하여 사용자 정의 투영 행렬을 만듭니다. 투영 Matrix3D 객체를 만드는 내장 Matrix3D 메서드는 없습니다.
 
v:Vector3D — 새 좌표 공간으로 투영되는 Vector3D 객체입니다.

반환값
Vector3D — 좌표 공간이 변형된 새 Vector3D입니다.

참고 사항

projectVectors()메서드 
public static function projectVectors(m:Matrix3D, verts:Vector.<Number>, projectedVerts:Vector.<Number>, uvts:Vector.<Number>):void

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10, AIR 1.5

투영 Matrix3D 객체를 사용하여 3차원 좌표 공간의 Vector(verts)를 2차원 좌표 공간의 Vector(projectedVerts)로 투영합니다. 투영된 Vector 객체는 미리 할당한 후 매개 변수로 사용해야 합니다.

projectVectors() 메서드는 t 값(uvt 데이터)도 설정합니다. 투영된 각 Vector 좌표 집합의 uvts 데이터를 보유할 수 있는 Vector를 미리 할당해야 합니다. uv 값(uvt 데이터)도 지정해야 합니다. uvt 데이터는 좌표가 정규화된 Vector이며 텍스처 매핑에 사용됩니다. UV 좌표에서 (0,0)은 비트맵의 왼쪽 위이고 (1,1)은 오른쪽 아래입니다.

이 메서드를 Graphics.drawTriangles() 메서드 및 GraphicsTrianglePath 클래스와 함께 사용할 수 있습니다.

매개 변수

m:Matrix3D — 투영 변형을 구현하는 투영 Matrix3D 객체입니다. Matrix3D.rawData 속성을 사용하여 투영 Matrix3D 객체를 만들 수 있습니다.
 
verts:Vector.<Number> — 숫자로 구성된 Vector이며, 여기에서 세 개의 숫자는 각각 3차원 공간의 x, yz 좌표를 나타냅니다. 예를 들면 Vector3D(x,y,z)와 같습니다.
 
projectedVerts:Vector.<Number> — 숫자로 구성된 벡터이며, 여기에서 두 개의 숫자는 각각 Point(x,y)와 같이 투영된 2차원 좌표를 나타냅니다. Vector를 미리 할당해야 합니다. projectVectors() 메서드는 투영된 각 점의 값을 채웁니다.
 
uvts:Vector.<Number> — 숫자로 구성된 벡터이며, 여기에서 세 개의 숫자는 각각 u, vt 요소(uvt 데이터)를 나타냅니다. uv는 투영된 각 점의 텍스처 좌표입니다. t 값은 투영 깊이 값(뷰 공간이나 시야 공간에서 눈과 Vector3D 객체 사이의 거리)입니다. Vector를 미리 할당하고 uv 값을 지정해야 합니다. projectVectors 메서드는 투영된 각 점의 t 값을 채웁니다.

참고 사항