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

maxRange

概述

maxRange是Yuka js库中FuzzyVariable类的一个参数,用于设置模糊集合的最大范围。

语法

const variable = new FuzzyVariable(name, minimum, maximum);
variable.maxRange = value;

参数

  • value:一个数字,表示模糊集合的最大范围。

描述

maxRange参数用于控制模糊集合的范围,也就是将输入的值转化为一个取值范围内的模糊值。对于一个输入值,如果它小于minimum,那么它的模糊值为0;如果它大于maximum,那么它的模糊值也为0;如果它在minimummaximum之间,那么它的模糊值就根据模糊集合进行计算。

例如,在模糊集合cold中,如果maxRange为1,则0到1之间的所有值都将被认为是“有点冷”,1到2之间的所有值都将被认为是“很冷”,以此类推。

示例

const temperature = new FuzzyVariable('temperature', 0, 100);
const cold = temperature.addLeftShoulderSet('cold', 20, 40);
cold.maxRange = 1;

console.log(cold.calculateDOM(30)); // 1
console.log(cold.calculateDOM(55)); // 0

在这个例子中,我们创建了一个温度变量,并添加了一个左肩集合cold,设置其最大范围为1。对于输入值30,它在20到40的范围内,因此其模糊值为1;而对于输入值55,它并不在20到40的范围内,因此其模糊值为0。