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.

162 lines
5.2 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">一个球由球心和半径所定义。</p>
<h2>构造函数</h2>
<h3>[name]( [param:Vector3 center], [param:Float radius] )</h3>
<p>
[page:Vector3 center] - 球心的位置,默认值是一个位于(0, 0, 0)的[page:Vector3]。<br />
[page:Float radius] - 球的半径,默认值是-1。<br /><br />
创建一个新的[name]。
</p>
<h2>属性</h2>
<h3>[property:Vector3 center]</h3>
<p>A [page:Vector3]定义了球心的位置,默认值位于(0, 0, 0)。</p>
<h3>[property:Boolean isSphere]</h3>
<p>
只读属性,用于检查给定对象是否为[name]类型。
</p>
<h3>[property:Float radius]</h3>
<p>球的半径,默认值为-1。</p>
<h2>方法</h2>
<h3>[method:this applyMatrix4]( [param:Matrix4 matrix] )</h3>
<p>
[page:Matrix4 matrix] - 将被应用的[Page:Matrix4]矩阵。<br /><br />
使用所传入的[page:Matrix4]矩阵来对球进行变换。
</p>
<h3>[method:Vector3 clampPoint]( [param:Vector3 point], [param:Vector3 target] )</h3>
<p>
[page:Vector3 point] - [page:Vector3] 将要夹取的点。<br />
[page:Vector3 target] — 结果将被复制到这个Vector3中。<br /><br />
从球中夹取一个点。若这一点位于球外,则将会夹取到该点球边缘最近的点。已位于球中的点将不会受到影响。
</p>
<h3>[method:Sphere clone]()</h3>
<p>返回一个新的球,新的球与这个球具有相同的[page:.center center]和[page:.radius radius]。</p>
<h3>[method:Boolean containsPoint]( [param:Vector3 point] )</h3>
<p>
[page:Vector3 point] - [page:Vector3] 要被检查的点<br /><br />
检查球体中是否包含所传入的[page:Vector3 point]点,包括球的表面。
</p>
<h3>[method:this copy]( [param:Sphere sphere] )</h3>
<p>
复制所传入的球的[page:.center center]和[page:.radius radius]到这个球上。
</p>
<h3>[method:Float distanceToPoint]( [param:Vector3 point] )</h3>
<p>
返回球的边界到所传入的[page:Vector3 point]点的最近距离。
若这个点位于球内,则距离将为负值。
</p>
<h3>[method:this expandByPoint]( [param:Vector3 point] )</h3>
<p>
[page:Vector3 point] - [page:Vector3] 将被包含在球内的点<br /><br />
扩展该球的边界以包含此点 [page:Vector3 point]。
</p>
<h3>[method:Boolean isEmpty]()</h3>
<p>
检查球是否为空(球半径为负值)。半径为 0 的球体仅包含其中心点,并不会被视为空。
</p>
<h3>[method:this makeEmpty]()</h3>
<p>将该球修改为空,即中心点 [page:.center center] 为 (0,0,0),半径 [page:.radius radius] 为 -1。</p>
<h3>[method:Boolean equals]( [param:Sphere sphere] )</h3>
<p>
检查这两个球的球心与半径是否相等。
</p>
<h3>[method:Box3 getBoundingBox]( [param:Box3 target] )</h3>
<p>
[page:Box3 target] — 结果将被复制到这个Box3中。<br /><br />
返回这个球的[link:https://en.wikipedia.org/wiki/Minimum_bounding_box Minimum Bounding Box](最小包围盒)。
</p>
<h3>[method:Boolean intersectsBox]( [param:Box3 box] )</h3>
<p>
[page:Box3 box] - 将被用于测试是否与这个球有交集的[page:Box3]。<br /><br />
检测这个球与所传入的[page:Box3 box]是否有交集。
</p>
<h3>[method:Boolean intersectsPlane]( [param:Plane plane] )</h3>
<p>
[page:Plane plane] - 将被用于测试是否与这个球有交集的Plane。<br /><br />
检测这个球与所传入的[page:Plane plane]是否有交集。
</p>
<h3>[method:Boolean intersectsSphere]( [param:Sphere sphere] )</h3>
<p>
[page:Sphere sphere] - 将被用于测试是否与这个球有交集的Sphere。<br /><br />
检测两球之间是否有交集。
</p>
<h3>[method:this set]( [param:Vector3 center], [param:Float radius] )</h3>
<p>
[page:Vector3 center] - 球心位置。<br />
[page:Float radius] - 球的半径。<br /><br />
设置球的[page:.center center]和[page:.radius radius]属性。<br>
请注意此,方法使用复制的方式来设置中心值。
</p>
<h3>[method:this setFromPoints]( [param:Array points], [param:Vector3 optionalCenter] )</h3>
<p>
[page:Array points] - 一个包含有[page:Vector3]位置的[page:Array]。<br />
[page:Vector3 optionalCenter] - 可选, [page:Vector3] 球心位置。<br /><br />
计算一个[page:Array points]数组(中的点)的最小边界球。如果给定了[page:Vector3 optionalCenter],则它将被用作该球的球心;
否则,环绕[page:Array points]的包围盒的轴心将通过计算来得到。
</p>
<h3>[method:this translate]( [param:Vector3 offset] )</h3>
<p>
使用所给定[page:Vector3] offset偏移量平移球心。
</p>
<h3>[method:this union]( [param:Sphere sphere] )</h3>
<p>
[page:Sphere sphere] - 将与该球体即将结合的边界球体。<br /><br />
扩展此球体以包含原始球体和给定球体。
</p>
<h2>源代码</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>