【3维视觉】3D空间常用算法(点到直线距离、面法线、二面角)

3D空间点到直线的距离

在这里插入图片描述
在这里插入图片描述

3D空间点到直线的距离

3D空间的曲率

三维空间有三个基本元素,点,线,面。那么曲率是如何定义的呢?

点的曲率?
线的曲率?
面的曲率?

法曲率

设曲面上的曲线在某一点处的切向量为df(X),曲面在这一点处的法向量为N。则曲线的法曲率就是曲线在df(X)和N张成的平面上的投影曲线的曲率。
在曲面上取一点E,曲面在E点的法线为z轴,过z轴可以有无限多个剖切平面,每个剖切平面与曲面相交,其交线为一条平面曲线,每条平面曲线在E点有一个曲率半径。不同的剖切平面上的平面曲线在E点的曲率半径一般是不相等的。
在这里插入图片描述

主曲率

曲面的每个方向都有法曲率,那么就有最大最小的法曲率,这个最大最小值就是主曲率,对应的曲线在这点的切线方向就是主曲率方向。这两个方向是垂直的。
在这里插入图片描述

根据主曲率的不同,可以对曲面分类
在这里插入图片描述

高斯曲率

微分几何中,曲面上一点的高斯曲率是该点主曲率κ1和κ2的乘积。
K = k 1 ∗ k 2 K= k_1*k_2 K=k1k2

**它是曲率的内在度量,度量的是曲面内在的弯曲程度。**也即,它的值只依赖于曲面上的距离如何测量,而不是曲面如何嵌入到空间。一个曲面做任何非拉伸的变换都不会改变它的高斯曲率,如平面高斯曲率为0,把它弯曲成圆柱,其高斯曲率也还是为0。

三维网格高斯曲率计算公式:

K ( v ) = 1 A ( v ) ( 2 π − ∑ v i ∈ N 1 ( v ) θ i ) K(v) = \frac{1}{A(v)}(2\pi - \sum_{v_i\in{ N_1}(v)}\theta_i) K(v)=A(v)1(2πviN1(v)θi)

这个公式的几何意义是比较直观的,2*Pi-该点邻域三角形对应的角度和,再除以相应区域的面积,就刻画了该点曲面的弯曲程度。
在这里插入图片描述

平均曲率

微分几何中,曲面上一点的平均曲率是该点主曲率κ1和κ2的平均值。
K = k 1 + k 2 2 K=\frac{k_1 + k_2}{2} K=2k1+k2

它度量了曲面在空间中的弯曲程度。比如平面弯曲成圆柱后,其平均曲率就不为0了。

高斯曲率

如何简明地解释曲率(curvature)?
法曲率、主曲率、高斯曲率、平均曲率
三角网格表面高斯曲率的计算与可视化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/57691.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

prometheus+grafana进行服务器资源监控

在性能测试中,服务器资源是值得关注一项内容,目前,市面上已经有很多的服务器资 源监控方法和各种不同的监控工具,方便在各个项目中使用。 但是,在性能测试中,究竟哪些指标值得被关注呢? 监控有…

Git下:Git命令使用-详细解读

今天给大家讲一讲 Git常用命令的使用说明,希望本篇文章对大家有所帮助。 一、Git 安装 Git 的详细安装教程:见上一篇文章《Git上:Git安装教程》: Git上:全网最全最详细的Git安装教程,建议收藏保存 二、…

TDosCommand 组件来执行 JavaScript 脚本(nodejs)

可以在 Delphi 中使用 TDosCommand 组件来执行 JavaScript 脚本。但是,由于 JavaScript 是一种脚本语言,它通常在浏览器中运行,因此您需要使用一种 JavaScript 引擎来执行 JavaScript 脚本。常见的 JavaScript 引擎有 Node.js、Rhino、V8 等等…

面试题学习以及问题

redis redis缓存 缓存穿透 布隆过滤器主要是用于检索一个元素是否在一个集合中。我们当时使用的是 redisson实现的布隆过滤器。 它的底层主要是先去初始化一个比较大数组,里面存放的二进制0或1。在一 开始都是0,当一个key来了之后经过3次hash计算&…

vscode配置c++环境

第一步:安装vscode编辑器 预先安装: vscode(https://code.visualstudio.com/)在vscode中安装 C/C extension for VS Code(在左侧扩展栏中搜索 “C”) 第二步:安装MinGW-w64工具链 MinGW 提供…

超详情的开源知识库管理系统- mm-wiki的安装和使用

背景:最近公司需要一款可以记录公司内部文档信息,一些只是累计等,通过之前的经验积累,立马想到了 mm-wiki,然后就给公司搭建了一套,分享一下安装和使用说明: 当前市场上众多的优秀的文档系统百…

VBA技术资料MF36:VBA_在Excel中排序

【分享成果,随喜正能量】一个人的气质,并不在容颜和身材,而是所经历过的往事,是内在留下的印迹,令人深沉而安谧。所以,优雅是一种阅历的凝聚;淡然是一段人生的沉淀。时间会让一颗灵魂&#xff0…

设置系统编码 Beta

在yolov5环境搭建过程中会遇到如下的编码错误警告: 这时,按住“ctrlc”中止进程,然后设置系统编码: 电脑右键属性打开: 重启之后等安装好了,记得回去把bae键取消。

Ansible自动化运维工具 —— Playbook 剧本

playbooks 本身由以下各部分组成 (1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 (2)Variables:变量 (3)Templates:模…

iOS——Block one

块类似于匿名函数或闭包,在许多其他编程语言中也存在类似的概念。 可以访问上下文,运行效率高 Block 以下是块的一些基本知识: 块的定义:块是由一对花括号 {} 包围的代码片段,可以包含一段可执行的代码。块的定义使…

Stable Diffusion - Stable Diffusion WebUI 支持 SDXL 1.0 模型的环境配置

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132056980 SDXL 1.0 版本 是 Stable Diffusion 的最新版本,是基于潜在扩散模型的文本到图像生成技术,能够根据输入的任何文…

机器学习知识经验分享之六:决策树

python语言用于深度学习较为广泛,R语言用于机器学习领域中的数据预测和数据处理算法较多,后续将更多分享机器学习数据预测相关知识的分享,有需要的朋友可持续关注,有疑问可以关注后私信留言。 目录 一、R语言介绍 二、R语言安装…

ansible的脚本——playbook剧本

目录 一、playbook的组成 二、 playbook安装httpd服务 1.编写playbook剧本 2.运行playbook 三、定义、引用变量 四、 指定远程主机sudo切换用户 五、when条件判断 六、迭代 七、Templates 模块 1.先准备一个以 .j2 为后缀的 template 模板文件,设置引用的变…

数据库:MYSQL参数max_allowed_packet 介绍

1、参数作用 max_allowed_packet参数是指mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小。如果超过了设置的最大长度,则会数据库保持数据失败。 2、问题场景 ● 有时候业务的需要,可能会存在某些字段数据长度非常大(比如富文本编辑器里面的内容),…

docker 哨兵模式和集群模式安装Redis7.0.12

docker 哨兵模式和集群模式安装Redis7.0.12 1.下载镜像 1.1 配置阿里云加速源 墙外能访问https://hub.docker.com/_/redis 的可跳过 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 登录后选择左侧的镜像工具>镜像加速器,获取加速器地址&#…

Vue3和typeScript路由传参

1 params传的参数,页面刷新就消失,而query传的参数,页面刷新还会存在,所以通常用query。 query传参 跳转页面:拿到router对象,调用push方法做跳转. import { useRoute,useRouter} from "vue-router"; export default…

GPIO简介

一、GPIO GPIO(General-purpose input/output)即通用型输入输出,GPIO可以控制连接在其之上的引脚实现信号的输入和输出 芯片的引脚与外部设备相连,从而实现与外部硬件设备的通讯、控制及信号采集等功能 LED实验步骤 实验步骤 以L…

图文演示:如何三分钟极速搭建一个元宇宙3D虚拟展厅

引言: 元宇宙3D虚拟展厅时代已经来临。元宇宙是一个虚拟的、立体的数字空间,可以让用户沉浸在其中进行交互操作,并体验无限可能。如何快速搭建一个属于自己的虚拟展厅则受到越来越多人的关注。 一.虚拟展厅类型 1.党建展馆 实现…

小研究 - 微服务系统服务依赖发现技术综述(一)

微服务架构得到了广泛的部署与应用, 提升了软件系统开发的效率, 降低了系统更新与维护的成本, 提高了系统的可扩展性. 但微服务变更频繁、异构融合等特点使得微服务故障频发、其故障传播快且影响大, 同时微服务间复杂的调用依赖关系或逻辑依赖关系又使得其故障难以被及时、准确…

mysql月统计数据,没有的填充为0

要按时间戳字段按月份分组查询记录表,可以使用DATE_FORMAT函数将时间戳字段格式化为年月格式,然后将结果按照该字段进行分组。 SELECT a.month month,ifnull(b.count, 0) count FROM (SELECT 1 month UNION ALL SELECT 2 month UNION ALL SELECT 3 mont…