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

Quaternion.setFromEuler()

三维场景渲染库three.js中的Quaternion类方法,用于从欧拉角设置一个四元数。

语法

setFromEuler(euler: Euler, update?: Boolean): Quaternion

参数

  • euler:欧拉角对象Euler。
  • update:可选参数,如果为true,则更新欧拉角对象。默认为false

返回值

返回一个四元数对象Quaternion。

描述

由欧拉角表示的旋转,可以通过Quaternion类方法setFromEuler将其转换为四元数表示。欧拉角使用三个角度表示,其表示方式有很多种,包括XYZ、ZYX、YXZ等等。在该方法中,欧拉角的表示方式为Euler类型,指定了XYZ顺序。

设置四元数时,可以选择是否更新传入的欧拉角参数。如果需要在后续的旋转中使用传入的欧拉角,可以选择更新。

示例

const euler = new THREE.Euler(Math.PI / 4, -Math.PI / 4, 0, 'XYZ');
const quaternion = new THREE.Quaternion().setFromEuler(euler);

console.log(quaternion); // Quaternion {_x: 0.1913, _y: -0.4619, _z: 0.1913, _w: 0.8446}

参考链接