CN112132975A - 一种基于无序离散点创建三维曲面的方法及装置 - Google Patents
一种基于无序离散点创建三维曲面的方法及装置 Download PDFInfo
- Publication number
- CN112132975A CN112132975A CN202010893839.8A CN202010893839A CN112132975A CN 112132975 A CN112132975 A CN 112132975A CN 202010893839 A CN202010893839 A CN 202010893839A CN 112132975 A CN112132975 A CN 112132975A
- Authority
- CN
- China
- Prior art keywords
- curved surface
- dimensional curved
- points
- discrete points
- discrete
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明涉及三维曲面建模技术领域,公开了一种基于无序离散点创建三维曲面的方法,包括以下步骤:获取无序离散点的坐标值并存储;在X‑Y平面上显示各离散点的投影点,生成多行多列的投影点阵;通过排序算法对各所述投影点按X坐标值和Y坐标值分别进行两次排序;根据排序后各离散点的Z坐标值建立三维曲面。本发明方法无需按顺序输入点坐标,在输入无序离散点时也可以进行三维曲面的创建。
Description
技术领域
本发明涉及三维曲面建模技术领域,具体涉及一种基于无序离散点创建三维曲面的方法、装置以及计算机存储介质。
背景技术
计算机图形学CG(Computer Graphics)是把计算机应用于图形的显示及绘制方面而逐渐形成的一门学科。在计算机图形学中,对图形的所有处理都要以图形基本信息的保存为前提。只有在图形基本信息的基础上,才能对图形进行变形、缩放、显示等处理。而这里的基本信息指的是几何信息和拓扑信息。传统的方法是利用一个顶点表和一个三角形表来分别存储的。以三角形为基本单位进行造型、绘制,就造成计算量急剧增加,尤其是对于复杂场景或大型的机械零部件来说,三角片的数量相当大,这就意味着进行绘制需要耗费大量的计算机时间。
基于离散点的绘制技术(Point-based Rendering,PBR)就是在点的基础上进行造型和绘制以及其他的一些图形学上的处理。它抛弃了传统的三角片表示方法,只记录点的信息,由这些点的信息直接重构出最终的图像。例如在AutoCAD中用3dmesh命令,在命令行中输入构成曲面的顶点行、列数,并按顺序输入各顶点坐标,可以创建自由格式的多边形网格。但是对于复杂场景或大型的机械零部件来说,空间坐标点数量非常庞大,中间输入过程一旦出现一个错误坐标,或者颠倒某个坐标的输入顺序,都将导致错误结果,浪费大量的人力、时间。
发明内容
本发明的目的在于克服上述技术不足,提供一种基于无序离散点创建三维曲面的方法、装置以及计算机存储介质,解决现有技术中需要按顺序输入各点,才能完成三维曲面创建,导致创建步骤复杂的技术问题。
为达到上述技术目的,本发明的技术方案提供一种基于无序离散点创建三维曲面的方法,包括以下步骤:
获取无序离散点的坐标值并存储;
在X-Y平面上显示各离散点的投影点,生成多行多列的投影点阵;
通过排序算法对各所述投影点按X坐标值和Y坐标值分别进行两次排序;
根据排序后各离散点的Z坐标值建立三维曲面。
本发明还提供一种基于无序离散点创建三维曲面的装置,包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现所述基于无序离散点创建三维曲面的方法。
本发明还提供一种计算机存储介质,其上存储有计算机程序,所述计算机该程序被处理器执行时,实现所述基于无序离散点创建三维曲面的方法。
与现有技术相比,本发明的有益效果包括:本发明在获取无序的离散点坐标后,X-Y平面上显示各离散点X、Y坐标投影点,若干个投影点在X-Y平面生成若干行和若干列的点阵;通过排序算法对这些投影点按纵坐标值和横坐标值分别进行两次排序;根据排序后各离散点的Z坐标值建立三维曲面。本发明只需要关注空间离散点数据的采集,就可以完成目标曲面的三维建模,将繁琐的离散点坐标顺序处理的工作通过程序实现,减少海量离散点建曲面时的工作量,极大地减少曲面三维建模的工作成本,提高曲面三维建模的效率。
附图说明
图1是本发明提供的基于无序离散点创建三维曲面的方法一实施方式的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
如图1所示,本发明的实施例1提供了基于无序离散点创建三维曲面的方法,包括以下步骤:
S1、获取无序离散点的坐标值并存储;
S2、在X-Y平面上显示各离散点的投影点,生成多行多列的投影点阵;
S3、通过排序算法对各所述投影点按X坐标值和Y坐标值分别进行两次排序;
S4、根据排序后各离散点的Z坐标值建立三维曲面。
本实施例首先通过纯文本文件读取离散点坐标值,点坐标在文本文件中存储时可以不需要括号,各数字之间可以是空格,也可以是逗号,也可以在一行中输入多个点的坐标,也可以一行只输入一个数字,但每一个离散点的坐标必须保证按照相对固定的数轴顺序(例如按X轴、Y轴、Z轴的顺序)输入。输入后,X-Y平面上显示各离散点X、Y坐标投影点,若干个投影点在X-Y平面生成若干行和若干列的点阵。由于空间离散点坐标的排序顺序是随机不分先后顺序输入的,因此对这些离散点点阵进行两次排序,第一次排序是按各离散点的Y值进行从小到大排序;第二次排序是根据离散点点阵的行数与列数,依次将点阵中每一行的X值按从小到大的顺序进行第二次排序。在对X值排序过程中,同时改变了X值所对应的Y坐标值的排列顺序。排序完后,通过网格中排序后的离散点的Z坐标值设置网格坐标值,进而建立三维曲面。同时,还进一步对创建的三维曲面进行后期处理,生成普通曲面、二次B样条曲面、三次B样条曲面或贝塞尔曲面,还可以将三维曲面在行、列方向上进行封闭,生成封闭曲面。
本方法在曲面生成过程中只需要读取离散点坐标的文本文件,离散点在文本文件中可以任意无序排列。使进行三维曲面建模时只需要进行空间数据的采集,就可以创建需要的曲面模型,而不用考虑离散点输入顺序的问题,极大地减少曲面三维建模的工作成本,提高曲面三维建模的效率。
优选的,获取无序离散点的坐标值并存储,具体为;
获取无序离散点的坐标值,并采用动态数组存储所述坐标值。
因为曲面设计的精度要求,空间离散点的数量随精度要求越高会相应增加,所以离散点的坐标值采用动态数组进行储存。
优选的,在X-Y平面上显示各离散点的投影点,生成多行多列的投影点阵,具体为:
根据三维曲面精度要求选取一定数量的离散点;
在X-Y平面上显示各离散点的投影点,生成投影点阵;
将所述俯视平面划分为多行多列的网格,得到多行多列的投影点阵。
空间离散点数量越多,网格越密,建立的三维曲面精度越高;反之,网格越疏,建立的三维曲面精度越低。因此用户可以根据需求采集合适数量的空间离散点,从而在满足精度需求的前提下,尽量减少曲面创建的运算量。
优选的,通过排序算法对各所述投影点按X坐标值和Y坐标值分别进行两次排序,具体为:
按Y坐标值从小到大的顺序对各投影点进行第一次排序;
根据离散点阵的行数与列数,依次将点阵中每一行的X值按从小到大的顺序进行第二次排序。
优选的,根据排序后各离散点的Z坐标值建立三维曲面,具体为:
以每一离散点的Z坐标值作为曲面的高度值;
根据所述高度值采用Add3Dmesh方法建立所述三维曲面。
本实施例Visual Basic.NET在AutoCAD软件中进行二次开发,在二次开发的程序中读取构成曲面顶点离散点坐标的文本文件,离散点在文本文件中可以任意无序排列,但坐标顺序必须保持相对固定。当进行三维曲面建模时只需要进行空间离散点数据的采集,而由二次开发程序对无序离散点进行有序排列的处理,使排列处理后的离散点符合曲面建模的要求,进而用Add3Dmesh方法建立曲面,通过本文方法的程序二次开发,不仅可以生成普通曲面,而且可以生成二次B样条曲面、三次B样条曲面或贝塞尔曲面,还可对曲面在行、列方向上进行封闭,生成封闭曲面。AutoCAD软件在机械工程制图领域通用性较强,所以本实施例的普及面相当广。
应该理解的,也可以基于本方法开发出相关的专业制图软件,满足工程技术人员进行曲面的三维建模。本方法还可以为逆向工程的专用设备及附属软件的开发设计提供借鉴和参考。
本方法可用于地图、实物、人脸等复杂场景下进行构建三维曲面。进行三维曲面建模时只需要进行空间数据的采集,就可以创建需要的曲面模型,而不用考虑离散点输入顺序的问题。
实施例2
本发明的实施例2提供了基于无序离散点创建三维曲面的装置,包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现实施例1提供的基于无序离散点创建三维曲面的方法。
本发明实施例提供的基于无序离散点创建三维曲面的装置,用于实现基于无序离散点创建三维曲面的方法,因此,基于无序离散点创建三维曲面的方法所具备的技术效果,基于无序离散点创建三维曲面的装置同样具备,在此不再赘述。
实施例3
本发明的实施例3提供了计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现实施例1提供的基于无序离散点创建三维曲面的方法。
本发明实施例提供的计算机存储介质,用于实现基于无序离散点创建三维曲面的方法,因此,基于无序离散点创建三维曲面的方法所具备的技术效果,计算机存储介质同样具备,在此不再赘述。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。
Claims (7)
1.一种基于无序离散点创建三维曲面的方法,其特征在于,包括以下步骤:
获取无序离散点的坐标值并存储;
在X-Y平面上显示各离散点的投影点,生成多行多列的投影点阵;
通过排序算法对各所述投影点按X坐标值和Y坐标值分别进行两次排序;
根据排序后各离散点的Z坐标值建立三维曲面。
2.根据权利要求1所述的基于无序离散点创建三维曲面的方法,其特征在于,获取无序离散点的坐标值并存储,具体为;
获取无序离散点的坐标值,并采用动态数组存储所述坐标值。
3.根据权利要求1所述的基于无序离散点创建三维曲面的方法,其特征在于,在X-Y平面上显示各离散点的投影点,生成多行多列的投影点阵,具体为:
根据三维曲面精度要求选取一定数量的离散点;
在X-Y平面上显示各离散点的投影点,生成投影点阵;
将所述俯视平面划分为多行多列的网格,得到多行多列的投影点阵。
4.根据权利要求1所述的基于无序离散点创建三维曲面的方法,其特征在于,通过排序算法对各所述投影点按X坐标值和Y坐标值分别进行两次排序,具体为:
按Y坐标值从小到大的顺序对各投影点进行第一次排序;
根据离散点阵的行数与列数,依次将投影点阵中每一行的X坐标值按从小到大的顺序进行第二次排序。
5.根据权利要求1所述的基于无序离散点创建三维曲面的方法,其特征在于,根据排序后各离散点的Z坐标值建立三维曲面,具体为:
以每一离散点的Z坐标值作为曲面的高度值;
根据所述高度值采用Add3Dmesh方法建立所述三维曲面。
6.一种基于无序离散点创建三维曲面的装置,其特征在于,包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1-5任一所述的基于无序离散点创建三维曲面的方法。
7.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机该程序被处理器执行时,实现如权利要求1-5任一所述的基于无序离散点创建三维曲面的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893839.8A CN112132975A (zh) | 2020-08-31 | 2020-08-31 | 一种基于无序离散点创建三维曲面的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893839.8A CN112132975A (zh) | 2020-08-31 | 2020-08-31 | 一种基于无序离散点创建三维曲面的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112132975A true CN112132975A (zh) | 2020-12-25 |
Family
ID=73847689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010893839.8A Pending CN112132975A (zh) | 2020-08-31 | 2020-08-31 | 一种基于无序离散点创建三维曲面的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112132975A (zh) |
-
2020
- 2020-08-31 CN CN202010893839.8A patent/CN112132975A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105678683B (zh) | 一种三维模型的二维存储方法 | |
JP6787661B2 (ja) | 工作物の機械加工のシミュレート | |
US20090184956A1 (en) | Method, medium, and system for compressing and decoding mesh data in three-dimensional mesh model | |
CN113593051B (zh) | 一种实景可视化方法及大坝可视化方法及计算机设备 | |
US20050151734A1 (en) | Method and apparatus for rendering, storing and editing voxel objects | |
US9971335B2 (en) | Hybrid dynamic tree data structure and accessibility mapping for computer numerical controlled machining path planning | |
JP3599386B2 (ja) | エッジの混合方法 | |
CN114693856B (zh) | 对象生成方法、装置、计算机设备和存储介质 | |
CN113894800A (zh) | 一种基于多点示教的规则网格焊接方法、装置、终端及存储介质 | |
US6897863B2 (en) | System and method for hidden object removal | |
CN112462689B (zh) | 生成工艺品数字模型随型雕刻四轴三联动刀具路径的方法 | |
Konig et al. | Real time simulation and visualization of NC milling processes for inhomogeneous materials on low-end graphics hardware | |
JPH08153214A (ja) | 3次元直交格子データの生成方法 | |
JP2937937B2 (ja) | 三次元オブジェクトデータ処理方法 | |
CN112132975A (zh) | 一种基于无序离散点创建三维曲面的方法及装置 | |
CN108257201B (zh) | 二维图案在三维工业模型表面帖敷的方法 | |
CN111179420B (zh) | 一种三维城市模型优化方法及系统 | |
CN110827303B (zh) | 一种虚拟场景的图像编辑方法及装置 | |
CN108537873B (zh) | 生成2d游戏斜45度地图不规则墙体的方法 | |
CN104036547A (zh) | 基于Leap Motion控制的三维笔刷实时生成网络模型的方法与装置 | |
CN112070892B (zh) | 一种用于地球物理勘探的等值线遍历构建三维模型的方法 | |
CN110796729B (zh) | 一种基于二叉树的网格划分方法 | |
JP3886559B2 (ja) | 不定形セルパターンを生成する方法および装置 | |
CN117252991B (zh) | 一种体素构造与边界表示的融合方法及三维图形引擎 | |
CN115391903B (zh) | 一种基于bim+ar钢筋图集可视化方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |