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

Matrix4.makeShear()

Matrix4.makeShear()方法用于在3D空间中执行剪切变换。

语法

matrix.makeShear( x, y, z );

参数

  • x — x轴方向上剪切系数
  • y — y轴方向上剪切系数
  • z — z轴方向上剪切系数

返回值

返回一个新的 Matrix4 对象,该对象包含了剪切变换后的矩阵。

示例

// 创建新的Matrix4对象
const matrix = new THREE.Matrix4();

// 执行剪切变换
matrix.makeShear( 0.2, 0, 0 );

// 将变换应用到一个物体上
const mesh = new THREE.Mesh( geometry, material );
mesh.applyMatrix4( matrix );

详解

Matrix4.makeShear() 方法通过更改矩阵中的一些值来实现剪切变换。 在输入的三个参数中,每个参数分别表示在其对应的坐标轴上进行的剪切系数。 例如,x轴方向上的剪切系数 x 将影响坐标系中所有 x 轴上的点。

注意事项

  • 在输入剪切系数时,请确保它们的值合理。
  • 可以通过将一个物体应用到变换矩阵上来实现变换。如果需要更改其他对象,需要重新创建一个新的变换矩阵。
  • Matrix4.makeShear() 方法只是将新的剪切矩阵与与Identity矩阵相乘,所以在实现一个复杂的变换序列时,请确保您的矩阵是正确的。

参考