Unity求向量和平面的交点

embedded/2024/10/19 2:22:16/

已知条件:平面P的法向量\underset{n}{\rightarrow},平面上的一点P0,直线L的方向向量\underset{l}{\rightarrow},直线上的一点L0

公式推导:

主要是两点:

1.目标点T在直线上:T=L0+D*\underset{l}{\rightarrow}(D未知)

2.目标点T在平面上,则TP0垂直\underset{n}{\rightarrow}:(T-P0)*\underset{n}{\rightarrow}=0

将1式代入2式,求得D, \underset{l}{\rightarrow}*\underset{n}{\rightarrow}*D=(P0-L0)*\underset{n}{\rightarrow}

最终再带回1式就能求出交点T

代码:

    /// <summary>/// 求直线L和平面的交点/// </summary>/// <param name="lineUnitVector">直线的方向向量</param>/// <param name="linePos">直线上的一点</param>/// <param name="panelUnitVector">平面的法向量</param>/// <param name="panelPos">平面上的一点</param>/// <returns></returns>private Vector3 GetPosToPanelProjection(Vector3 lineUnitVector,Vector3 linePos,Vector3 panelUnitVector,Vector3 panelPos){float d = Vector3.Dot(panelPos - linePos, panelUnitVector) / Vector3.Dot(lineUnitVector, panelUnitVector);return linePos + lineUnitVector * d;}


http://www.ppmy.cn/embedded/96186.html

相关文章

论文阅读笔记:Efficient Teacher: Semi-Supervised Object Detection for YOLOv5

Efficient Teacher: Semi-Supervised Object Detection for YOLOv5 1 背景1.1 动机1.2 问题 2 创新点3 方法4 模块4.1 伪标签分配4.2 Epoch Adapter 5 效果5.1 与SOTA方法对比5.2 消融实验 论文&#xff1a;https://arxiv.org/pdf/2302.07577v3.pdf 代码&#xff1a;https://g…

Nuxt3【路由中间件】middleware

路由中间件类似路由守卫&#xff0c;即在导航到特定路由之前运行一段代码 内联路由中间件 在页面中定义的路由中间件&#xff0c;因没有名称&#xff0c;所以也叫匿名路由中间件 definePageMeta({middleware: [function (to, from) {console.log("执行了内联路由中间件&q…

使用SQL统计某个表每天的总量和增量

参考&#xff1a; 使用SQL统计某个表每天的总量和增量 https://blog.csdn.net/weixin_34060299/article/details/92286916/ https://blog.csdn.net/bisal/article/details/125437314 例子&#xff1a;一个user表 有user_id自增主键&#xff0c;还有create_time用户创建时间 …

数据库根据日期统计SQL编写记录

统计每天产生多少数据 SELECT to_char("日期字段",YYYY-MM-dd) time ,count(*) FROM "表名" GROUP BY time;统计每月产生多少数据 SELECT to_char("日期字段",YYYY-MM) time ,count(*) FROM "表名" GROUP BY time;统计每年产生多少数…

Ubuntu卸载NGINX

Ubuntu卸载NGINX 在Ubuntu上卸载NGINX&#xff0c;你可以使用以下步骤来完成&#xff1a; 停止NGINX服务&#xff08;如果它正在运行&#xff09;&#xff1a; sudo systemctl stop nginx禁用NGINX服务&#xff08;如果你不希望它在系统启动时自动启动&#xff09;&#xff1a…

【区块链+金融服务】甘肃股权交易中心企业金融服务平台 | FISCO BCOS应用案例

甘肃股权交易中心股份有限公司&#xff08;简称“甘肃股交中心”&#xff09;与甘肃征信股份有限公司同属甘肃金控集团控股子公司&#xff0c; 在共同服务本地中小微企业发展中发挥了重要作用。甘肃股交中心目前使用深圳证券通信有限公司研发的区域股权综合金融服务平台&#x…

stable-diffusion-xl-refiner-1.0

1.前言 这是一个基于Latent Diffusion的生成模型。它的主要功能是对通过SDXL 1.0 base模型生成的初始图像进行进一步的细化和去噪处理&#xff0c;以提升图像的质量和细节表现。这里的“refiner”模型是专门设计用来在最后的降噪步骤中改进图像的。 2.与SDXL 1.0 base模型的区别…

在Linux上搭建的Samba服务器无法写入文件

在Linux上搭建的Samba服务器无法写入文件&#xff0c;这通常是由于权限问题、Samba配置不当或其他网络问题引起的。以下是一些可能的解决方案&#xff0c;您可以按照这些步骤进行排查&#xff1a; 检查Samba配置文件&#xff1a; 打开Samba配置文件&#xff0c;通常是/etc/sam…