Files
XCEngine/docs/api/math/ray/intersects-sphere.md
ssdfasd b414bc5326 refactor(docs): Fix broken links across multiple modules
Fixed broken references:
- texture-import-settings: Fix 16 files referencing wrong overview filename
- math/rectint: Fix 9 method links (rectint-* → get*, contains, intersects)
- rhi/opengl/device: Fix 8 cross-references (opengl-* → */**)
- resources/mesh: Fix meshsection and vertexattribute links
- rhi/d3d12/sampler: Fix RHISampler reference path
- math/vector3: Fix projectonplane → project-on-plane
- rhi/opengl/command-list: Remove broken ClearFlag enum ref
- rhi/opengl/device: Create 2 new method docs (MakeContextCurrent, GetNativeContext)
- rhi/device: Fix device-info types reference

All 0 broken references remaining.
2026-03-26 02:41:00 +08:00

42 lines
960 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.
# Ray::Intersects (sphere)
```cpp
bool Intersects(const Sphere& sphere, float& t) const
```
检测射线是否与球体相交。使用二次方程求根法计算交点。
**参数:**
- `sphere` - 要检测的球体
- `t` - 输出最近交点的参数距离(仅在返回 true 时有效,若射线在球体内部则输出最近的出口点)
**返回:** `bool` - 相交返回 true否则返回 false
**线程安全:**
**复杂度:** O(1)
**异常:**
**示例:**
```cpp
#include <XCEngine/Core/Math/Ray.h>
#include <XCEngine/Core/Math/Sphere.h>
#include <XCEngine/Core/Math/Vector3.h>
using namespace XCEngine::Math;
Ray ray(Vector3(0.0f, 0.0f, 0.0f), Vector3(1.0f, 0.0f, 0.0f));
Sphere sphere(Vector3(10.0f, 0.0f, 0.0f), 1.0f);
float t;
if (ray.Intersects(sphere, t)) {
Vector3 hitPoint = ray.GetPoint(t);
}
```
## 相关文档
- [Ray 类总览](ray.md) - 返回类总览
- [Sphere](../sphere/sphere.md) - 球体类型