返回介绍

手册

参考

示例

开发者参考

OBB

发布于 2021-07-10 14:14:20 字数 4812 浏览 1341 评论 0 收藏 0

Represents an oriented bounding box (OBB) in 3D space.

Examples

webgl_math_obb

Constructor

OBB( center : Vector3, halfSize : Vector3, rotation : Matrix3 )

center — The center of the OBB. (optional)
halfSize — Positive halfwidth extents of the OBB along each axis. (optional)
rotation — The rotation of the OBB. (optional)

Creates a new OBB.

Properties

.center : Vector3

The center of the OBB. Default is ( 0, 0, 0 ).

.halfSize : Vector3

Positive halfwidth extents of the OBB along each axis. Default is ( 0, 0, 0 ).

.rotation : Matrix3

The rotation of the OBB. Default is the identity matrix.

Methods

.applyMatrix4 ( matrix : Matrix4 ) : this

matrix — A 4x4 transformation matrix.

Applies the given transformation matrix to this OBB. This method can be used to transform the bounding volume with the world matrix of a 3D object in order to keep both entities in sync.

.clampPoint ( point : Vector3, clampedPoint : Vector3 ) : Vector3

point — The point that should be clamped within the bounds of this OBB.
clampedPoint — The result will be copied into this vector.

Clamps the given point within the bounds of this OBB.

.clone () : OBB

Creates a cloned OBB for this instance.

.containsPoint ( point : Vector3 ) : Boolean

point — The point to test.

Whether the given point lies within this OBB or not.

.copy ( obb : OBB ) : this

obb — The OBB to copy.

Copies the properties of the given OBB to this OBB.

.equals ( obb : OBB ) : Boolean

obb — The OBB to test.

Whether the given OBB is equal to this OBB or not.

.fromBox3 ( box3 : Box3 ) : this

box3 — An AABB.

Defines an OBB based on the given AABB.

.getSize ( size : Vector3 ) : Vector3

size — The result will be copied into this vector.

Returns the size of this OBB into the given vector.

.intersectsBox3 ( box3 : Box3 ) : Boolean

box3 — The AABB to test.

Whether the given AABB intersects this OBB or not.

.intersectsSphere ( sphere : Sphere ) : Boolean

sphere — The bounding sphere to test.

Whether the given bounding sphere intersects this OBB or not.

.intersectsOBB ( obb : OBB, epsilon : Number ) : Boolean

obb — The OBB to test.
epsilon — An optional numeric value to counteract arithmetic errors. Default is Number.EPSILON.

Whether the given OBB intersects this OBB or not.

.intersectsRay ( ray : Ray ) : Boolean

ray — The ray to test.

Whether the given ray intersects this OBB or not.

.intersectRay ( ray : Ray, intersectionPoint : Vector3 ) : Vector3

ray — The ray to test.
intersectionPoint — The result will be copied into this vector.

Performs a Ray/OBB intersection test and stores the intersection point to the given 3D vector. If no intersection is detected, null is returned.

.set ( center : Vector3, halfSize : Vector3, rotation : Matrix3 ) : this

center — The center of the OBB.
halfSize — Positive halfwidth extents of the OBB along each axis.
rotation — The rotation of the OBB.

Defines the OBB for the given values.

Source

examples/jsm/math/OBB.js

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文