点到平面距离公式

 distance =  Ax + By + Cz + D; //点P(x,y,z),平面的法向量n=(A,B,C),D是距原点的距离.

其中n = (A, B, C)是平面的法向量,D是将平面平移到坐标原点所需距离(所以D=0时,平面过原点)

  1. d < 0 — 点在平面法向反方向所指的区域;
  2. d > 0 — 点在平面法向所指的区域;
  3. d = 0 — 点在平面上。

使用函数表示如下:

bool isPointAboveThePlane(const Vector3& point, const Vector4& plane) {return (plane.x*point.x + plane.y*point.y + plane.z*point.z + plane.w >= 0);
}

推导过程

其中,求向量的模长,求法为:给定一个向量V(x, y, z),则|V| = sqrt(x * x + y * y + z * z)。

引擎中的实现

Real Plane::getDistance (const Vector3& rkPoint) const
{return normal.dotProduct(rkPoint) + d;
}

编者:艾孜尔江·艾尔斯兰

点与平面的距离特征_艾孜尔江撰相关推荐

  1. JavaScript实现令人放松的小游戏_艾孜尔江撰

    <html><head><!-- 由艾孜尔江·艾尔斯兰复现,转载或使用请注意标明出处.全程均使用鼠标交互,原游戏创作者不详,复现时有改动.使用时请在本地路径下放置一张玩家 ...

  2. 用JavaScript实现贪吃蛇游戏_艾孜尔江撰

    <!DOCTYPE html> <html><head><meta charset="utf-8" /><title>J ...

  3. JavaScript实现打砖块游戏_艾孜尔江撰

    <!DOCTYPE html> <html> <!-- 使用原生的JavaScript复现打砖块游戏:代码在复现时有所改动.--><head><m ...

  4. 获取平面的法向量_艾孜尔江撰

    Vector4 GetNormalVector(const Vector4& p1, const Vector4& p2, const Vector4& p3){Vector4 ...

  5. C++图书管理系统_艾孜尔江撰

    #include<iostream> #include<conio.h> //控制台数据输入输出的函数 #include<fstream>//文件流 #includ ...

  6. Git常用命令及其作用_艾孜尔江撰

    撤销所有本次未提交的修改(相当于Tortoise Git的revert按钮): git checkout . 恢复某个已修改的文件(撤销未提交的修改): git checkout file-name ...

  7. 从0开始配置云服务器开发环境_艾孜尔江撰

    选择云服务器系统为Cent OS最新版本或根据自己的需求选择稳定版本,并在完成部署之后从本地通过在终端中输入 ssh root@YourIPAdress 登录到服务器上,如果出现 ssh连接时提示TH ...

  8. 关闭Windows更新后出现的桌面下方天气预报_艾孜尔江撰

    问题阐述 最近根据微软官方定时更新提示,更新了一下Windows 10系统,更新完之后最大的改变我感觉就是桌面右下角任务栏上出现了关于今日天气预报的相关提示,类似于任务栏上的广告.笔者不禁慨叹:&qu ...

  9. 文曲星猜数字算法_艾孜尔江撰

    //姓名:艾孜尔江·艾尔斯兰 学号:17081160 时间:2018年5月25日 21:33 #include<iostream> #include<ctime>//时间 #i ...

最新文章

  1. 适用于Linux 2的Windows子系统上的CUDA
  2. [转载] 晓说——第2期:汉人无音乐都怪老祖宗
  3. map分组后取前10个_map根据属性排序、取出map前n个
  4. 解决: Failed to execute ... maven-deploy-plugin... Return code is: 401, ReasonPhrase: Unauthorized.
  5. thinking in java -- notes-2
  6. 线段树 + 字符串Hash - Codeforces 580E Kefa and Watch
  7. 设计模式的征途—1.单例(Singleton)模式
  8. vue 页面跳转404_Vue 项目棘手问题的解决方案
  9. 删除下拉框只找23火星软件_下拉推广选择23火星软件
  10. vi/Vim的快速使用
  11. leetcode978. Longest Turbulent Subarray
  12. 非对称加密(1)非对称加密原理
  13. 基于FPGA的中值滤波器设计
  14. WebService入门
  15. Go语言圣经阅读-第八周
  16. Mac版网易云音乐打不开
  17. R导入excel数据
  18. c语言程序设计教程答案王晓云,【单选题】华人图灵奖获得者是( ) A. 吴恩达 B. 王小云 C. 姚期智 D. 杨振宁...
  19. 阿里p7大手子测试笔记:一线互联网大厂面试问题吃透,巧过面试关
  20. php zlib decompress,PHP - Manual: Phar::decompress (官方文档)

热门文章

  1. 如何提升网页加载性能
  2. 海波专栏(水晶报表)
  3. left join用法
  4. 知识产权保护没跟上网络技术脚步
  5. 【3000字扫盲】来搞“颜色“!RGB/HSV/HSI颜色模型
  6. VMware提示无法打开内核设备 \\.\Global\vmx86: 系统找不到指定的文件解决方案
  7. it618积分商城 v5.6
  8. Non-dairynbsp;creamernbsp;植脂末
  9. 优秀的内部知识库对企业的重要性
  10. win7剪切板_win7系统如何清空剪切板 win7系统清空剪切板步骤【图文】