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 ( )
返回平面的一个标准化副本。
返回点
在平面上的正交投影。