AABB
AlignmentBehavior
ArriveBehavior
AStar
BFS
BoundingSphere
BVH
BVHNode
Cell
CellSpacePartitioning
CohesionBehavior
CompositeGoal
ConvexHull
Corridor
CostTable
DFS
Dijkstra
Edge
EntityManager
EvadeBehavior
EventDispatcher
Behavior
FollowPathBehavior
FuzzyAND
FuzzyCompositeTerm
FuzzyFAIRLY
FuzzyModule
FuzzyOR
FuzzyRule
FuzzySet
FuzzyTerm
FuzzyVariable
FuzzyVERY
GameEntity
Goal
GoalEvaluator
Graph
GraphUtils
HalfEdge
HeuristicPolicyDijkstra
HeuristicPolicyEuclid
HeuristicPolicyEuclidSquared
HeuristicPolicyManhattan
InterposeBehavior
LeftSCurveFuzzySet
LeftShoulderFuzzySet
LineSegment
Logger
MathUtils
Matrix3
Matrix4
MemoryRecord
MemorySystem
MeshGeometry
MessageDispatcher
MovingEntity
NavEdge
NavMesh
NavMeshLoader
NavNode
Node
NormalDistFuzzySet
OBB
ObstacleAvoidanceBehavior
OffsetPursuitBehavior
OnPathBehavior
Path
Plane
Polygon
Polyhedron
PriorityQueue
PursuitBehavior
Quaternion
Ray
RectangleTriggerRegion
Regular
RightSCurveFuzzySet
RightShoulderFuzzySet
SAT
SeekBehavior
SeparationBehavior
SingletonFuzzySet
Smoother
SphericalTriggerRegion
State
StateMachine
SteeringBehavior
SteeringManager
Task
TaskQueue
Telegram
Think
Time
TriangularFuzzySet
Trigger
TriggerRegion
Vector3
Vehicle
Version
WanderBehavior

distanceToPoint

distanceToPointPlane 类中的一个方法。该方法用于计算平面到指定点的距离。

方法原型:

distanceToPoint(point: Vector3): number

参数:

  • point:类型为 Vector3 的对象,表示欲计算距离的点。

返回值:

  • 返回值为 number 类型的值,表示平面到指定点的距离。

使用示例:

const point = new YUKA.Vector3( 1, 2, 3 );
const plane = new YUKA.Plane();
const distance = plane.distanceToPoint( point );
console.log( distance );

以上示例代码创建了一个 point 对象(坐标为 (1, 2, 3)),以及一个空的 plane 对象,并调用了 planedistanceToPoint 方法计算该平面到 point 的距离,将结果输出到控制台。

方法解析:

distanceToPoint 方法的原理如下:

  • 获取平面的法线向量 normal 和平面上一点的位置 pointOnPlane
  • 根据点到平面的形式化定义,计算点到平面的有向距离(即点到与平面法线垂直的平面上的点的距离)。
  • 若点位于法线方向的正面,则距离为正;否则距离为负。

注意事项:

  • distanceToPoint 方法中的 point 必须为 Vector3 类型的对象。如传入其他类型参数,将抛出异常。
  • 在使用 distanceToPoint 方法之前,需要先创建一个 Plane 类型的对象,并设置好其法线向量 normal 和平面上一点的位置 pointOnPlane
  • 对于欲计算距离的点,需要先创建一个 Vector3 类型的对象,并设置其坐标。
  • 若平面与点重合,则返回的距离为 0。

参考资料: