CN117034627A - 一种基于模型的几何体创建方法 - Google Patents
一种基于模型的几何体创建方法 Download PDFInfo
- Publication number
- CN117034627A CN117034627A CN202311029065.4A CN202311029065A CN117034627A CN 117034627 A CN117034627 A CN 117034627A CN 202311029065 A CN202311029065 A CN 202311029065A CN 117034627 A CN117034627 A CN 117034627A
- Authority
- CN
- China
- Prior art keywords
- creation
- bounding box
- model
- geometry
- initial value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000004048 modification Effects 0.000 claims description 26
- 238000012986 modification Methods 0.000 claims description 26
- 230000006872 improvement Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
Abstract
本发明涉及一种基于模型的几何体创建方法,属于几何体创建技术领域,解决了现有技术中现有通过输入框来设置参数误差较大的问题。方法包括以下步骤:为不同的几何体设置对应的创建参数;基于当前视图中的模型确定要创建的几何体对应的创建参数的值;根据所述创建参数的值创建几何体对象。实现了快速准确的确定参数的数值,避免出现因采用输入框输入的方式设置参数而带来较大误差的情况。
Description
技术领域
本发明涉及几何体创建技术领域,尤其涉及一种基于模型的几何体创建方法。
背景技术
在CAE领域,我们创建常见的几何,比如立方面,圆柱体,球体等几何对象时,我们通常点击创建命令后,会显示创建给定几何类型对象所需要的参数,然后用户通过交互(通常是在编辑框中输入)来修改各个参数,渲染视图窗口中也会实时显示根据各个参数创建的特定几何类型对象的预览。创建过程中,需要的点数据也会通过输入框交互来完成。传统的通过输入框来确定这些点参数,如果用户想要设置模型上的特定点,我们如果通过输入框来设置,可能比较困难而且可能会有比较大的误差。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种基于模型的几何体创建方法,用以解决现有通过输入框来设置参数误差较大的问题。
一方面,本发明实施例提供了一种基于模型的几何体创建方法,包括以下步骤:
为不同的几何体设置对应的创建参数;
基于当前视图中的模型确定要创建的几何体对应的创建参数的值;
根据所述创建参数的值创建几何体对象。
基于上述方法的进一步改进,基于当前视图中的模型确定要创建的几何体对应的创建参数的值,包括:
创建包围当前视图中模型的包围盒;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值;
获取基于所述模型或包围盒对所述创建参数的初始值的修改,得到创建参数的修改值,作为创建参数的值。
基于上述方法的进一步改进,所述不同几何体包括立方体、球体、半球体和圆柱体。
基于上述方法的进一步改进,获取基于所述模型或包围盒对所述创建参数的初始值的修改,得到创建参数的修改值,包括:
若对创建参数的初始值的修改是通过拾取模型点进行的,则获取拾取的模型点的坐标作为创建参数的修改值;
若对创建参数的初始值的修改是通过修改包围盒进行的,则获取修改后的包围盒,根据修改后的包围盒确定创建参数的修改值。
基于上述方法的进一步改进,当所述几何体为圆柱体时,对应的所述创建参数包括圆柱体的上底面中心点、下底面中心点和半径;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒同一轴向上的两个面的中心点的坐标分别为所述圆柱体上底面中心点和下底面中心点的初始值,所述两个面的最短边长的一半为所述圆柱体的半径的初始值。
基于上述方法的进一步改进,当所述几何体为圆柱体时,对应的所述创建参数包括圆柱体的一个底面中心点、高度、轴向和半径;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒的一个坐标轴作为圆柱体轴向的初始值,包围盒中与该坐标轴的垂直的一个面的中心点的坐标为底面中心点的初始值,与该坐标轴垂直的两个面间的距离为圆柱体的高度的初始值,与该坐标轴垂直的两个面的最短边长的一半为所述圆柱体的半径的初始值。
基于上述方法的进一步改进,当所述几何体为立方体时,对应的所述创建参数包括位于立方体的对角线上的第一顶点和第二顶点;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
当所述几何体为立方体时,所述包围盒的最大顶点和最小顶点的坐标分别为所述立方体的第一顶点和第二顶点的初始值。
基于上述方法的进一步改进,当所述几何体为球体时,对应的所述创建参数包括球心点和球体半径;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒中心点的坐标为球体的球心点的初始值,所述包围盒的最短边长的一半为球体半径的初始值。
基于上述方法的进一步改进,当所述几何体为半球体时,对应的所述创建参数包括球心、球体半径和轴向;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒中心点的坐标为半球体的球心点的初始值,所述包围盒的最短边长的一半为半球体半径的初始值,所述包围盒所在坐标系的一个坐标轴为半球体的轴向的初始值。
基于上述方法的进一步改进,所述模型的包围盒包括模型的AABB包围盒。
与现有技术相比,本实施例提供的基于模型的几何体创建方法通过为不同的几何体设置对应的创建参数从而可以快速根据参数创建几何体,通过根据当前视图中的模型确定创建参数的值,从而实现快速准确的确定参数的数值,避免出现采用输入框输入的方式设置参数因而带来较大误差的情况,并且根据当前视图的模型确定创建参数值可以直观显示的创建的几何体与当前模型的关系。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件;
图1为本发明实施例基于模型的几何体创建方法的流程图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明的一个具体实施例,公开了一种基于模型的几何体创建方法,如图1所示。包括以下步骤:
S1、为不同的几何体设置对应的创建参数;
S2、基于当前视图中的模型确定要创建的几何体对应的创建参数的值;
S3、根据所述创建参数的值创建几何体对象。
与现有技术相比,本实施例提供的基于模型的几何体创建方法通过为不同的几何体设置对应的创建参数从而可以快速根据参数创建几何体,通过根据当前视图中的模型确定创建参数的值,从而实现快速准确的确定参数的数值,避免出现采用输入框输入的方式设置参数因而带来较大误差的情况,并且根据当前视图的模型确定创建参数值可以直观显示的创建的几何体与当前模型的关系。
实施时,本发明的不同的几何体包括立方体、球体、半球体和圆柱体。
对于立方体通过其在对角线上的两个顶点即可得到该立方体,因此,当要创建的几何体为立方体时,设置的所述创建参数包括位于立方体的对角线上的第一顶点和第二顶点。
对于球体,确定其球心和半径即可绘制对应的球体形状。因此,当要创建的几何体为球体时,对应的创建参数包括球心点和球体半径。
半球体是球体的一半,得到半球体的球心、半径以及轴向即可得到对应的半球体。需要说明的是,半球体的轴线为半球体的圆形面的中心点到半球面中心点的方向。因此,当要创建的几何体为半球体时,对应的创建参数包括球心、球体半径和轴向。
对于圆柱体,当获取其上底面、下底面的中心点和半径即可绘制该圆柱体,因此,当几何体为圆柱体时,对应的创建参数包括圆柱体的上底面中心点、下底面中心点和半径。
此外,圆柱体也可通过一个底面中心点、高度、轴向和半径得到。例如,给定一个圆柱面的上下底面的其中一个点A(Pa),然后根据轴向和高度来确定另外一个点B(Pb),计算公式为:
Pb=Pa+e*h
其中,Pa为已知给定点,Pb为另一个计算点,e为Pa到Pb的单位向量,h为圆柱体的高度。
因此,当几何体为圆柱体时,对应的创建参数也可为圆柱体的一个底面中心点、高度、轴向和半径。需要说明的是,轴向即圆柱体一个底面中心点到另一个底面中心点的方向。
设置好不同几何体对应的创建参数后,基于当前视图中的模型可确定要创建的几何体对应的创建参数的值。具体的,步骤S2包括:
S21、创建包围当前视图中模型的包围盒;
S22、根据所述包围盒确定要创建的几何体对应的创建参数的初始值;
S23、获取基于所述模型或包围盒对所述创建参数的初始值的修改,得到创建参数的修改值,作为创建参数的值。
实施时,首先创建当前视图中模型的包围盒。需要说明的是若当前视图中有多个模型,则创建的包围盒是包围所有模型的包围盒。实施时,创建的包围盒可为AABB包围盒。AABB包围盒是轴对齐包围盒,是采用每个面都与某个坐标轴平行的长方体将模型包围起来。通过确定模型在每个坐标轴上的最大值、最小值即可得到AABB包围盒。
创建好当前视图中模型的包围盒后,可根据该包围盒确定要创建的几何体的创建参数的初始值。不同的几何体创建参数不同,其初始值也不同。
当几何体为圆柱体,对应的创建参数为圆柱体的上底面中心点、下底面中心点和半径时,根据包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒同一轴向上的两个面的中心点的坐标分别为所述圆柱体上底面中心点和下底面中心点的初始值,所述两个面的最短边长的一半为所述圆柱体的半径的初始值。
实施时,可默认选择模型所在坐标轴的X轴上(与X轴垂直)的两个面的中心点的坐标分别作为圆柱体的上底面中心点和下底面中心点的初始值,这两个面即为圆柱体的上下底面所在的平面,因此去这两个面中的最短的边长作为圆柱体的圆形面的直径,最短边长的一半即为半径,即最短边长的一半为圆柱体的半径的初始值。
当几何体为圆柱体,对应的创建参数为圆柱体的一个底面中心点、高度、轴向和半径时,根据包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒的一个坐标轴作为圆柱体轴向的初始值,包围盒中与该坐标轴的垂直的一个面的中心点的坐标为底面中心点的初始值,与该坐标轴垂直的两个面间的距离为圆柱体的高度的初始值,与该坐标轴垂直的两个面的最短边长的一半为所述圆柱体的半径的初始值。
实施时,可默认选择模型所在坐标轴的+X轴作为圆柱体轴向的初始值;与+X轴垂直的两个面的中心点中坐标较小的一个中心点的坐标为一个底面的中心点的初始值;与+X轴垂直的两个面间的距离为圆柱体的高度的初始值;这两个面即为圆柱体的上下底面所在的平面,因此,取这两个面中的最短的边长作为圆柱体的圆形面的直径,最短边长的一半即为半径,即最短边长的一半为圆柱体的半径的初始值。
当创建的几何体为立方体时,根据包围盒确定要创建的几何体对应的创建参数的初始值,包括:
当所述几何体为立方体时,所述包围盒的最大顶点和最小顶点的坐标分别为所述立方体的第一顶点和第二顶点的初始值。
实施时,当几何体为立方体时,直接将包围盒的最大顶点和最小顶点作为其构建参数第一顶点和第二顶点的初始值即可。
当创建的几何体为球体时,根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒中心点的坐标为球体的球心点的初始值,所述包围盒的最短边长的一半为球体半径的初始值。
实施时,当几何体为球体时,直接将包围盒的中心点作为球心点的初始值,将包围盒的最短边长的一半为球体半径的初始值即可。
当创建的几何体为半球体时,根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒中心点的坐标为半球体的球心点的初始值,所述包围盒的最短边长的一半为半球体半径的初始值,所述包围盒所在坐标系的一个坐标轴为半球体的轴向的初始值。
实施时,当几何体为半球体时,直接将包围盒的中心点作为球心点的初始值,将包围盒的最短边长的一半为球体半径的初始值,将模型所在坐标系的+X轴作为半球体的轴向的初始值即可。
根据包围盒得到几何体对应的创建参数的初始值后,可在视图中根据创建参数生成几何体的预览,便于用户直观的看到创建的几何体。
得到创建参数的初始值后,用户可通过修改这些参数得到修改的几何体。现有方法通常是在UI面板上采用输入框输入的形式来改变,这样的方式误差较大,并且操作复杂,不便于快速确定参数的修改值。
本发明的实施例是基于模型进行创建参数的修改,不需要用户手动输入。可通过拾取模型点或者修改包围盒,即可快速得到目标数值。
实施时,对于点类创建参数,可以通过拾取模型上的点实现修改。例如,如果要修改立方体的第一顶点或第二顶点,可通过拾取模型上的某个点作为第一顶点或第二顶点,从而可以快速修改立方体。如果要修改球体的球心点,可以取模型上的某个点作为球心,从而快速修改球体的位置。
对于半径类创建参数,可通过调整包围盒来进行修改。例如,要修改球体的大小,可通过拖动包围盒的一个或多个面调整包围盒的大小,从而调整球体的半径。
对于轴向类创建参数,可直接选择模型所在坐标系的坐标轴,也可通过自定义轴向来修改。例如,半球体默认的轴向为模型所在坐标系的+X轴,可选择其他坐标轴(-X,+Y,-Y,+Z,-Z)作为修改后的轴向。也可以通过定义两个点来自定义轴向。实施时,自定义轴向可通过两点方式来确定,自定义轴向的两个点可通过拾取模型点或自定义坐标点来确定。
对创建参数修改后,获取基于模型或包围盒对创建参数的初始值的修改,即可得到创建参数的修改值,具体包括:
若对创建参数的初始值的修改是通过拾取模型点进行的,则获取拾取的模型点的坐标作为创建参数的修改值;
若对创建参数的初始值的修改是通过修改包围盒进行的,则获取修改后的包围盒,根据修改后的包围盒确定创建参数的修改值。
实施时,根据修改后的包围盒确定创建参数的修改值的过程可参考前述根据包围盒确定要创建的几何体对应的创建参数的初始值的过程。
得到几何体创建参数的修改之后,根据创建参数的修改值创建几何体对象。可在视图中显示创建的几何体。需要说明的是,若对修改后的几何体不满意,仍可继续通过拾取模型点或调整包围盒对几何体的参数进行修改,并可在视图中实时显示修改参数后的几何体,直至得到目标几何体。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于模型的几何体创建方法,其特征在于,包括以下步骤:
为不同的几何体设置对应的创建参数;
基于当前视图中的模型确定要创建的几何体对应的创建参数的值;
根据所述创建参数的值创建几何体对象。
2.根据权利要求1所述的基于模型的几何体创建方法,其特征在于,基于当前视图中的模型确定要创建的几何体对应的创建参数的值,包括:
创建包围当前视图中模型的包围盒;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值;
获取基于所述模型或包围盒对所述创建参数的初始值的修改,得到创建参数的修改值,作为创建参数的值。
3.根据权利要求2所述的基于模型的几何体创建方法,其特征在于,所述不同几何体包括立方体、球体、半球体和圆柱体。
4.根据权利要求3所述的基于模型的几何体创建方法,其特征在于,获取基于所述模型或包围盒对所述创建参数的初始值的修改,得到创建参数的修改值,包括:
若对创建参数的初始值的修改是通过拾取模型点进行的,则获取拾取的模型点的坐标作为创建参数的修改值;
若对创建参数的初始值的修改是通过修改包围盒进行的,则获取修改后的包围盒,根据修改后的包围盒确定创建参数的修改值。
5.根据权利要求3所述的基于模型的几何体创建方法,其特征在于,当所述几何体为圆柱体时,对应的所述创建参数包括圆柱体的上底面中心点、下底面中心点和半径;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒同一轴向上的两个面的中心点的坐标分别为所述圆柱体上底面中心点和下底面中心点的初始值,所述两个面的最短边长的一半为所述圆柱体的半径的初始值。
6.根据权利要求3所述的基于模型的几何体创建方法,其特征在于,当所述几何体为圆柱体时,对应的所述创建参数包括圆柱体的一个底面中心点、高度、轴向和半径;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒的一个坐标轴作为圆柱体轴向的初始值,包围盒中与该坐标轴的垂直的一个面的中心点的坐标为底面中心点的初始值,与该坐标轴垂直的两个面间的距离为圆柱体的高度的初始值,与该坐标轴垂直的两个面的最短边长的一半为所述圆柱体的半径的初始值。
7.根据权利要求3所述的基于模型的几何体创建方法,其特征在于,
当所述几何体为立方体时,对应的所述创建参数包括位于立方体的对角线上的第一顶点和第二顶点;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
当所述几何体为立方体时,所述包围盒的最大顶点和最小顶点的坐标分别为所述立方体的第一顶点和第二顶点的初始值。
8.根据权利要求3所述的基于模型的几何体创建方法,其特征在于,
当所述几何体为球体时,对应的所述创建参数包括球心点和球体半径;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒中心点的坐标为球体的球心点的初始值,所述包围盒的最短边长的一半为球体半径的初始值。
9.根据权利要求3所述的基于模型的几何体创建方法,其特征在于,
当所述几何体为半球体时,对应的所述创建参数包括球心、球体半径和轴向;
根据所述包围盒确定要创建的几何体对应的创建参数的初始值,包括:
所述包围盒中心点的坐标为半球体的球心点的初始值,所述包围盒的最短边长的一半为半球体半径的初始值,所述包围盒所在坐标系的一个坐标轴为半球体的轴向的初始值。
10.根据权利要求2所述的基于模型的几何体创建方法,其特征在于,所述模型的包围盒包括模型的AABB包围盒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311029065.4A CN117034627A (zh) | 2023-08-15 | 2023-08-15 | 一种基于模型的几何体创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311029065.4A CN117034627A (zh) | 2023-08-15 | 2023-08-15 | 一种基于模型的几何体创建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117034627A true CN117034627A (zh) | 2023-11-10 |
Family
ID=88624138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311029065.4A Pending CN117034627A (zh) | 2023-08-15 | 2023-08-15 | 一种基于模型的几何体创建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117034627A (zh) |
-
2023
- 2023-08-15 CN CN202311029065.4A patent/CN117034627A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134982B (zh) | 可通过铣削操作制造的部件的设计 | |
US8456484B2 (en) | Apparatus and methods for wrapping texture onto the surface of a virtual object | |
JP6356378B2 (ja) | 幾何学的三次元モデルオブジェクトを設計する方法 | |
EP0248919B1 (en) | Method for generating representations of 3-dimensional objects and system performing this method | |
US20050128210A1 (en) | Haptic graphical user interface for adjusting mapped texture | |
US20130162633A1 (en) | Apparatus and methods for adjusting a texture wrapping onto the surface of a virtual object | |
JP3599386B2 (ja) | エッジの混合方法 | |
US11604902B2 (en) | Modeling using a weak type definition | |
CN101866379B (zh) | 用于可视化计算机屏幕上显示的对象的方法、程序和产品编辑系统 | |
RU2656584C1 (ru) | Система проектирования объектов в среде виртуальной реальности в реальном времени | |
JP2002324250A (ja) | コンピュータ実現ツールを用いてグラフィクスオブジェクトを編集する方法 | |
JP4756899B2 (ja) | 情報処理装置、情報処理方法 | |
JP2002329218A (ja) | コンピュータ実現ツールを用いてグラフィクスオブジェクトのサーフェスを編集する方法 | |
US5815150A (en) | Display apparatus | |
JP4046370B2 (ja) | 3次元形状の作図方法 | |
EP3895131A1 (en) | A system for optimizing a 3d mesh | |
JP3663219B2 (ja) | 幾何拘束条件表示装置 | |
CN117034627A (zh) | 一种基于模型的几何体创建方法 | |
US20070216713A1 (en) | Controlled topology tweaking in solid models | |
US10726621B2 (en) | Traversal selection of components for a geometric model | |
US12106443B2 (en) | Responsive video canvas generation | |
KR20140063475A (ko) | 오브젝트들의 원형 스태거드 패턴의 설계 | |
CN108876933B (zh) | 三维形状数据的编辑装置和编辑三维形状数据的方法 | |
CN112530015A (zh) | 基于空间结构特征的点云数据压缩存储方法与系统 | |
JPH11249774A (ja) | 3次元情報表示システム及び方法 |
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 |