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

terms

概述

Yuka.js库的 FuzzyFAIRLY 模块中的 terms 类提供了一种将模糊逻辑术语映射到项目特定值的方式。

此类别的主要目的是为了在 FuzzyVariable 类中,方便地指定术语名称和具体值之间的关系。

构造函数

constructor(name: string, a: number, b: number, c: number, d: number)

创建一个新的 terms 实例。

  • name:术语名称。
  • a:如下所示的下限值。
  • b:近似值的下限。
  • c:近似值的上限。
  • d:如下所示的上限值。

参数分布图示例

            /\ 
           /  \
          /    \
         /      \
--------a--------d-------------
         \      /
          \    /
           \  /
            \/
            b  c

属性

  • name: string - 术语名称。
  • a: number - 术语下限值。
  • b: number - 术语近似值下限。
  • c: number - 术语近似值上限。
  • d: number - 术语上限值。

方法

membershipDegree(x: number): number

计算指定值的术语成员资格度。

  • x:要确定其成员资格度的值。

toString(): string

返回表示术语的字符串。

示例

// 创建一个新的术语
const hot = new terms('hot', 90, 100, 100, 100);

// 计算成员资格度
const degree1 = hot.membershipDegree(95);
const degree2 = hot.membershipDegree(80);

console.log(degree1); // 0.5
console.log(degree2); // 0

参考