OpenCASCADE点向圆柱面投影

2023-10-07 08:40

本文主要是介绍OpenCASCADE点向圆柱面投影,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OpenCASCADE点向圆柱面投影

eryar@163.com

 

OpenCASCADE的类Extrema_ExtPElS提供了点到基本曲面的投影计算功能,距离可能是最大值或是最小值。如下图所示的点到圆柱的投影会有两个投影点P1P2,则点到圆柱的距离的最小值是PP1的距离,最大值是PP2的距离。本文主要是对此类中点到圆柱的投影算法进行分析。

 

Extrema_ExtPElS类中计算点到圆柱的投影源码列出如下:

 

结合源码的注释可以看出点P到圆柱S的投影主要按有如下步骤:

l 计算点P到以圆柱S轴线为法线的平面的投影点Pp

l 若点P在轴线上,则计算失败返回;

l 计算点Pp在圆柱U方向的参数U1(角度);

l 将参数U1(角度)加180度得到参数U2

l 计算参数(U1V),(U2V)对应在圆柱面上的点;

上述实现主要也是使用向量的运算,所以程序简单且性能高。其中保存的距离是距离的平方值,这种方式主要考虑的是自带的开方函数性能,除非后面要用到距离才会自己去开方,这样也是提供性能的一种处理方式。

OpenCASCADE的向量类gp_Vec提供了一个函数AngleWithRef(),查看源码可知这个函数主要是计算两个向量之间的夹角,其中参数向量Ref是用来处理角度的正负。当两个向量叉乘的向量与参考向量Ref反向时,也会将得到的角度值取负。

下面通过一个简单的小程序来将计算结果在Draw Test Harness中可视化,这样可以直观地验证一下:

 

将生成的脚本文件加载到DRAW中得到如下图所示的结果:

 

从上图可以看出,投影得到的两个点P1P2的高度值与点P是相同的。

转载于:https://www.cnblogs.com/opencascade/p/Project_Point_Cylinder.html

这篇关于OpenCASCADE点向圆柱面投影的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

常见的投影类型及详细解释

常见的地图投影根据保留地球的不同几何特性(形状、面积、距离等)可以分为几大类。以下是常见的投影类型及详细解释: 一、正形投影(保持形状) 1. 墨卡托投影(Mercator Projection) 特点:保持形状,但严重扭曲面积,尤其在高纬度地区。应用:海洋导航、在线地图(如 Google Maps 在小比例尺下使用)。原理:投影将地球表面展开成矩形,经线垂直,纬线等距。优点:航线在图上为直

5-7千元性价比最高的家用4K投影:大眼橙X30Ultra和当贝X5SPro对比

临近开学又有不少投影品牌上了新品,大眼橙这家国产投影品牌也在9月初上新了两款不同价位的投影,一款是三千多的X7DUltra,一款是五千多的X30Ultra。正好有朋友最近向我咨询购买投影仪的事情,他预算六千左右,问有没有值得买的4K投影仪,挑了一款六千价位卖的最火爆的当贝X5SPro和这款新品大眼橙X30Ultra对比看看,哪款配置更高,谁更值得买。 选择当贝X5SPro这款产品

1.39TB高清卫星影像更新(WGS84坐标投影)

最近对WGS84版的高清卫星影像数据进行了一次更新,并基于更新区域生成了相应的接图表。 1.39TB高清卫星影像更新 本次数据更新了1576个离线包,共1.39TB大小,并全部生成了更新接图表。 更新接图表范围 更新接图表由每一个离线包文件的范围构成,放大地图可以查看接图表的编号。    接图表编号 我们打开瓦片编号并放到到第12级,可以发现接图表的编号与瓦片编号完全一

opencv的球面投影

cv::detail::SphericalProjector 在全景图像拼接任务中,可能需要对多个图像进行球面投影以实现无缝拼接。每个cv::detail::SphericalProjector可以负责一个图像的球面投影操作。通过将多个这样的投影器存储在std::vector中,可以对一组图像依次进行投影处理,为后续的图像融合和拼接做准备。 例如,当拼接一组由不同角度拍摄的照片以创建全景图时,这

GAMES202——作业5 实时光线追踪降噪(联合双边滤波、多帧的投影与积累、À-Trous Wavelet 加速单帧降噪)

任务         1.实现单帧降噪         2.实现多帧投影         3.实现多帧累积         Bonus:使用À-Trous Wavelet 加速单帧降噪 实现         单帧降噪         这里实现比较简单,直接根据给出的联合双边滤波核的公式就能实现          Buffer2D<Float3> Denoiser::Fil

Opencv中的直方图(1)计算反向投影直方图函数calcBackProject()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 计算直方图的反向投影。 cv::calcBackProject 函数计算直方图的反向投影。也就是说,类似于 calcHist,在每个位置 (x, y),该函数收集输入图像中选定通道的值,并找到对应的直方图区间。但是,与其递增该区间值,该函数读

墨卡托、高斯克吕格、UTM投影

https://wenku.baidu.com/view/e53e7dd4f71fb7360b4c2e3f5727a5e9846a274b.html 1,            什么是UTM(Universal Transverse Mercator projection)投影? UTM投影全称为:通用横轴墨卡投影,是一种等角横轴割圆柱投影。椭圆柱割地球于南纬80度,北纬84度两条等高

【译】PCL官网教程翻译(21):旋转投影统计(RoPs)特征 - RoPs (Rotational Projection Statistics) feature

英文原网址查看 旋转投影统计(RoPs)特征 在本教程中,我们将学习如何使用pcl::ROPSEstimation类来提取点特性。在这门课中实现的特征提取方法是由Yulan Guo, Ferdous Sohel, Mohammed Bennamoun, Min Lu and Jianwei Wanalso在他们的文章《旋转投影统计用于三维局部表面描述和目标识别》中提出的。 理论基础 特征提

【解析几何笔记】8.向量的投影与内积

8. 向量的投影与内积 复习前面的知识:,若BCE三点共线,则 A E ⃗ = ( 1 − s ) A B ⃗ + s A C ⃗ , ( B , C , E ) = μ ⇒ s = μ 1 + μ , 1 − s = 1 1 + μ \vec{AE}=(1-s)\vec{AB}+s\vec{AC},(B,C,E)=\mu\Rightarrow s=\frac{\mu}{1+\mu},1-s=

前端实现投影坐标和地理坐标系(CGCS2000)转换

前言 地理坐标系和投影坐标系是地理信息系统(GIS)和制图学中用于描述地球表面位置的两种不同的参考系统。它们在使用方式和应用场景上有显著的区别。 1、什么是地理坐标系和投影坐标系? 1.1、地理坐标系 地理坐标系是基于地球的三维球面模型来描述位置的系统。地理坐标系通常使用经度和纬度来表示地球表面的任何一个点。常见的地理坐标系:WGS1984(World Geodetic System 19