Euler.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="page.js"></script>
  7. <link type="text/css" rel="stylesheet" href="page.css" />
  8. </head>
  9. <body>
  10. <h1>欧拉角([name])</h1>
  11. <p class="desc">
  12. 表示 [link:http://en.wikipedia.org/wiki/Euler_angles Euler] 的类。<br /><br />
  13. 欧拉角描述一个旋转变换,通过指定轴顺序和其各个轴向上的指定旋转角度来旋转一个物体。
  14. </p>
  15. <p>
  16. 对 [name] 实例进行遍历将按相应的顺序生成它的分量 (x, y, z, order)。
  17. </p>
  18. <h2>代码示例</h2>
  19. <code>
  20. const a = new THREE.Euler( 0, 1, 1.57, 'XYZ' );
  21. const b = new THREE.Vector3( 1, 0, 1 );
  22. b.applyEuler(a);
  23. </code>
  24. <h2>构造器(Constructor)</h2>
  25. <h3>[name]( [param:Float x], [param:Float y], [param:Float z], [param:String order] )</h3>
  26. <p>
  27. [page:Float x] - (optional) 用弧度表示x轴旋转量。 默认值是 *0*。<br />
  28. [page:Float y] - (optional) 用弧度表示y轴旋转量。 默认值是 *0*。<br />
  29. [page:Float z] - (optional) 用弧度表示z轴旋转量。 默认值是 *0*。<br />
  30. [page:String order] - (optional) 表示旋转顺序的字符串,默认为'XYZ'(必须是大写)。<br /><br />
  31. </p>
  32. <h2>属性(Properties)</h2>
  33. <h3>[property:Boolean isEuler]</h3>
  34. <p>
  35. Read-only flag to check if a given object is of type [name].
  36. </p>
  37. <h3>[property:String order]</h3>
  38. <p>
  39. order值应用于旋转顺序。默认值为 'XYZ',这意味着对象将首先是
  40. 绕X轴旋转,然后是Y轴,最后是Z轴。其他可能性包括:
  41. 'YZX', 'ZXY', 'XZY', 'YXZ'和'ZYX'。这些必须是大写字母。<br /><br />
  42. Three.js 使用<em>intrinsic</em> Tait-Bryan angles(Yaw、Pitch、Roll)。
  43. 这意味着旋转是在<em>本地</em>坐标系下进行的。也就是说,对于“XYZ”顺序,首先是围绕local-X轴旋转(与world- x轴相同),
  44. 然后是local-Y(现在可能与world y轴不同),然后是local-Z(可能与world z轴不同)。<br /><br />
  45. </p>
  46. <h3>[property:Float x]</h3>
  47. <p>
  48. 当前x分量的值。<br /><br />
  49. </p>
  50. <h3>[property:Float y]</h3>
  51. <p>
  52. 当前y分量的值。<br /><br />
  53. </p>
  54. <h3>[property:Float z]</h3>
  55. <p>
  56. 当前z分量的值。<br /><br />
  57. </p>
  58. <h2>方法(Methods)</h2>
  59. <h3>[method:this copy]( [param:Euler euler] )</h3>
  60. <p>将 [page:Euler euler] 的属性拷贝到当前对象。</p>
  61. <h3>[method:Euler clone]()</h3>
  62. <p>返回一个与当前参数相同的新欧拉角。</p>
  63. <h3>[method:Boolean equals]( [param:Euler euler] )</h3>
  64. <p>检查 [page:Euler euler] 是否与当前对象相同。</p>
  65. <h3>[method:this fromArray]( [param:Array array] )</h3>
  66. <p>
  67. 长度为3或4的一个 [page:Array array] 。array[3] 是一个可选的 [page:.order order] 参数。<br /><br />
  68. 将欧拉角的x分量设置为 array[0]。 <br />
  69. 将欧拉角的y分量设置为 array[1]。 <br />
  70. 将欧拉角的z分量设置为 array[2]。 <br />
  71. 将array[3]设置给欧拉角的 [page:.order order] 。可选。
  72. </p>
  73. <h3>[method:this reorder]( [param:String newOrder] )</h3>
  74. <p>
  75. 通过这个欧拉角创建一个四元数,然后用这个四元数和新顺序设置这个欧拉角。 <br /><br />
  76. <em>警告</em>: 这将弃用旋转信息。
  77. </p>
  78. <h3>[method:this set]( [param:Float x], [param:Float y], [param:Float z], [param:String order] )</h3>
  79. <p>
  80. [page:.x x] - 用弧度表示x轴旋转量。<br />
  81. [page:.y y] - 用弧度表示y轴旋转量。<br />
  82. [page:.z z] - 用弧度表示z轴旋转量。<br />
  83. [page:.order order] - (optional) 表示旋转顺序的字符串。<br /><br />
  84. 设置该欧拉变换的角度和旋转顺序 [page:.order order]。
  85. </p>
  86. <h3>[method:this setFromRotationMatrix]( [param:Matrix4 m], [param:String order])</h3>
  87. <p>
  88. [page:Matrix4 m] - [page:Matrix4] 矩阵上面的3x3部分是一个纯旋转矩阵[link:https://en.wikipedia.org/wiki/Rotation_matrix rotation matrix]
  89. (也就是不发生缩放)<br />
  90. [page:.order order] - (可选参数) 表示旋转顺序的字符串。<br />
  91. 使用基于 [page:.order order] 顺序的纯旋转矩阵来设置当前欧拉角。
  92. </p>
  93. <h3>[method:this setFromQuaternion]( [param:Quaternion q], [param:String order] )</h3>
  94. <p>
  95. [page:Quaternion q] - 归一化的四元数。<br />
  96. [page:.order order] - (可选参数) 表示旋转顺序的字符串。<br />
  97. 根据 [page:.order order] 指定的方向,使用归一化四元数设置这个欧拉变换的角度。
  98. </p>
  99. <h3>[method:this setFromVector3]( [param:Vector3 vector], [param:String order] )</h3>
  100. <p>
  101. [page:Vector3 vector] - [page:Vector3].<br />
  102. [page:.order order] - (可选参数) 表示旋转顺序的字符串。<br /><br />
  103. 设置 [page:.x x], [page:.y y] and [page:.z z] 并且选择性更新 [page:.order order]。
  104. </p>
  105. <h3>[method:Array toArray]( [param:Array array], [param:Integer offset] )</h3>
  106. <p>
  107. [page:Array array] - (可选参数) 存储欧拉角的数组。<br />
  108. [page:Integer offset] (可选参数) 数组的偏移量。<br />
  109. 返回一个数组:[[page:.x x], [page:.y y], [page:.z z], [page:.order order ]]。
  110. </p>
  111. <h2>源码(Source)</h2>
  112. <p>
  113. [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
  114. </p>
  115. </body>
  116. </html>