Plane¶
麻状平面。
描述¶
平面表示标准化的平面方程。基本上,“法线”是平面的法线(a、b、c归一化),而“d”是原点到平面的距离(在“法线”方向)。“上方”或“上方”平面被认为是法线指向的平面一侧。
教程¶
属性¶
|
||
|
||
|
||
|
||
|
方法¶
center ( ) |
|
distance_to ( Vector3 point ) |
|
get_any_point ( ) |
|
intersect_3 ( Plane b, Plane c ) |
|
intersects_ray ( Vector3 from, Vector3 dir ) |
|
intersects_segment ( Vector3 begin, Vector3 end ) |
|
is_equal_approx ( Plane plane ) |
|
is_point_over ( Vector3 point ) |
|
normalized ( ) |
|
常量¶
PLANE_YZ = Plane( 1, 0, 0, 0 ) --- 在 Y 轴和 Z 轴上延伸的平面(法向量指向 +X)。
PLANE_XZ = Plane( 0, 1, 0, 0 ) --- 在 X 轴和 Z 轴上延伸的平面(法向量朝向 +Y)。
PLANE_XY = Plane( 0, 0, 1, 0 ) --- 在 X 轴和 Y 轴上延伸的平面(法向量朝向 +Z)。
属性说明¶
float d
Default |
|
从原点到平面的距离,沿normal方向。这个值通常是非负的。
在平面ax + by + cz = d
的标量方程中,这是d
,而(a, b, c)
坐标由normal属性表示。
Vector3 normal
Default |
|
平面的法线,必须归一化。
在平面ax + by + cz = d
的标量方程中,这是向量(a, b, c)
,其中d
是d属性。
float x
Default |
|
平面的normal向量的X分量。
float y
Default |
|
平面的normal向量的Y分量。
float z
Default |
|
平面的normal向量的Z分量。
方法说明¶
根据四个参数创建一个平面。产生的平面的 normal 的三个分量是 a
、b
、c
,并且平面与原点的距离为d
。
根据顺时针顺序给出的三个点创建一个平面。
从法线和平面到原点的距离创建一个平面。
Vector3 center ( )
返回平面的中心。
返回从平面到位置point
的最短距离。
Vector3 get_any_point ( )
返回平面的中心。
此方法已被废弃,请使用center代替。
如果point
在平面内,则返回true
。比较使用自定义的最小epsilon』
ε 阈值。
返回三个平面b
,c
与该平面的交点。如果没有找到交集,则返回null
。
返回由位置from
和方向法线dir
组成的射线与该平面的交点。如果没有找到交点,则返回null
。
返回从位置begin
到位置end
的线段与这个平面的交点。如果没有找到交点,则返回null
。
通过在每个组件上运行@GDScript.is_equal_approx,如果此平面和plane
近似相等,则返回true
。
如果point
位于平面上方,则返回true
。
Plane normalized ( )
返回平面的一个标准化副本。
返回点
在平面上的正交投影。