Files
XCEngine/docs/api/math/ray/intersects-plane.md

28 lines
580 B
Markdown
Raw Normal View History

# Ray::Intersects (plane)
```cpp
bool Intersects(const Plane& plane, float& t) const
```
检测射线是否与平面相交。
**参数:**
- `plane` - 要检测的平面
- `t` - 输出交点的参数距离
**返回:** `bool` - 相交返回 true射线朝向平面否则返回 false
**复杂度:** O(1)
**示例:**
```cpp
Ray ray(cameraPosition, rayDirection);
Plane groundPlane = Plane::FromNormalAndPoint(Vector3::Up(), Vector3::Zero());
float t;
if (ray.Intersects(groundPlane, t)) {
Vector3 hitPoint = ray.GetPoint(t);
// 射线命中地面
}
```