一:代数方式

我们假设它们的交点为P,既然我们有一个平面,那么平面上面的一个点P0和平面的normal(垂直于平面的向量)我们是肯定知道的。

根据3D数学知识,(P-P0) · normal = 0(公式一);(既然垂直,那么它们点乘肯定为0)。

对于这条直线,我们肯定知道直线上面的某一点L0和直线的方向L,那么 P = L0 + dL(公式二),d是距离。

把公式二代入公式一,我们可以得到如下:

(L0 + dL - P0)· normal = 0;--->   dL · normal + (L0 - P0) · normal = 0;

这样我们可以求出d值,然后我们就可以通过公式二求出P啦!

附上C#代码:

//point 是直线上面某一点,direct是直线的方向,planeNormal是垂直于平面的向量,planePoint是平面上的任意一点

public static Vector3 GetIntersectWithLineAndPlane(Vector3 point,Vector3 direct,Vector3 planeNormal,Vector3 planePoint)
    {
        float d = Vector3.Dot (planePoint - point, planeNormal)/Vector3.Dot(direct,planeNormal);
        return d * direct.normalized + point;
    }

如何求直线与平面的交点(两种方式)相关推荐

  1. Revit求直线与平面的交点

    直线与平面的交点有两种情况,交点在平面内或平面外,计算出交点后需确定此交点是否在已知平面内. 代码如下: /// <summary> /// 计算直线与平面的交点 /// </sum ...

  2. 求解直线与平面的交点

    求解直线与平面的交点 微信公众号:幼儿园的学霸 目录 文章目录 求解直线与平面的交点 目录 前言 数学模型推导 编程实现 参考资料 前言 直线与平面的交点求解相关的内容在网上已经有很多资料进行介绍,目 ...

  3. Unity求一条直线与平面的交点

    这个是面试官经常考的一个问题,我们先把它变成一个数学问题. 已知一个平面上的一点P0和法向量n,一条直线上的点L0和方向L,求该直线与该平面的交点P 如下图 首先我们分析一下我们知道平面和直线的法向量 ...

  4. Python两种方式求多个数的最大公因数(HCF)和最小公倍数(LCM)

    Python两种方式求多个数的最大公因数(HCF)和最小公倍数(LCM) 最大公因数 1. 列表排序 2. 将列表分为两部分 3. 求最大公因数的质因子 4. 得到结果 5. 完整程序 最小公倍数 另 ...

  5. Java练习:两种方式求1+1/2!+1/3!+1/4!+...前20项的和、用for,while,do-while分别实现1+1/2!+1/3!+1/4!+...前20项的和

    Java两种方式求 1+1/2!+1/3!+1/4!+... 前20项的和: 感叹号 !是阶乘的意思,如 2! .3! .4! 分别是:1*2 . 1*2*3 .1*2*3*4  第一种算法,如下代码 ...

  6. 417,BFS和DFS两种方式求岛屿的最大面积

    想了解更多数据结构以及算法题,可以关注微信公众号"数据结构和算法",每天一题为你精彩解答.也可以扫描下面的二维码关注 给定一个包含了一些0和1的非空二维数组grid . 一个岛屿是 ...

  7. Unity3D两种方式播放视频

      Unity3D中播放游戏视频的方式有两种,第一种是在游戏对象中播放,就好比在游戏世界中创建一个Plane面对象,摄像机直直的照射在这个面上.第二种是在GUI层面上播放视频.播放视频其实和贴图非常相 ...

  8. Windows注册服务的两种方式,并设置服务开机自启

    目录 第一种方式: 下载instsrv.exe和srvany.exe 用管理员身份运行"命令提示符"工具 用"注册表编辑器"将服务替换为自己需要的功能 修改完注 ...

  9. SDN的两种方式分析

    ONF成立两年之际,SDN开始得到业界的广泛认同,尤其是从IT真正走入了CT,而CT的网络类型五花八门,这使得SDN的应用场景急剧增长,大有无所不能之势. 业界目前所推的SDN无非两种 方式一是原生的 ...

最新文章

  1. java 调用计算机程序方法
  2. 获取表单提交的数据getParameter()方法
  3. 13张PPT带你了解主动式消息队列处理集群
  4. 【人脸识别】Cos Face中的LMCL详解
  5. 阿里云:Table Store(OTS) Writer
  6. 织梦当前位置对应php文件,织梦cms怎么获取当前栏目路径
  7. c# 获取路径的盘符_C# IO操作之 如何玩转路径
  8. day14:磁盘管理df/du/fdisk/parted命令
  9. 大学本科计算机考试小抄,大学考试竟允许光明正大打小抄你也考不过
  10. Java实现简易文本编辑器
  11. @PostConstruct @DependsOn
  12. flashfxp3.41中文版注册码:(适合最新版本)
  13. 常用软件过程模型-快速原型模型,快速原型模型有哪几种?各有何特点?
  14. git提交代码至码云
  15. 深度思考:广州互联网气氛为何远远落后于北京
  16. Python面向对象版学员管理系统
  17. 驭龙HIDS的简介,它开源了
  18. Mysql组复制(MGR)——监控
  19. 今日头条-快速获取爆文素材的5大途经
  20. Spring Boot 2.0 配置图文教程 1

热门文章

  1. 幸运的是,我的老师很严厉~
  2. 土壤PH值传感器 农业中土壤环境监测
  3. 讲座笔记 | 刘守英 教授讲座 王永钦 教授讲座
  4. 反向题在测试问卷信效度_问卷信效度分析
  5. H5-soul星球特效
  6. [Toy]自动生成Low Poly风格图像 —— 基于Edge Drawing和Delaunay
  7. Cesium 模型裁切(包括单面和多面)
  8. 【考研复习】IP地址划分小题
  9. (二)以太坊——在私有链进行转账操作
  10. 数学建模优化模型简单例题_数学建模中简单的优化模型