多平面包络的圆柱体参数估计

2023-12-29 18:04

本文主要是介绍多平面包络的圆柱体参数估计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

多平面包络的圆柱体参数估计

场景

现有多个空间平面包络一个柱体,从圆柱顶端俯视如图所示:
在这里插入图片描述
中心位置为圆柱实际所在位置。现在已知这些平面的参数(每个平面的方程均为ax+by+cz+d=0形式, 参数为a,b,c,d),希望求解它们包络的这个圆柱的几何信息。

分析

三维空间中,圆柱的几何信息有两类表达方式:

  1. 圆柱中轴的方向向量 ( u , v , 1 ) (u,v,1) (u,v,1)和中轴上一点坐标 ( x , y , z ) (x,y,z) (x,y,z),以及半径r
  2. 圆柱顶面中心点坐标 ( x 1 , y 1 , z 1 ) (x_1,y_1,z_1) (x1,y1,z1),底面中心点坐标 ( x 2 , y 2 , z 2 ) (x_2,y_2,z_2) (x2,y2,z2),以及半径r
    前一种表达方式具有最少的参数量,描述了一个无限高度的空间圆柱体;后一种表达方式多了一个参数,本质上限定了圆柱顶面和底面的位置。

已知的几何约束包括:

  1. 中轴垂直于所有平面的法向量。
  2. 中轴必定被所有平面包围在内部。
  3. 中轴上任意一点到各平面的距离相等且非0,这个距离就是半径r

求解方案

多平面包络圆柱体只能是在局部范围内包络。受计算机数值精度影响,很难使所有平面完美相切同一圆柱体,因而很可能出现在不同的Z坐标处所包络的圆柱体半径不同的情况。此外,如果没有Z坐标,我们只能得到空间直线的方程,实际上没有太大用处,不易基于它来求半径。因此一个关键要素就是:先验的Z值。

根据应用场景,我们假定有先验估算的z坐标最小值和最大值。
由于没有任何一个平面过中轴,而是仅仅与圆柱体表面相切,中轴上点的位置无法直接求解。可以考虑先求解中轴的方向,再求中轴上一点的坐标和半径。

求解方法一

  1. 由于已知所有平面的参数a、b、c、d,可以直接求出中轴方向:当仅有两个不相交平面时,即可用它们法向量的叉积直接得到中轴方向;平面数量更多时,需要使用最小二乘法求解最佳的中轴方向。
  2. 先取出圆柱体中轴上一点的z坐标近似值 z 0 z_0 z0
  3. 将该 z 0 z_0 z0代入所有平面方程,求解中轴上z坐标为 z 0 z_0 z0的一点的x,y坐标近似值。由于中轴在多平面包络的内部,因此只需将平面两两相交的交点重心作为x,y坐标近似值 ( x ′ , y ′ ) (x',y') (x,y)
  4. x,y坐标精化和半径r求解。这一步利用约束3,列出约束条件方程:
    ∣ ∣ a x 0 + b y 0 + c z 0 + d ∣ a 2 + b 2 + c 2 − r ∣ = 0 |\frac{|ax_0+by_0+cz_0+d|}{\sqrt{a^2+b^2+c^2}}-r|=0 a2+b2+c2 ax0+by0+cz0+dr=0
    其中 ( x 0 , y 0 , z 0 ) (x_0,y_0,z_0) (x0,y0,z0)是待求的中轴点坐标( z 0 z_0 z0已知)。由于带有绝对值符号,求解存在一定困难,可以考虑使用下面的形式:
    ( a x 0 + b y 0 + c z 0 + d ) 2 a 2 + b 2 + c 2 − r 2 = 0 \frac{(ax_0+by_0+cz_0+d)^2}{a^2+b^2+c^2}-r^2=0 a2+b2+c2(ax0+by0+cz0+d)2r2=0
    求解的初始值使用近似值 ( x ′ , y ′ ) (x',y') (x,y),半径取正实数即可。
  5. 近似值 ( x ′ , y ′ ) (x',y') (x,y)偏差不太大时,即可得到较好的解:中轴上一点 ( x 0 , y 0 , z 0 ) (x_0,y_0,z_0) (x0,y0,z0),中轴方向和半径 r r r

注意到,中轴方向的求解和半径、中轴点求解是分离的。由此产生解法二

  1. 取到圆柱体的z坐标范围 z m i n , z m a x z_{min},z_{max} zmin,zmax
  2. z m i n z_{min} zmin代入所有平面方程,求解中轴上z坐标为 z m i n z_{min} zmin的一点的x,y坐标近似值。
  3. z m a x z_{max} zmax代入所有平面方程,求解中轴上z坐标为 z m a x z_{max} zmax的一点的x,y坐标近似值。
  4. z m i n , z m a x z_{min},z_{max} zmin,zmax对应的x,y坐标精化和半径r求解。求解的初始值使用上一步得到的近似值,半径取正实数即可。为使求解更严谨,可以将两组方程列在一起求解唯一的r。
  5. 近似值与真实值偏差不太大时,可得到较好的解:中轴两点 ( x m i n , y m i n , z m i n ) (x_{min},y_{min},z_{min}) (xmin,ymin,zmin) ( x m a x , y m a x , z m a x ) (x_{max},y_{max},z_{max}) (xmax,ymax,zmax)和半径 r r r

求解效果

初始中轴点求解效果:

在这里插入图片描述
可见,初始点位在平面包络的内部空间,可以进行下一步精化、半径求解。

最终的可视化结果如图:
在这里插入图片描述

这篇关于多平面包络的圆柱体参数估计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/550242

相关文章

求空间直线与平面的交点

若直线不与平面平行,将存在交点。如下图所示,已知直线L过点m(m1,m2,m3),且方向向量为VL(v1,v2,v3),平面P过点n(n1,n2,n3),且法线方向向量为VP(vp1,vp2,vp3),求得直线与平面的交点O的坐标(x,y,z): 将直线方程写成参数方程形式,即有: x = m1+ v1 * t y = m2+ v2 * t

高斯平面直角坐标讲解,以及地理坐标转换高斯平面直角坐标

高斯平面直角坐标系(Gauss-Krüger 坐标系)是基于 高斯-克吕格投影 的一种常见的平面坐标系统,主要用于地理信息系统 (GIS)、测绘和工程等领域。该坐标系将地球表面的经纬度(地理坐标)通过一种投影方式转换为平面直角坐标,以便在二维平面中进行距离、面积和角度的计算。 一 投影原理 高斯平面直角坐标系使用的是 高斯-克吕格投影(Gauss-Krüger Projection),这是 横

n条直线最多能划分出多少个平面?

N条直线,两两相交,其交点各不不同,则产生的交点数目为N个数中取2个数的组合; 同时,也只有这种情况下(两两相交,也交点不同),分割的平面数最多, 数目为: 2 + (N-1)(N+2)/2.  这里求最少平面数没有意义,因为最少平面数就是N+1, 即N条直线两两平行的时候,分割的平面最少。 举例: 1条直线分割平面数最多为2; a1 = 2 2条直线分割平面数最多为4;

【机械手控制】基于matlab 4-RPR平面机械手的可操作性、工作空间分析和路径跟踪【含Matlab源码 7422期】

✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信或扫描文章底部QQ二维码。 🍎个人主页:Matlab凤凰涅槃 🏆代码获取方式:扫描文章底部QQ二维码 ⛳️座右铭:行百里者,半于九十。 更多Matlab路径规划仿真内容点击👇 ①Matlab路径规划(凤凰涅槃版) ⛳️关注微信公众号Matlab王者助手或Matlab海神之光,更多资源等你来!!

什么叫做 “沿着晶体平面偏析”

“沿着晶体平面偏析”指的是在晶体材料中,某些元素或原子优先聚集或沉积在特定的晶体平面上,而不是均匀地分布在整个晶体中。这种现象通常发生在合金、半导体或其他多元材料的制备和热处理过程中。 关键点解释: 晶体平面:晶体是由原子按照特定的空间排列构成的,晶体平面是沿着某个特定方向上的原子排列面。这些平面通常根据晶体的对称性和结构特点来定义,如金属材料的{111}或{100}晶面。 偏析:在材料科

简述CCS平面线性光源

光源在机器视觉系统中起着重要作用,不同环境、场景及应用合适光源都不一样,今天我们来看看LFX3-PT系列平面线性光源。它是最适合检测镜面物体的凹凸,外壳小巧的光源。备有根据检测条件可选的2种线间距。1mm型(型号末尾:A)、2mm型(型号末尾:B)。 特点: 1、将导光板表面的印刷图案从点状更改为线状,可对同轴光源难以检测出的镜面物体上,“不明显的凹凸”进行提取并实现成像。

手机拍照-平面画

平面画技巧小结 1.怎么构建平面画? 1.点 2.线 3.面 2.怎么构建点? 1.对比手法:大小 2.中央展示 3.对比:上点感觉轻,下点感觉稳定 3.怎么构建线? 1.直线–> 稳定感 2.斜线–> 运动感 3.折线–>分割感,锋芒毕露 4.弧线–>柔软 5.曲线 6.黄金分割线—>三分线,分割在三分之一处 7.引导线—>引向某处 8.放射线—>近大远小,汇聚中央 4.怎么构建面

【机器人学】7-4.六自由度机器人自干涉检测-两圆柱体空间关系【附MATLAB代码】

目录 前言         公式推导 MATLAB代码 前言                 前面介绍了两个圆柱的旋转变换,已将两个圆柱体旋转到了比较好分析的位置,下面将正式分析两个圆柱体的位置关系。会借用投影的思想。  一  根据机械臂的几何数据以及DH参数,确定机械臂等效的圆柱体的上下圆心坐标。 二  将一个圆柱体旋转到与坐标Z轴对齐,另一个圆柱体转到,上下圆在XoY

【Altium Designer脚本开发】——PCB平面绕组线圈 V1.4

PCB平面绕组线圈工具用于生成平面电机线圈,应用场景可参考平面电机的书籍、CNKI论文或平面电机的视频。此工具运行环境在Altium Designer中,可用于Altium Designer全系列的版本中。       以下工具可以定制和试用 原理图文档处理工具         ➡️物料编码自动查找工具         ➡️元器件参数集操作工具

摄像机标定学习笔记(5) 关于张正友平面标定方法

张正友教授于1998年提出了单平面棋盘格的摄像机标定方法,是一种用来标定摄像机的一种灵活的新技术,这种方法只需要相机的很少位置(至少两个)观测平面,并且相机和平面都可以以未知的速度自由移动,这种方法灵活易用,推动了计算机视觉从实验室走向现实世界的关键一步。 1、算法描述 此标定方法简单实用,首先只需要打印一张模板并贴在一个平面上,用摄像机从不同的角度拍摄若干模板的图像,然后检测图