# Ray::Intersects (sphere) ```cpp bool Intersects(const Sphere& sphere, float& t) const ``` 检测射线是否与球体相交。使用二次方程求根法计算交点。 **参数:** - `sphere` - 要检测的球体 - `t` - 输出最近交点的参数距离(仅在返回 true 时有效,若射线在球体内部则输出最近的出口点) **返回:** `bool` - 相交返回 true,否则返回 false **线程安全:** ✅ **复杂度:** O(1) **异常:** 无 **示例:** ```cpp #include #include #include 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) - 球体类型