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

Box2.setFromPoints()

Box2.setFromPoints()方法是用于计算以给定的点数组构成的最小二维包围盒(Axis-Aligned Bounding Box, AABB)。

语法

setFromPoints(points: Array<Vector2>): Box2

参数

  • points:一个 Vector2 对象的数组。

返回值

该方法返回一个 Box2 对象,表示以给定的点构成的最小二维包围盒。

描述

给定一个 Vector2 对象的数组 pointsBox2.setFromPoints() 方法会计算一个最小的二维包围盒,使得该包围盒中包含了所有的点。这个包围盒被定义为一个由左下角坐标 (minX, minY) 和右上角坐标 (maxX, maxY) 所确定的矩形。

这个方法会改变 Box2 对象的 minmax 属性。

示例

以下示例展示了如何使用 Box2.setFromPoints() 方法计算一个最小二维包围盒:

const points = [
  new THREE.Vector2(0, 0),
  new THREE.Vector2(1, 0),
  new THREE.Vector2(1, 1),
  new THREE.Vector2(0, 1),
];

const box = new THREE.Box2();
box.setFromPoints(points);

console.log(box.min); // Vector2 { x: 0, y: 0 }
console.log(box.max); // Vector2 { x: 1, y: 1 }

该示例中给定了一个由 4 个点组成的矩形,Box2.setFromPoints() 方法计算出了该矩形的最小二维包围盒,即左下角坐标为 (0, 0),右上角坐标为 (1, 1) 的矩形。console.log() 方法输出了计算结果。

参考