当前位置: 首页 > news >正文

Unity求向量和平面的交点

已知条件:平面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;}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • leetcode 括号类型题解
  • 常见分布式ID解决方案的优缺点
  • 什么是多组学整合
  • 数据采集-->kafka-->hdfs
  • web服务器相关知识
  • windows本地kafka和zookeeper单机版
  • 【Linux】系列入门摘抄笔记-8-权限管理chmod/chown
  • 【排序篇】插入排序与选择排序
  • LabVIEW优化内存使用
  • 运行微信小程序报错:Bad attr data-event-opts with message
  • 数据结构与算法 - 设计
  • Oracle(75)什么是统计信息(Statistics)?
  • 云计算运维和SRE是一回事儿吗?有什么区别?
  • 点云倒角距离(Chamfer Distance,CD)
  • PPT:某集团企业IT治理优化方案
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • #Java异常处理
  • 2017届校招提前批面试回顾
  • co模块的前端实现
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • iOS 颜色设置看我就够了
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Redis 懒删除(lazy free)简史
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • 从零搭建Koa2 Server
  • 关于Java中分层中遇到的一些问题
  • 深入浅出webpack学习(1)--核心概念
  • 使用 QuickBI 搭建酷炫可视化分析
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 数组大概知多少
  • 小程序开发之路(一)
  • 你对linux中grep命令知道多少?
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • # C++之functional库用法整理
  • #include到底该写在哪
  • #传输# #传输数据判断#
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • (1) caustics\
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (回溯) LeetCode 46. 全排列
  • (论文阅读40-45)图像描述1
  • (七)Knockout 创建自定义绑定
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (四)Controller接口控制器详解(三)
  • (五)MySQL的备份及恢复
  • (转)LINQ之路
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .NET Core 版本不支持的问题
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .net 无限分类
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证