BufferGeometry
Object3D
Raycaster
Camera
CubeCamera
PerspectiveCamera
OrthographicCamera
StereoCamera
Clock
Curve
CurvePath
Path
Shape
ShapePath
ArrowHelper
AxesHelper
BoxHelper
Box3Helper
CameraHelper
DirectionalLightHelper
GridHelper
PolarGridHelper
HemisphereLightHelper
PlaneHelper
PointLightHelper
SkeletonHelper
SpotLightHelper
Light
PointLight
RectAreaLight
SpotLight
DirectionalLight
HemisphereLight
LightShadow
PointLightShadow
AnimationLoader
AudioLoader
BufferGeometryLoader
CompressedTextureLoader
CubeTextureLoader
DataTextureLoader
FileLoader
ImageBitmapLoader
ImageLoader
Loader
LoaderUtils
MaterialLoader
ObjectLoader
TextureLoader
LoadingManager
Material
Box2
Box3
Color
Cylindrical
Euler
Frustum
Interpolant
Line3
MathUtils
Matrix3
Matrix4
Plane
Quaternion
AnimationAction
AnimationClip
AnimationMixer
AnimationObjectGroup
AnimationUtils
keyframeTrack
PropertyBinding
PropertyMixer
BooleanKeyframeTrack
QuaternionKeyframeTrack
StringKeyframeTrack
Audio
AudioAnalyser
AudioContext
AudioListener
PositionalAudio

Line3.applyMatrix4()

该方法可将三维空间中的线段对象(Line3)应用矩阵变换(Matrix4)。

语法

.applyMatrix4(matrix: Matrix4): Line3

参数

  • matrix: 一个Matrix4类型的矩阵对象,表示要应用到该线段对象上的变换。

返回值

  • 该方法会返回一个新的Line3对象,该对象表示已经应用了矩阵变换的线段。

示例

var line = new THREE.Line3(new THREE.Vector3(-1, 0, 0), new THREE.Vector3(1, 0, 0));
var matrix = new THREE.Matrix4().makeRotationZ(Math.PI/2); // 绕Z轴顺时针旋转90度的矩阵变换

var newLine = line.applyMatrix4(matrix);

说明

该方法会按矩阵变换对该线段的两个端点进行变换,得到新的端点,并返回一个新的线段(Line3)对象。矩阵变换可以是平移、旋转、缩放等变换,比如可以通过THREE.Matrix4.makeRotationX/Y/Z(angle)函数创建绕X/Y/Z轴旋转angle角度的矩阵。

这个方法相当于对线段表示的两个点执行Matrix4.multiplyVector3(point)操作。