You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

155 lines
5.3 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" />
<base href="../../../" />
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
<h1>欧拉角([name]</h1>
<p class="desc">
表示 [link:http://en.wikipedia.org/wiki/Euler_angles Euler] 的类。<br /><br />
欧拉角描述一个旋转变换,通过指定轴顺序和其各个轴向上的指定旋转角度来旋转一个物体。
</p>
<p>
对 [name] 实例进行遍历将按相应的顺序生成它的分量 (x, y, z, order)。
</p>
<h2>代码示例</h2>
<code>
const a = new THREE.Euler( 0, 1, 1.57, 'XYZ' );
const b = new THREE.Vector3( 1, 0, 1 );
b.applyEuler(a);
</code>
<h2>构造器Constructor</h2>
<h3>[name]( [param:Float x], [param:Float y], [param:Float z], [param:String order] )</h3>
<p>
[page:Float x] - (optional) 用弧度表示x轴旋转量。 默认值是 *0*。<br />
[page:Float y] - (optional) 用弧度表示y轴旋转量。 默认值是 *0*。<br />
[page:Float z] - (optional) 用弧度表示z轴旋转量。 默认值是 *0*。<br />
[page:String order] - (optional) 表示旋转顺序的字符串,默认为'XYZ'(必须是大写)。<br /><br />
</p>
<h2>属性Properties</h2>
<h3>[property:Boolean isEuler]</h3>
<p>
只读属性,用于检查给定对象是否为[name]类型。
</p>
<h3>[property:String order]</h3>
<p>
order值应用于旋转顺序。默认值为 'XYZ',这意味着对象将首先是
绕X轴旋转然后是Y轴最后是Z轴。其他可能性包括:
'YZX' 'ZXY' 'XZY' 'YXZ'和'ZYX'。这些必须是大写字母。<br /><br />
Three.js 使用<em>intrinsic</em> Tait-Bryan anglesYaw、Pitch、Roll
这意味着旋转是在<em>本地</em>坐标系下进行的。也就是说对于“XYZ”顺序首先是围绕local-X轴旋转(与world- x轴相同)
然后是local-Y(现在可能与world y轴不同)然后是local-Z(可能与world z轴不同)。<br /><br />
</p>
<h3>[property:Float x]</h3>
<p>
当前x分量的值。<br /><br />
</p>
<h3>[property:Float y]</h3>
<p>
当前y分量的值。<br /><br />
</p>
<h3>[property:Float z]</h3>
<p>
当前z分量的值。<br /><br />
</p>
<h2>方法Methods</h2>
<h3>[method:this copy]( [param:Euler euler] )</h3>
<p>将 [page:Euler euler] 的属性拷贝到当前对象。</p>
<h3>[method:Euler clone]()</h3>
<p>返回一个与当前参数相同的新欧拉角。</p>
<h3>[method:Boolean equals]( [param:Euler euler] )</h3>
<p>检查 [page:Euler euler] 是否与当前对象相同。</p>
<h3>[method:this fromArray]( [param:Array array] )</h3>
<p>
长度为3或4的一个 [page:Array array] 。array[3] 是一个可选的 [page:.order order] 参数。<br /><br />
将欧拉角的x分量设置为 array[0]。 <br />
将欧拉角的y分量设置为 array[1]。 <br />
将欧拉角的z分量设置为 array[2]。 <br />
将array[3]设置给欧拉角的 [page:.order order] 。可选。
</p>
<h3>[method:this reorder]( [param:String newOrder] )</h3>
<p>
通过这个欧拉角创建一个四元数,然后用这个四元数和新顺序设置这个欧拉角。 <br /><br />
<em>警告</em>: 这将弃用旋转信息。
</p>
<h3>[method:this set]( [param:Float x], [param:Float y], [param:Float z], [param:String order] )</h3>
<p>
[page:.x x] - 用弧度表示x轴旋转量。<br />
[page:.y y] - 用弧度表示y轴旋转量。<br />
[page:.z z] - 用弧度表示z轴旋转量。<br />
[page:.order order] - (optional) 表示旋转顺序的字符串。<br /><br />
设置该欧拉变换的角度和旋转顺序 [page:.order order]。
</p>
<h3>[method:this setFromRotationMatrix]( [param:Matrix4 m], [param:String order])</h3>
<p>
[page:Matrix4 m] - [page:Matrix4] 矩阵上面的3x3部分是一个纯旋转矩阵[link:https://en.wikipedia.org/wiki/Rotation_matrix rotation matrix]
(也就是不发生缩放)<br />
[page:.order order] - (可选参数) 表示旋转顺序的字符串。<br />
使用基于 [page:.order order] 顺序的纯旋转矩阵来设置当前欧拉角。
</p>
<h3>[method:this setFromQuaternion]( [param:Quaternion q], [param:String order] )</h3>
<p>
[page:Quaternion q] - 归一化的四元数。<br />
[page:.order order] - (可选参数) 表示旋转顺序的字符串。<br />
根据 [page:.order order] 指定的方向,使用归一化四元数设置这个欧拉变换的角度。
</p>
<h3>[method:this setFromVector3]( [param:Vector3 vector], [param:String order] )</h3>
<p>
[page:Vector3 vector] - [page:Vector3].<br />
[page:.order order] - (可选参数) 表示旋转顺序的字符串。<br /><br />
设置 [page:.x x], [page:.y y] and [page:.z z] 并且选择性更新 [page:.order order]。
</p>
<h3>[method:Array toArray]( [param:Array array], [param:Integer offset] )</h3>
<p>
[page:Array array] - (可选参数) 存储欧拉角的数组。<br />
[page:Integer offset] (可选参数) 数组的偏移量。<br />
返回一个数组:[[page:.x x], [page:.y y], [page:.z z], [page:.order order ]]。
</p>
<h2>源码Source</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>