ht.Math.Ray(origin, direction)

new Ray(origin, direction)

根据一个原点和一个方向向量创建一条射线

Parameters:
Name Type Attributes Description
origin ht.Math.Vector3 <optional>

射线原点,默认值为 { x: 0, y: 0, z: 0 }

direction ht.Math.Vector3 <optional>

射线方向,默认值为 { x: 0, y: 0, z: 0 }

Members

direction :ht.Math.Vector3

射线方向

origin :ht.Math.Vector3

射线原点

Methods

applyMatrix4(Matrix4) → {ht.Math.Ray}

使用所传入的矩阵 Matrix4 来对射线进行变换

Parameters:
Name Type Description
Matrix4 ht.Math.Matrix4
Returns:
ht.Math.Ray

at(distance, target) → {ht.Math.Vector3}

获得当前射线上给定距离处的 Vector3

Parameters:
Name Type Description
distance number
target ht.Math.Vector3

结果将复制到该向量中

Returns:
ht.Math.Vector3

clone() → {ht.Math.Ray}

返回一个与当前射线有相同 origin 和 direction 的射线

Returns:
ht.Math.Ray

copy(Ray) → {ht.Math.Ray}

将传入的射线中的 origin 和 direction 拷贝到当前射线

Parameters:
Name Type Description
Ray ht.Math.Ray
Returns:
ht.Math.Ray

intersectBox(Box3, target) → {ht.Math.Vector3}

将当前射线与一个 Box3 相交,并返回交点,若没有交点将返回 null

Parameters:
Name Type Description
Box3 ht.Math.Box3
target ht.Math.Vector3

结果将复制到该向量中

Returns:
ht.Math.Vector3

intersectPlane(plane) → {ht.Math.Vector3}

Parameters:
Name Type Description
plane ht.Math.Plane
Returns:
ht.Math.Vector3

intersectSphere(Sphere, target) → {ht.Math.Vector3}

将当前射线与一个 Sphere 相交,并返回交点,若没有交点将返回 null

Parameters:
Name Type Description
Sphere ht.Math.Sphere
target ht.Math.Vector3

结果将复制到该向量中

Returns:
ht.Math.Vector3

intersectTriangle(a, b, c, cull, target) → {ht.Math.Vector3}

将当前射线与一个三角形相交,并返回交点,倘若没有交点将返回 null

Parameters:
Name Type Description
a ht.Math.Vector3

向量a ,b ,c组成一个三角形

b ht.Math.Vector3
c ht.Math.Vector3
cull boolean

是否使用背面剔除

target ht.Math.Vector3

结果将复制到该向量中

Returns:
ht.Math.Vector3