Sphere.html 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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">一个球由球心和半径所定义。</p>
  12. <h2>构造函数</h2>
  13. <h3>[name]( [param:Vector3 center], [param:Float radius] )</h3>
  14. <p>
  15. [page:Vector3 center] - 球心的位置,默认值是一个位于(0, 0, 0)的[page:Vector3]。<br />
  16. [page:Float radius] - 球的半径,默认值是-1。<br /><br />
  17. 创建一个新的[name]。
  18. </p>
  19. <h2>属性</h2>
  20. <h3>[property:Vector3 center]</h3>
  21. <p>A [page:Vector3]定义了球心的位置,默认值位于(0, 0, 0)。</p>
  22. <h3>[property:Float radius]</h3>
  23. <p>球的半径,默认值为-1。</p>
  24. <h2>方法</h2>
  25. <h3>[method:this applyMatrix4]( [param:Matrix4 matrix] )</h3>
  26. <p>
  27. [page:Matrix4 matrix] - 将被应用的[Page:Matrix4]矩阵。<br /><br />
  28. 使用所传入的[page:Matrix4]矩阵来对球进行变换。
  29. </p>
  30. <h3>[method:Vector3 clampPoint]( [param:Vector3 point], [param:Vector3 target] )</h3>
  31. <p>
  32. [page:Vector3 point] - [page:Vector3] 将要夹取的点。<br />
  33. [page:Vector3 target] — 结果将被复制到这个Vector3中。<br /><br />
  34. 从球中夹取一个点。若这一点位于球外,则将会夹取到该点球边缘最近的点。已位于球中的点将不会受到影响。
  35. </p>
  36. <h3>[method:Sphere clone]()</h3>
  37. <p>返回一个新的球,新的球与这个球具有相同的[page:.center center]和[page:.radius radius]。</p>
  38. <h3>[method:Boolean containsPoint]( [param:Vector3 point] )</h3>
  39. <p>
  40. [page:Vector3 point] - [page:Vector3] 要被检查的点<br /><br />
  41. 检查球体中是否包含所传入的[page:Vector3 point]点,包括球的表面。
  42. </p>
  43. <h3>[method:this copy]( [param:Sphere sphere] )</h3>
  44. <p>
  45. 复制所传入的球的[page:.center center]和[page:.radius radius]到这个球上。
  46. </p>
  47. <h3>[method:Float distanceToPoint]( [param:Vector3 point] )</h3>
  48. <p>
  49. 返回球的边界到所传入的[page:Vector3 point]点的最近距离。
  50. 若这个点位于球内,则距离将为负值。
  51. </p>
  52. <h3>[method:this expandByPoint]( [param:Vector3 point] )</h3>
  53. <p>
  54. [page:Vector3 point] - [page:Vector3] 将被包含在球内的点<br /><br />
  55. 扩展该球的边界以包含此点 [page:Vector3 point]。
  56. </p>
  57. <h3>[method:Boolean isEmpty]()</h3>
  58. <p>
  59. 检查球是否为空(球半径为负值)。半径为 0 的球体仅包含其中心点,并不会被视为空。
  60. </p>
  61. <h3>[method:this makeEmpty]()</h3>
  62. <p>将该球修改为空,即中心点 [page:.center center] 为 (0,0,0),半径 [page:.radius radius] 为 -1。</p>
  63. <h3>[method:Boolean equals]( [param:Sphere sphere] )</h3>
  64. <p>
  65. 检查这两个球的球心与半径是否相等。
  66. </p>
  67. <h3>[method:Box3 getBoundingBox]( [param:Box3 target] )</h3>
  68. <p>
  69. [page:Box3 target] — 结果将被复制到这个Box3中。<br /><br />
  70. 返回这个球的[link:https://en.wikipedia.org/wiki/Minimum_bounding_box Minimum Bounding Box](最小包围盒)。
  71. </p>
  72. <h3>[method:Boolean intersectsBox]( [param:Box3 box] )</h3>
  73. <p>
  74. [page:Box3 box] - 将被用于测试是否与这个球有交集的[page:Box3]。<br /><br />
  75. 检测这个球与所传入的[page:Box3 box]是否有交集。
  76. </p>
  77. <h3>[method:Boolean intersectsPlane]( [param:Plane plane] )</h3>
  78. <p>
  79. [page:Plane plane] - 将被用于测试是否与这个球有交集的Plane。<br /><br />
  80. 检测这个球与所传入的[page:Plane plane]是否有交集。
  81. </p>
  82. <h3>[method:Boolean intersectsSphere]( [param:Sphere sphere] )</h3>
  83. <p>
  84. [page:Sphere sphere] - 将被用于测试是否与这个球有交集的Sphere。<br /><br />
  85. 检测两球之间是否有交集。
  86. </p>
  87. <h3>[method:this set]( [param:Vector3 center], [param:Float radius] )</h3>
  88. <p>
  89. [page:Vector3 center] - 球心位置。<br />
  90. [page:Float radius] - 球的半径。<br /><br />
  91. 设置球的[page:.center center]和[page:.radius radius]属性。<br>
  92. 请注意此,方法使用复制的方式来设置中心值。
  93. </p>
  94. <h3>[method:this setFromPoints]( [param:Array points], [param:Vector3 optionalCenter] )</h3>
  95. <p>
  96. [page:Array points] - 一个包含有[page:Vector3]位置的[page:Array]。<br />
  97. [page:Vector3 optionalCenter] - 可选, [page:Vector3] 球心位置。<br /><br />
  98. 计算一个[page:Array points]数组(中的点)的最小边界球。如果给定了[page:Vector3 optionalCenter],则它将被用作该球的球心;
  99. 否则,环绕[page:Array points]的包围盒的轴心将通过计算来得到。
  100. </p>
  101. <h3>[method:this translate]( [param:Vector3 offset] )</h3>
  102. <p>
  103. 使用所给定[page:Vector3] offset(偏移量)平移球心。
  104. </p>
  105. <h3>[method:this union]( [param:Sphere sphere] )</h3>
  106. <p>
  107. [page:Sphere sphere] - 将与该球体即将结合的边界球体。<br /><br />
  108. 扩展此球体以包含原始球体和给定球体。
  109. </p>
  110. <h2>源代码</h2>
  111. <p>
  112. [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
  113. </p>
  114. </body>
  115. </html>