Math - stingray.Math 네임스페이스 참조 - Stingray Lua API 참조

stingray.Math 네임스페이스 참조

설명

Math 오브젝트에는 유용한 일부 일반 수학 함수가 포함됩니다.

함수

매개변수

pose :

stingray.Matrix4x4

상자 중심의 위치 및 회전입니다.

half_dimensions :

stingray.Vector3

로컬 오른쪽, 위쪽 및 앞쪽 축을 따라 상자 중심에서 표면 중심까지의 거리입니다.

frustum_planes :

any(stingray.Vector3, number)*

Vector3number 매개변수, 절두체 평면의 외부를 가리키는 법선 벡터 및 이 법선을 따라 평면의 위치에 있는 숫자의 쌍으로 절두체 평면 6개를 이룹니다.

any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다.
* 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다.

frustum_planes :

any(stingray.Vector3, number)*

가까운 평면이 ABCD, 먼 평면이 EFGH, 측면 가장자리가 AE, BF, CG, DH가 되도록 절두체의 모서리 8개가 순서대로 제공됩니다.

any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다.
* 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다.
반환하는 항목

boolean

상자가 완전히 절두체 내부에 있거나 이를 교차하는 경우 true를, 완전히 외부에 있는 경우 false를 반환합니다.

절두체는 8개의 모서리와 6개의 평면으로 지정되며, 각각은 평면의 법선(절두체에서 바깥쪽을 향함)을 정의하는 Vector3 값과 이 법선을 따르는 평면의 위치를 지정하는 부동의 쌍입니다.

매개변수

pose :

stingray.Matrix4x4

상자 중심의 위치 및 회전입니다.

half_dimensions :

stingray.Vector3

로컬 오른쪽, 위쪽 및 앞쪽 축을 따라 상자 중심에서 표면 중심까지의 거리입니다.

n :

stingray.Vector3

절두체의 한 평면에서 절두체의 바깥쪽을 향한 법선입니다.

o :

number

법선 n을 따르는 절두체 평면의 위치입니다.

additional_planes :

any(stingray.Vector3, number)*

no와 유사한 Vector3number 매개변수 쌍을 더 추가하여 추가 절두체 평면을 설정할 수 있습니다.

any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다.
* 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다.
반환하는 항목

boolean

상자가 절두체 내에 완전히 들어가면 true를, 그렇지 않으면 false를 반환합니다.

절두체는 일련의 평면들로 지정되는데, 각 평면은 평면의 법선(절두체에서 바깥쪽을 향함)을 정의하는 Vector3 값과 이 법선을 따르는 평면의 위치를 지정하는 부동의 쌍입니다. 이 쌍은 절두체의 여러 평면을 설정하는 데 필요한 만큼 얼마든지 지정할 수 있습니다.

매개변수

inputs :

number*

테스트하려는 모든 숫자 값입니다.

* 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다.
반환하는 항목

boolean

모든 입력이 유효한 숫자인 경우 true를, 어느 구성요소가 #NaN 또는 #INF인 경우 false를 반환합니다.

매개변수

pose :

stingray.Matrix4x4

상자 중심의 위치 및 회전입니다.

half_dimensions :

stingray.Vector3

로컬 오른쪽, 위쪽 및 앞쪽 축을 따라 상자 중심에서 표면 중심까지의 거리입니다.

additional_boxes :

any(stingray.Matrix4x4, stingray.Vector3)*

posehalf_dimensions와 유사한 Matrix4x4Vector3 매개변수 쌍을 더 추가해 병합할 상자를 추가로 설정할 수 있습니다.

any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다.
* 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다.
반환하는 항목

stingray.Matrix4x4

병합된 상자의 위치 및 회전입니다.

stingray.Vector3

로컬 오른쪽, 위쪽 및 앞쪽 축을 따라 병합된 상자 중심에서 표면 중심까지의 거리입니다.

각 상자는 그 위치 및 회전에 관한 Matrix4x4와 그 치수에 관한 Vector3 값의 쌍을 통해 지정됩니다. 이 쌍은 필요한 만큼 얼마든지 제공할 수 있습니다.

결과로 생성되는 상자는 입력 내 첫 번째 상자와 같은 축을 보유하게 됩니다. 즉, 이 함수는 최소 둘러싸는 경계 상자를 반환하지 않습니다.

매개변수

seed :

integer

난수를 생성하는 데 사용되는 시드입니다.

first_bound :

integer?

생성된 수에 대한 첫 번째 경계입니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

second_bound :

integer?

생성된 수에 대한 두 번째 경계입니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.
반환하는 항목

integer

새 시드 값입니다.

number

생성된 난수입니다.

재현할 수 있는 일련의 난수를 쿼리하려면 stingray.Math.random() 대신 이 함수를 사용하십시오.

  • 아무 매개변수도 지정하지 않으면 생성되는 수가 0에서 1 사이의 부동 소수점 값이 됩니다.
  • first_bound만 지정하면 생성되는 수가 1에서 first_bound(포함) 사이의 정수가 됩니다.
  • first_boundsecond_bound를 모두 지정하면 생성되는 수가 first_boundsecond_bound(포함) 사이의 정수 값이 됩니다.
매개변수

point :

stingray.Vector3

테스트할 점입니다.

pose :

stingray.Matrix4x4

상자 중심의 위치 및 회전입니다.

half_dimensions :

stingray.Vector3

로컬 오른쪽, 위쪽 및 앞쪽 축을 따라 상자 중심에서 표면 중심까지의 거리입니다.

반환하는 항목

boolean

점이 상자 내에 위치하면 true를, 그렇지 않으면 false를 반환합니다.

매개변수

first_bound :

integer?

생성된 수에 대한 첫 번째 경계입니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

second_bound :

integer?

생성된 수에 대한 두 번째 경계입니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.
반환하는 항목

number

생성된 난수입니다.

이 함수는 표준 Lua math.random() 함수와 똑같이 작용하며, 단 이 함수는 표준 Lua 난수 생성기 대신 Stingray에 내장된 난수 생성기를 사용한다는 점만 다릅니다.

  • 아무 매개변수도 지정하지 않으면 생성되는 수가 0에서 1 사이의 부동 소수점 값이 됩니다.
  • first_bound만 지정하면 생성되는 수가 1에서 first_bound(포함) 사이의 정수가 됩니다.
  • first_boundsecond_bound를 모두 지정하면 생성되는 수가 first_boundsecond_bound(포함) 사이의 정수 값이 됩니다.
매개변수

from :

stingray.Vector3

광선의 시작점입니다.

dir :

stingray.Vector3

광선의 방향입니다.

pose :

stingray.Matrix4x4

상자 중심의 위치 및 회전입니다.

half_dimensions :

stingray.Vector3

로컬 오른쪽, 위쪽 및 앞쪽 축을 따라 상자 중심에서 표면 중심까지의 거리입니다.

반환하는 항목

number

광선이 상자 내부에서 시작되는지, 아니면 외부에서 시작되는지에 관계없이 광선의 시작점으로부터 상자 표면과의 첫 번째 충돌 지점까지의 거리입니다. 광선이 상자와 충돌하지 않으면 -1을 반환합니다.