平面的法向量N和平面上点P1可以确定一个平面
直线的方向向量N1和直线上一个点P0确定一条直线
已知P0不在平面上,计算直线和平面的交点P2

很容易理解,向量P0P1和向量P0P2在平面法线上的投影长度相等,即Dot(P0P1, N)等于Dot(P0P2, N)
还有向量N1在向量N上的投影长度Dot(N1, N)/Dot(P0P2, N)等于N1的长度/P0P2的长度

上代码:

/// <summary>
/// 计算直线和平面的交点
/// </summary>
/// <param name="linePoint">直线上一点,不能在平面上</param>
/// <param name="lineDir">直线的方向向量,不能和平面平行</param>
/// <param name="planePoint">平面上一点</param>
/// <param name="planeNormal">平面的法向量</param>
/// <returns></returns>
public static Vector3 CalcLineAndPlanePoint(Vector3 linePoint, Vector3 lineDir, Vector3 planePoint, Vector3 planeNormal) {float length = Vector3.Dot(planePoint - linePoint, planeNormal) / Vector3.Dot(lineDir, planeNormal);return linePoint + length * lineDir;
}

计算直线和平面的交点相关推荐

  1. matlab求支线与平面交点,直线和平面的交点

    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 预备知识 高中解析立体几何,几何矢量 若平面上任意一点为 $ ...

  2. GeoTools计算线与面的交点

    //航迹点与终点连线String trackLine = "LINESTRING(" + lon + " " + lat + "," + l ...

  3. C++OpenCV:三角形插值、线面的交点

    直线方程 已知直线上一点和直线的方向向量或者法向量,求直线方程 直线和平面的交点 已知直线一点L和直线的方向向量l.平面上一点P和平面的法向量p,求直线与平面的交点 三角形线性插值 验证一下上面两种插 ...

  4. Java黑皮书课后题第3章:*3.25(几何:交点)第一条直线上面的两个点是(x1,y1)(x2,y2),第二条(x3,y3)(x4,y4),通过Cramer规则求出线性方程组

    *3.25(几何:交点)第一条直线上面的两个点是(x1,y1)(x2,y2),第二条(x3,y3)(x4,y4),通过Cramer规则求出线性方程组 题目 题目概述 题目给出的线性方程组 Cramer ...

  5. 点到直线的垂直交点坐标 和 距离计算

    越来越发现自己数学之差了,连简单的数学运算忘记了,,写下实现点到直线交点坐标的计算方法 原理是两点确定一条直线,利用公式 y = ax+b 去计算 然后根据与直线方程Ax+By+C=0(A≠0,B≠0 ...

  6. 计算直线交点与夹角方法

    基于matlab求解初等几何问题 lyqmath 0 引言 在工程应用.科学计算等领域,计算两条直线的交点是一个较为基础的问题.一般的应该考虑到直线方程的写法和求解交点的方式.这里给出一个具体的处理方 ...

  7. python计算直线与圆的交点,不用第三方库,方便迁移其他语言

    python求圆和线段/直线的交点 计算直线与圆的交点,不用第三方库,方便迁移其他语言 主要应用:图像及几何计算应用 计算直线与圆的交点,不用第三方库,方便迁移其他语言 主要应用:图像及几何计算应用 ...

  8. 【HDOJ7079】Pty loves lines(计算直线的交点方案数,打表)

    Pty loves lines 题意: 平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数,输出方案,n<=700 思路: 原题是HDOJ1466,不过数据只有20. 首先考虑原本简 ...

  9. HDU1466 计算直线的交点数

    计算直线的交点数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

最新文章

  1. CUDA 7流简化并发
  2. C++智能指针管理类
  3. 招不招新人?IT经理很纠结.
  4. TEMPO研究第一年影像学数据: 骨侵蚀修复几乎只出现在无关节肿胀或肿胀改善组...
  5. 负载均衡设备oracle,Oracle RAC 服务器端联接负载均衡(Load Balance)
  6. 推一波JAVA学习公众号
  7. oracle虚拟机配置,虚拟机安装和配置Oracle PDF 下载
  8. servlet中filter的的异步问题以及JSP与servlet配合时filter的注意
  9. 提到强化学习只知道AlphaGo?其实,RL在工业界还有这些应用
  10. 在脚本中, 使用sqlite3检查android程序生成的数据库是否OK
  11. 统计学习方法--提升方法adaBoost算法(集成学习)
  12. 如何优雅的使用iBatis
  13. fiddler 查看接口响应时间
  14. 深鸿会深大小组学习笔记:第二周,从零开发鸿蒙小游戏2048app(下)
  15. CCITT对媒体的分类
  16. gpg: agent_genkey failed: Operation cancelled Key generation failed: Operation cancelled
  17. win7 安装openssh_win7系统安装OpenSSH的操作方法
  18. 《半小时漫画中国哲学史》——读书笔记
  19. 武汉晴川学院软件工程导论可行性分析(梅宇欣)
  20. Camtasia 2021 for Mac(顶级屏幕录像视频编辑软件)

热门文章

  1. 教你轻松分清pandas中的axis=0,axis=1具体含义
  2. MATLAB 高级数据类型 table
  3. CRA 5.0.0加入代理后项目启动报错
  4. php 替换表情符号,javascript字符串替换文本到php页面中的表情符号
  5. 人事不易,成事更不易
  6. 快递webservice接口
  7. 数据结构中常用的7种排序方法
  8. react-navigation Navigation使用
  9. 计算机网络如何计算有效ip地址个数,如何计算到底有多少个IP地址及IP地址的种类及取值范围...
  10. NSL-KDD数据集介绍以及字段介绍