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

multiplyMatrices

multiplyMatrices 方法用于求解两个矩阵的乘积。在 Yuka.js 库的 Matrix3 类中实现。

语法

multiplyMatrices( a, b )

参数

  • aMatrix3 类型的对象,用于表示第一个矩阵。
  • bMatrix3 类型的对象,用于表示第二个矩阵。

返回值

一个 Matrix3 类型的新对象,表示第一个矩阵和第二个矩阵相乘的结果。

描述

两个矩阵相乘的基本原理就是:将第一个矩阵的每一行与第二个矩阵的每一列进行点积,然后将所得的结果填入一个新的矩阵中。新矩阵的行数等于第一个矩阵的行数,列数等于第二个矩阵的列数。

Yuka.js 的 Matrix3 类中通过 multiplyMatrices 方法实现了两个 $3 \times 3$ 的矩阵的乘积。具体实现的过程中,我们将 a 矩阵的列向量与 b 矩阵的行向量进行乘法运算,从而得到新矩阵中对应的元素。

示例

下面的示例展示了如何使用 multiplyMatrices 方法:

const a = new YUKA.Matrix3().fromArray([ 1, 0, 0, 0, 1, 0, 0, 0, 1 ]);
const b = new YUKA.Matrix3().fromArray([ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]);

const result = new YUKA.Matrix3().multiplyMatrices( a, b );

参考