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

getDegreeOfMembership

简介

getDegreeOfMembership 函数是 Yuka js 库中的模糊操作函数之一,用于计算一个元素在某个模糊集合中的隶属度。该函数基于模糊集合中的模糊语言变量,通过模糊化和隶属度计算,得出元素在模糊集合中的隶属度值。

语法

getDegreeOfMembership(element, fuzzySet)
  • element:要计算隶属度值的元素。
  • fuzzySet:模糊集合对象,包含模糊语言变量和隶属度函数。

返回值

返回元素在模糊集合中的隶属度值。隶属度值的范围在 0 到 1 之间,代表元素在模糊集合中的隶属程度。

示例

// 定义一个三角形模糊集合,表示温度较冷的程度
const coldSet = {
  trapezoid: false,
  leftShoulder: false,
  rightShoulder: false,
  triangle: true,
  start: 0,
  left: 0,
  right: 50,
  end: 100
};

// 计算温度为 20 度的隶属度值
const degree = getDegreeOfMembership(20, coldSet);
console.log(degree); // 输出 0.6,表示 20 度在该模糊集合中的隶属度为 0.6

注意事项

  1. getDegreeOfMembership 函数必须在 Yuka js 库中引入后才能使用。
  2. 模糊集合对象必须包含模糊语言变量和隶属度函数,并且必须是一个合法的模糊集合对象。
  3. 元素的类型必须与模糊集合中的模糊语言变量类型一致,否则将无法计算隶属度值。
  4. 隶属度值的范围在 0 到 1 之间,代表元素在模糊集合中的隶属程度,值越大表明元素越符合模糊语言变量的定义。