Unity关于计算线和面的交点

更新时间:2023-07-14 07:14:14 阅读: 评论:0

Unity关于计算线和⾯的交点
关于射线和⾯相交的理论在这⾥⽆需赘述
广西景点这⾥展⽰的是使⽤向量和三⾓函数来计算的线和⾯的交点
个⼈感觉代码⾥⾯使⽤向量和三⾓函数来计算⽐较⽅便写
/// <summary>
特色小吃/// 计算射线和⾯的交点
/// 会有⼀定误差,浮点数计算没有办法
百年校庆/// </summary>
/// <param name="ray">射线</param>
感受阳光
/// <param name="normal">⾯的法线</param>
/// <param name="Point">⾯上的⼀点</param>
/
// <param name="ret">交点</param>
/// <returns>线和⾯是否相交</returns>
bool interctionOfRayAndFace(Ray ray, Vector3 normal,Vector3 Point, out Vector3 ret)
肌肉力量
{
if (Vector3.Dot(ray.direction, normal) == 0)
{
//如果平⾯法线和射线垂直则不会相交
ret = ;
return fal;
}
Vector3 Forward = normal;
股票pe
Vector3 Offt = Point - igin; //获取线的⽅向
float DistanceZ = Vector3.Angle(Forward, Offt); //计算夹⾓
DistanceZ = Mathf.Cos(DistanceZ / 180f * Mathf.PI) * Offt.magnitude; //算点到⾯的距离
秋日赴阙题潼关驿楼
朝花夕拾句子赏析DistanceZ /= Mathf.Cos(Vector3.Angle(ray.direction, Forward) / 180f * Mathf.PI); //算点沿射线到⾯的距离            ret = igin + ray.direction * DistanceZ; //算得射线和⾯的交点
return true;
}

本文发布于:2023-07-14 07:14:14,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1080872.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:射线   相交   计算   垂直   函数   浮点数   没有   景点
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图