CN113822992B - 一种批量反转模型法线的方法 - Google Patents
一种批量反转模型法线的方法 Download PDFInfo
- Publication number
- CN113822992B CN113822992B CN202111390329.XA CN202111390329A CN113822992B CN 113822992 B CN113822992 B CN 113822992B CN 202111390329 A CN202111390329 A CN 202111390329A CN 113822992 B CN113822992 B CN 113822992B
- Authority
- CN
- China
- Prior art keywords
- normal
- model
- reference point
- point
- component
- 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.)
- Active
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Aviation & Aerospace Engineering (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种批量反转模型法线的方法,包括将三维模型导入到Houdini软件中,保留所有部件模型的三维空间位置信息;在三维模型外部任意位置创建一个参考点,保留参考点的三维空间位置信息;提取单个部件模型,根据参考点的三维空间位置信息确定部件模型法线的确切面;确定参考点相对于确切面的唯一点法线;确定确切面的唯一面法线;判断点法线方向与面法线方向是否一致;循环操作至将所有法线为反向的部件模型筛分出来并将法线为反向的部件模型的法线进行反转。本发明能够实现Houdini软件中部件模型法线的批量识别判断,能够快速有效地实现三维模型中所有部件模型的法线统一。
Description
技术领域
本发明涉及三维可视化技术领域,特别涉及一种批量反转模型法线的方法。
背景技术
随着市场对于三维模型的需求量日益增加,很多三维模型创建的法线都是有反有正,导致建模的时候挤出厚度的方向不对、影响材质的贴图渲染甚至造成模型不能生成。为了有效生成三维模型,需要将组成三维模型中的所有模型部件进行法线统一。
目前传统的解决方法是三维模型中的每一个模型部件单独选择出来进行逐一手动反转,效率低下且手动反转可能造成建模错误。
有鉴于此,实有必要提供一种新的技术方案以解决上述问题。
发明内容
发明目的:提供一种批量反转模型法线的方法,可以快速高效地对部件模型的法线方向进行判断,并对反向的法线进行反转,使三维模型中所有部件模型的法线实现统一,进而提高建模速度和质量。
为解决上述技术问题,本申请提供一种批量反转模型法线方法,包括如下步骤:
S1、将包括若干部件模型的三维模型导入到Houdini软件中,保留所有部件模型的三维空间位置信息;
S2、在三维模型外部任意位置创建一个参考点,保留参考点的三维空间位置信息;
S3、提取单个部件模型,根据参考点的三维空间位置信息确定所述部件模型法线的确切面;
S4、确定确切面的中心点,将中心点与参考点连线,确定参考点相对于确切面唯一的点方向线;
S5、确定确切面的唯一面法线;
S6、判断所述点方向线方向与所述面法线方向是否一致;
S7、重复所述步骤S3至步骤S6,直至将所有法线为反向的部件模型筛分出来;
S8:将所有法线为反向的部件模型的法线进行反转,得到法线方向一致的三维模型。
优选的,所述步骤3包括如下具体步骤:
S301、对所有部件模型修改name属性,使所有部件模型name属性下的名称都不相同;
S302、随机提取任意一部件模型;
S303、利用部件模型面的面属性和面uv以及参考点的三维空间位置信息,通过vex语言中的distance函数求得部件模型所有面的pt号,通过pt号把部件模型相对于参考点距离最短的面提取出来作为唯一面法线的确切面。
优选的,所述步骤S4包括如下具体步骤:
S401、将部件模型的确切面pack成只有一个中心点的mesh物体;
S402、将参考点与部件模型中心点通过add方式连成一条线,得到参考点相对于确切面唯一的点方向线;所述方向线由参考点指向面的中心点。
优选的,所述步骤S6包括如下具体步骤:
S601、测量参考点唯一的点方向线与部件模型的唯一面法线的夹角角度;
S602、将测量出的夹角角度转换为弧度,再将弧度转换为标量;
S603、将参考点唯一的点方向线向量与部件模型确切面的唯一面法线向量进行点乘,得到标量结果;
S604、判定所述标量结果的正负;
S605、根据所述标量结果的正负情况,确定参考点唯一的点方向线向量与部件模型确切面的唯一面法线方向是否一致。
优选的,所述步骤S6还包括如下具体步骤:
S606、将得到的标量结果转换为弧度,再将弧度转换为角度;
S607、将弧度转换得到的角度与90度进行比较,并将比较结果进行展示。
与现有技术相比,本申请至少具有以下有益效果:
本发明法线反转效果快,灵活方便,扩展性强,能够针对Houdini软件中不同的三维模型进行批量的反转,解决了现有三维模型的法线需要一一手动筛选反转的麻烦,节省了大量的人力物力,能够快速有效地实现三维模型中所有部件模型的法线统一。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1为本发明的总体流程图;
图2为本发明实施例中Houdini软件中法线方向不一致的三维模型示意图;
图3为本发明实施例中建立参考点A后的三维模型示意图;
图4为本发明实施例中三维模型中部件模型B的示意图;
图5为本发明实施例中具有确切面C的部件模型B局部示意图;
图6为本发明实施例中部件模型中心点D与参考点A连线示意图;
图7为本发明实施例中参考点A的方向线示意图;
图8为本发明实施例中确切面C面法线的示意图;
图9为本发明实施例中部件模型B法线反转后的三维模型示意图;
图10为本发明实施例中所有部件模型法线调整后的三维模型示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1-10所示,一种批量反转模型法线方法,包括如下步骤:
S1、将包括若干部件模型的太空飞船三维模型导入到Houdini软件中,保留所有部件模型的三维空间位置信息。
S2、在三维模型外部任意位置创建一个参考点A,保留参考点A的三维空间位置信息。
S3、提取单个部件模型B,根据参考点A的三维空间位置信息确定所述部件模型B法线的确切面。
具体的,对所有部件模型批量修改name属性,使所有部件模型name属性下的名称都不相同。利用for循环原理,提取任意一部件模型B。部件模型B由许多单面组成,不能用任意一个面和参考点去求法线,所以就需要确切面,利用确切面生成确切法线,因此本发明利用部件模型B的面属性和面uv与参考点A的三维空间位置信息,通过vex语言中的distance函数求得部件模型B所有面的pt号,通过pt号把部件模型B相对于参考点A距离最短的面提取出来作为唯一面法线的确切面C。法线是与面垂直的一个向量,可用以帮助调整模型的显示方向,因此部件模型上任意面的法线方向也就代表着部件模型的法线方向。确切面C的法线就能代表整个部件模型的法线正反,不需要再考虑模型上的其他面的法线情况。
S4、确定确切面C的中心点D,将中心点D与参考点A连线,确定参考点A相对于确切面C的唯一点方向线。参考点A与中心点D的连线为参考点A的方向线,方向是由参考点A指向中心点D。
具体的,将部件模型B的确切面pack成只有一个中心点D的mesh物体;将参考点A与中心点D通过add方式连成一条线,这条线的法线便是参考点A相对于确切面唯一的点方向线。
S5、根据确切面C能够确定其唯一面法线。一个确切面的法线能表示出部件模型的法线正反,因此只需求出确切面C的法线正反即可确定部件模型的法线正反。
S6、判断所述点方向线方向与所述面法线方向是否一致。
具体的,判断点方向线方向与面法线方向是否一致势必涉及到参考点的点发现与确切面的面法线向量的夹角。测量参考点A唯一的点方向线与部件模型B的唯一面法线的夹角角度,采用倒推法,先把测量出的角度转化为弧度,再把弧度转化为标量,而法线向量是矢量,要先明确最终得到结果是标量,再通过参考点A的法线向量和确切面C的法线向量用点乘的方式得到标量结果,此结果的正负可以作为判断条件。得到标量结果为负,则证明参考点A唯一的点方向线向量与部件模型确切面的唯一面法线方向不一致,即部件模型B的法线方向为反向,否则认为部件模型B的法线方向为正向。
另外,将计算得到的标量结果转换为弧度,弧度转换为角度;将得到的角度与90度进行比较,若得到的角度大于90度,则输出的结果能证明部件模型的法线为反向,即部件模型的法线需要反转;若得到的角度小于90度,则输出的结果能证明部件模型的法线为正向,即部件模型的法线需要无需反转。利用角度信息的展示,能够更直观得显示部件模型法线为正向或反向,方便操作人员进行查看。
S7、重复所述步骤S3至步骤S6,直至将太空飞船三维模型中所有法线为反向的部件模型筛分出来;
S8:将所有法线为反向的部件模型的法线进行反转,得到法线方向一致的太空飞船三维模型。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、工作、器件、组件和/或它们的组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施方式能够以除了在这里图示或描述的那些以外的顺序实施。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种批量反转模型法线方法,其特征在于,包括如下步骤:
S1、将包括若干部件模型的三维模型导入到Houdini软件中,保留所有部件模型的三维空间位置信息;
S2、在三维模型外部任意位置创建一个参考点,保留参考点的三维空间位置信息;
S3、提取单个部件模型,根据参考点的三维空间位置信息确定所述部件模型法线的确切面;
S4、确定确切面的中心点,将中心点与参考点连线,确定参考点相对于确切面唯一的点方向线;
S5、确定确切面的唯一面法线;
S6、判断所述点方向线方向与所述面法线方向是否一致;
S7、重复所述步骤S3至步骤S6,直至将所有法线为反向的部件模型筛分出来;
S8:将所有法线为反向的部件模型的法线进行反转,得到法线方向一致的三维模型。
2.如权利要求1所述的批量反转模型法线方法,其特征在于,所述步骤S3包括如下具体步骤:
S301、对所有部件模型修改name属性,使所有部件模型name属性下的名称都不相同;
S302、随机提取任意一部件模型;
S303、利用部件模型面的面属性和面uv以及参考点的三维空间位置信息,通过vex语言中的distance函数求得部件模型所有面的pt号,通过pt号把部件模型相对于参考点距离最短的面提取出来作为唯一面法线的确切面。
3.如权利要求1所述的批量反转模型法线方法,其特征在于,所述步骤S4包括如下具体步骤:
S401、将部件模型的确切面pack成只有一个中心点的mesh物体;
S402、将参考点与部件模型中心点通过add方式连成一条线,得到参考点相对于确切面唯一的点方向线;所述方向线由参考点指向确切面的中心点。
4.如权利要求1所述的批量反转模型法线方法,其特征在于,所述步骤S6包括如下具体步骤:
S601、测量参考点唯一的点方向线与部件模型的唯一面法线的夹角角度;
S602、将测量出的夹角角度转换为弧度,再将弧度转换为标量;
S603、将参考点的唯一点法线向量与部件模型确切面的唯一面法线向量进行点乘,得到标量结果;
S604、判定所述标量结果的正负;
S605、根据所述标量结果的正负情况,确定参考点唯一的点方向线方向与部件模型确切面的唯一面法线方向是否一致。
5.如权利要求4所述的批量反转模型法线方法,其特征在于,所述步骤S6还包括如下具体步骤:
S606、将得到的标量结果转换为弧度,再将弧度转换为角度;
S607、将弧度转换得到的角度与90度进行比较,并将比较结果进行展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111390329.XA CN113822992B (zh) | 2021-11-23 | 2021-11-23 | 一种批量反转模型法线的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111390329.XA CN113822992B (zh) | 2021-11-23 | 2021-11-23 | 一种批量反转模型法线的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113822992A CN113822992A (zh) | 2021-12-21 |
CN113822992B true CN113822992B (zh) | 2022-03-01 |
Family
ID=78919646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111390329.XA Active CN113822992B (zh) | 2021-11-23 | 2021-11-23 | 一种批量反转模型法线的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113822992B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115775301B (zh) * | 2023-02-13 | 2023-05-02 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎统一物体模型法线的方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107408142A (zh) * | 2015-02-25 | 2017-11-28 | 昂沙普公司 | 基于多用户云参数特征的3d cad系统 |
CN108847109A (zh) * | 2018-06-26 | 2018-11-20 | 天津慧医谷科技有限公司 | 一种基于三维建模的人体取穴练习考核方法及系统 |
CN109118582A (zh) * | 2018-09-19 | 2019-01-01 | 东北大学 | 一种商品三维重建系统及重建方法 |
JP6649454B1 (ja) * | 2018-10-24 | 2020-02-19 | 川田テクノシステム株式会社 | 堤防設計装置、および堤防設計プログラム |
CN113436331A (zh) * | 2021-06-29 | 2021-09-24 | 北京住总第三开发建设有限公司 | 基于Dynamo的建模方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104157000B (zh) * | 2014-08-14 | 2018-04-06 | 无锡梵天信息技术股份有限公司 | 模型表面法线的计算方法 |
CN111739134B (zh) * | 2020-07-30 | 2023-05-26 | 腾讯科技(深圳)有限公司 | 虚拟角色的模型处理方法、装置及可读存储介质 |
-
2021
- 2021-11-23 CN CN202111390329.XA patent/CN113822992B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107408142A (zh) * | 2015-02-25 | 2017-11-28 | 昂沙普公司 | 基于多用户云参数特征的3d cad系统 |
CN108847109A (zh) * | 2018-06-26 | 2018-11-20 | 天津慧医谷科技有限公司 | 一种基于三维建模的人体取穴练习考核方法及系统 |
CN109118582A (zh) * | 2018-09-19 | 2019-01-01 | 东北大学 | 一种商品三维重建系统及重建方法 |
JP6649454B1 (ja) * | 2018-10-24 | 2020-02-19 | 川田テクノシステム株式会社 | 堤防設計装置、および堤防設計プログラム |
CN113436331A (zh) * | 2021-06-29 | 2021-09-24 | 北京住总第三开发建设有限公司 | 基于Dynamo的建模方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于3DMax与CityEngine的城市道路路灯快速批量自动建模方法;程朋根等;《测绘工程》;20180427(第05期);153-155 * |
复杂路线上三维模型快速定位及创建方法研究;陶鹏等;《山西建筑》;20200807(第16期);43-48 * |
Also Published As
Publication number | Publication date |
---|---|
CN113822992A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3937128A2 (en) | Image defect detection method and apparatus, electronic device, storage medium and product | |
CN113537797A (zh) | 基于历史数据分析的智能测试工作量评估的方法、装置、终端设备及存储介质 | |
CN113822992B (zh) | 一种批量反转模型法线的方法 | |
CN106934855B (zh) | 建筑3d模型构建方法及装置 | |
CN111797022A (zh) | 分单业务的测试用例生成方法、装置、电子设备及介质 | |
CN110825350A (zh) | 软件产品的功能需求变更方法、系统 | |
CN116664776A (zh) | 一种基于数字孪生的三维可视化编辑系统 | |
CN109934894B (zh) | 一种cad出图方法、装置和计算机可读存储介质 | |
JP6337619B2 (ja) | 面形状評価方法及び面形状評価システム | |
US20230048643A1 (en) | High-Precision Map Construction Method, Apparatus and Electronic Device | |
CN115187821B (zh) | 验证模型转换前后正确性的方法、相关装置及程序产品 | |
CN114443141A (zh) | 测控指令循环约束故障的确定方法及装置 | |
CN109388385B (zh) | 用于应用开发的方法和装置 | |
CN113074686A (zh) | 一种创建实测坐标系的方法及装置 | |
Alboul | Optimising triangulated polyhedral surfaces with self–intersections | |
JPWO2020174613A1 (ja) | データ処理装置、データ処理システム、データ処理方法、およびデータ処理プログラム | |
US11302075B1 (en) | Medial surface construction for solid models using tetrahedral meshes | |
CN114546869A (zh) | 界面开发的视觉还原测试方法及装置 | |
EP4195088A1 (en) | 3d axis machining design | |
CN114755988A (zh) | 基于电力设备可视化的监造引导方法、装置和计算机设备 | |
CN116879721A (zh) | 半导体芯片的测试方法、装置、电子设备及存储介质 | |
CN114064812A (zh) | 一种数据处理方法、装置、设备及计算机可读存储介质 | |
KR20200016545A (ko) | 조선 해양 공정 프로세스 모델링 장치 및 컴퓨터 판독 가능한 전자 매체 | |
CN114040518A (zh) | 网络节点展示方法及装置 | |
KR20240034519A (ko) | 선체 블록 탑재 정도 분석 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |