点到平面的距离公式

简介:

准备知识

平面的一般式方程

Ax +By +Cz + D = 0

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

向量的模(长度)

给定一个向量V(x, y, z),则|V| = sqrt(x * x + y * y + z * z)

向量的点积(内积)

给定两个向量V1(x1, y1, z1)和V2(x2, y2, z2)则他们的内积是

V1V2 = x1x2 + y1y2 + z1z2

点到平面的距离

有了上面的准备知识,则求点到直线的距离不再是难事,有图有真相

如果法相量是单位向量的话,那么分母为1

ORGE中的实现

顺便看一下Ogre中的实现

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

可见Ogre默认法相量为单位向量,且没有对结果取绝对值,根据注释,当点与法相量的方向在同一侧时,结果为正,否则为负。


本文转自zdd博客园博客,原文链接:http://www.cnblogs.com/graphics/archive/2010/07/10/1774809.html,如需转载请自行联系原作者

相关文章
|
JavaScript 前端开发
Vue实现模糊查询
Vue实现模糊查询
307 1
|
3月前
|
消息中间件 人工智能 分布式计算
多智能体系统设计:协作、竞争与涌现行为
作为一名长期专注于分布式系统和人工智能领域的技术博主,我深深被多智能体系统(Multi-Agent Systems, MAS)的复杂性和优雅性所吸引。在过去几年的研究和实践中,我见证了多智能体系统从理论概念逐步走向实际应用的转变过程。多智能体系统不仅仅是简单的分布式计算模型,它更像是一个微观社会,其中每个智能体都具有自主性、反应性和社会性。这些智能体通过复杂的交互模式,展现出了令人惊叹的集体智能现象。从最初的简单协作模式,到复杂的竞争博弈,再到最终涌现出的群体智慧,多智能体系统为我们提供了一个全新的视角来理解和设计复杂系统。在本文中,我将从架构设计原则出发,深入探讨通信协议的设计要点,分析冲突
412 0
多智能体系统设计:协作、竞争与涌现行为
|
缓存 应用服务中间件 Apache
为什么 Nginx 比 Apache 更牛叉?
本文介绍了Nginx在处理高并发方面的优势和工作原理。与Apache相比,Nginx在处理大量并发静态请求时效率更高,并能轻松解决C10K问题。文章详细讲解了Apache的三种工作模式(prefork、worker、event)以及它们的工作原理,然后介绍了Nginx如何提高Web服务器的并发连接处理能力。Nginx支持基于线程、事件驱动、异步和非阻塞的架构,通过多路复用和事件通知机制处理并发连接和请求。同时,Nginx的轻量化特性使其消耗较少的内存和CPU资源,可以高效地处理可以高效地处理海量并发连接。内容转载至https://www.sohu.com/a/653374147_1211243
|
Docker Python Windows
pycharm使用fastapi/uvicorn无法reload的问题
这篇文章讨论了在PyCharm中使用FastAPI和uvicorn时遇到的无法快速重载的问题,并提供了包括降级uvicorn版本和使用命令行运行等解决方法。
pycharm使用fastapi/uvicorn无法reload的问题
|
数据采集 存储 JSON
推荐3款自动爬虫神器,再也不用手撸代码了
推荐3款自动爬虫神器,再也不用手撸代码了
915 4
|
存储 SQL 关系型数据库
MySQL中的update操作与锁机制
本文探讨MySQL中`UPDATE`操作的自动加锁机制及其对数据一致性的保障作用。尤其在InnoDB存储引擎下,系统会在涉及索引的更新操作中加行锁或间隙锁,防止多事务并发修改同一条记录。通过福利码兑换系统的实例展示,当线程A开启事务更新库存时,线程B试图更新相同记录会被阻塞,直至线程A提交。此外,文章还介绍了乐观锁及版本号控制等策略进一步提升并发性能的方法。作者:小明爱吃火锅,来源:稀土掘金。
654 2
|
存储 算法 索引
Draco使用笔记(1)——图形解压缩
Draco使用笔记(1)——图形解压缩
283 0
|
资源调度 JavaScript
Element-ui快速入门
Element-ui是基于Vue.js的桌面端UI组件库,用于快速构建美观界面。以下是其快速入门步骤:1) 使用npm或yarn安装;2) 在main.js中引入样式和组件;3) 直接在Vue组件中使用Element-ui组件;4) 可根据需要定制主题样式。参照官方文档可了解更多组件和用法。
|
运维 监控 安全
运维工程师的转型与升级:解析35岁半衰期现象及其应对策略
运维工程师的转型与升级:解析35岁半衰期现象及其应对策略
377 1
|
存储 程序员 C++
【Python 基础教程 03 类型转换】从隐式到显式:全面理解Python数据类型转换的超详细初学者入门教程
【Python 基础教程 03 类型转换】从隐式到显式:全面理解Python数据类型转换的超详细初学者入门教程
543 0