Files
XCEngine/docs/api/math/box/intersects-ray.md
2026-03-20 02:35:15 +08:00

39 lines
841 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Box::Intersects (Ray)
```cpp
bool Intersects(const Ray& ray, float& t) const
```
检测盒体是否与射线相交。如果相交,通过 `t` 输出射线原点到交点的距离。
**参数:**
- `ray` - 要检测的射线
- `t` - 输出交点距离(如果返回 true
**返回:** `bool` - 相交返回 true否则返回 false
**线程安全:**
**复杂度:** O(1)
**示例:**
```cpp
#include <XCEngine/Math/Box.h>
#include <XCEngine/Math/Ray.h>
using namespace XCEngine::Math;
Box box(Vector3(0.0f, 0.0f, 0.0f), Vector3(1.0f, 1.0f, 1.0f));
Ray ray(Vector3(0.0f, 0.0f, -5.0f), Vector3(0.0f, 0.0f, 1.0f));
float t;
if (box.Intersects(ray, t)) {
Vector3 hitPoint = ray.GetPoint(t);
}
```
## 相关文档
- [Box 类总览](box.md) - 返回类总览
- [Ray::Intersects](../ray/ray.md) - 射线相交检测