CN110060328A - 用于定义用于3d对象的设计的绘图平面的方法 - Google Patents
用于定义用于3d对象的设计的绘图平面的方法 Download PDFInfo
- Publication number
- CN110060328A CN110060328A CN201811610225.3A CN201811610225A CN110060328A CN 110060328 A CN110060328 A CN 110060328A CN 201811610225 A CN201811610225 A CN 201811610225A CN 110060328 A CN110060328 A CN 110060328A
- Authority
- CN
- China
- Prior art keywords
- plane
- computer
- stroke
- present
- virtual camera
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013461 design Methods 0.000 title description 7
- 244000025254 Cannabis sativa Species 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 5
- 238000003825 pressing Methods 0.000 claims description 11
- 239000012190 activator Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 4
- 239000013256 coordination polymer Substances 0.000 claims description 3
- 238000007599 discharging Methods 0.000 claims description 2
- 238000009877 rendering Methods 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 230000014616 translation Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 101000854862 Homo sapiens Vacuolar protein sorting-associated protein 35 Proteins 0.000 description 2
- 102100020822 Vacuolar protein sorting-associated protein 35 Human genes 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 101000666896 Homo sapiens V-type immunoglobulin domain-containing suppressor of T-cell activation Proteins 0.000 description 1
- 102100038282 V-type immunoglobulin domain-containing suppressor of T-cell activation Human genes 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- IJJVMEJXYNJXOJ-UHFFFAOYSA-N fluquinconazole Chemical compound C=1C=C(Cl)C=C(Cl)C=1N1C(=O)C2=CC(F)=CC=C2N=C1N1C=NC=N1 IJJVMEJXYNJXOJ-UHFFFAOYSA-N 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 229910052724 xenon Inorganic materials 0.000 description 1
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
- Image Generation (AREA)
Abstract
一种用于绘制3D对象的方法,包括以下步骤:‑在与虚拟相机的第一位姿相对应的第一视锥体中渲染的第一平面(PL1)中草绘至少一个第一笔划(ST1),所述第一平面(PL1)与第二平面(PL2)和第三平面(PL3)正交;‑响应于用户从所述虚拟相机的所述第一位姿切换到第二位姿的命令,从所述第一视锥体切换到与所述虚拟相机的所述第二位姿相对应的第二视锥体,所述第二视锥体由所述虚拟相机一侧上的近平面界定;‑选择所述第一平面(PL1)、所述第二平面(PL2)和所述第三平面(PL3)之中的其法线最接近所述近平面的法线的平面作为当前绘图平面;‑在所述当前绘图平面中草绘至少一个第二笔划(ST2)。
Description
技术领域
本发明涉及计算机程序和系统的领域,并且更具体而言,涉及用于在3D场景中设计和绘制三维(3D)建模的对象的计算机实现的方法的领域。
背景技术
本发明属于3D对象设计(草绘、建模、审阅、CAD……)的领域。具体而言,本发明属于草绘领域,其中,可以使用由达索系统(Dassault Systèmes)提供的诸如Natural Sketch之类的软件产品。通过一些笔划(例如,使用平板电脑和触笔或鼠标),用户/设计者获得他的草图的完整3D曲线。然后他可以很容易地修改这些曲线,直到达到他想象的构思。因此,用户不需要等待3D建模的步骤来进行对他的绘图的3D渲染。
诸如Natural Sketch之类的产品的功能之一是允许用户绘制3D模型。为此,用户具有不同的可能性。例如,在场景中,可以存在用户将在其上绘图的表面(汽车、球体……)。由于表面是三维的,表面上的曲线将是3D曲线。但是当用户没有他可以依赖的表面时,即当他想要从头创建3D模型时,他需要以其他方式继续进行。
在该情况下,用户从绘图命令按钮切换到平面选择命令按钮,反之亦然,直到所有平面被定义。从头开始,他首先需要定义他将要在其上绘图的平面。为此,用户可以开始在默认平面(例如,xz平面)上绘图。如果用户想要开始在与默认平面不同的平面上绘图,他也可以按下平面选择命令按钮。平面操纵器(Natural Sketch中的方形)使得用户能够选择并移动(平移、旋转……)他想要开始在其上绘图的平面。当定点元素(光标)移动靠近平面操纵器的边缘之一时,边缘被突出显示。然后可以围绕穿过平面操纵器中心的并且平行于突出显示的边缘的轴旋转绘图平面。通过在平面操纵器上按下鼠标左键,用户可以根据在鼠标的移动期间选择的角度来改变绘图平面。他还可以改变绘图平面的原点。为此,用户将定点元素移动到位于方形平面操纵器内部的平面操纵器的中心正方形上。当定点元素移动到中心正方形中时,发生视觉反馈,例如中心正方形的突出显示。然后,用户可以沿着中心正方形的平面的法线平移绘图平面的原点,同时按下鼠标左键。之后,用户可以(例如,用鼠标左键或用触笔/手指)按下绘图命令按钮,并且在如上定义的绘图平面中(例如,用鼠标左键或用触笔/手指)草绘至少一个第一笔划。然后,如果用户想要改变绘图平面,则他必须再次按下平面选择命令按钮以便使用平面操纵器。在整个绘制过程中,用户可以通过使用例如在按下鼠标中键的同时移动鼠标的组合来在三维场景中导航以改变视点。
该在创建阶段期间继续进行的方式非常麻烦。实际上,通过使用平面操纵器,需要大量鼠标位移来改变要定义的平面:首先,启动平面选择命令(通常在场景外部),然后用平面操纵器以期望的朝向和位置放置平面。该继续进行的方式也是耗时且不直观的,这是因为用户知道他想要做什么,他具有一些灵感,但他在平面选择命令中来回以定义他需要的平面。现有解决方案的另一缺点是缺乏简单性:为了获得具有期望的朝向和位置的平面,用户必须组合旋转(例如,围绕平面的四个边之一的旋转)和不同的平移(例如,沿着平面法线的平移)。
发明内容
因此,本发明的目的是提供一种直观的方法,其用于在3D场景中定义平面,并且在定义的平面上绘制3D对象,而不需要特定命令的执行,并且其还降低了鼠标在绘图过程期间行进的距离。
根据本发明的一个方面,提出了一种用于绘制3D对象的计算机实现的方法,所述3D对象通过虚拟相机在计算机屏幕上的3D场景中被渲染,所述方法包括以下步骤:
-在与所述虚拟相机的第一位姿相对应的第一视锥体中渲染的第一平面中草绘至少一个第一笔划,所述第一平面与第二平面和第三平面正交;
-响应于用户从所述虚拟相机的所述第一位姿切换到第二位姿的命令,从所述第一视锥体切换到与所述虚拟相机的所述第二位姿相对应的第二视锥体,所述第二视锥体由所述虚拟相机一侧上的近平面界定;
-选择所述第一平面、所述第二平面和所述第三平面之中的其法线最接近所述近平面的法线的平面作为当前绘图平面;
-在所述当前绘图平面中草绘至少一个第二笔划。
根据本发明的特定实施例:
-所述方法可以包括计算所述近平面的所述法线与所述第一平面、第二平面和第三平面中的每一个的所述法线的标量积的绝对值。
-所述当前绘图平面与所述第一平面正交,所述方法包括确定所述第一平面中的最后草绘的第一笔划的最接近所述近平面的末端的步骤,所述当前绘图平面穿过所述末端,所述末端被定义为所述当前绘图平面的原点(OR)。
-所述方法可以包括响应于指定所述3D场景的所述笔划之一的3D点的激活输入而设置所述当前绘图平面穿过的原点的步骤。
-所述激活输入可以包括按下并按住激活按钮同时沿着所草绘的笔划之一在所述3D场景中移动定点元素,直到释放所述激活按钮为止,从而将所述当前绘图平面的所述原点设置在所指定的3D点上。
-所述激活按钮可以是键盘按钮。
-所述方法可以包括提供所述当前绘图平面的视觉反馈的步骤。
-所述视觉反馈是所述当前绘图平面的所述笔划的突出显示。
-所述方法可以包括将最接近所述近平面的平面定义为第一平面的初始步骤。
-所述方法可以包括将先前定义的平面定义为第一平面的初始步骤。
还提出了一种计算机程序产品,其存储在非暂时性计算机可读数据存储介质上,所述计算机程序产品包括计算机可执行指令,所述指令用于使计算机系统执行所预定义的方法。
还提出了一种非暂时性计算机可读数据存储介质,其包含计算机可执行指令,所述指令用于使计算机系统执行所预定义的方法。
还提出了一种计算机系统,其包括耦合到存储器和图形用户界面的处理器,所述存储器存储计算机可执行指令,所述指令使所述计算机系统执行所预定义的方法。
附图说明
通过研究以非限制性实示例的方式描述并由附图示出的一些实施例,将更好地理解本发明,在所述附图中:
-图1示出了视锥体的示例;
-图2至图7示出了根据本发明的用于在3D场景中绘制3D对象的方法的示例;
-图8示出了根据本发明的方法的不同步骤的流程图;
-图9和图10示出了适合于执行根据本发明的不同实施例的方法的相应计算机系统的框图。
具体实施方式
在下文中,“视锥体(viewing frustum)”FRU指的是可以在屏幕上为用户渲染的空间的区域;它是虚拟相机CAM的视野。图1是视锥体FRU的顶视图。视锥体FRU是截头金字塔。垂直于虚拟相机的查看方向切割视锥体的平面被称为“近平面”NPL和“远平面”FPL。视锥体由虚拟相机CAM一侧上的近平面NPL和相对侧上的远平面FPL界定。视锥体还由左平面LPL、右平面RPL、顶平面(未示出)和底平面(未示出)界定。
在下文中,虚拟相机的“位姿”(还被称为视点)指的是其相对于场景上的固定参考系的位置和朝向。
在下文中,平面由两个主要的非共线矢量和一个原点(O)定义。平面是3D空间的点M的集,其由以下关系定义:(x和y是实数)。因此,平面的原点是平面穿过的3D点。通过求和的矢量积可以很容易地找回平面的法线因此,两个平行且不相交的平面(P1,P2)的特性在于相同的主要非共线矢量而具有不同的原点。平面P2的原点从平面P1的原点在平面P2上的投影得到。在本申请中,平面的原点指的是其在3D场景中的“深度”。
图2示出了本发明的第一步。用户开始在初始平面中绘制第一笔划ST1。初始平面与第二平面(PL2)和第三平面(PL3)正交。初始平面是默认平面或先前定义的平面。为了在初始平面中绘制第一笔划ST1,用户采用草绘输入。例如,草绘输入可以是鼠标左键、触摸模式下的触笔或手指。只要用户保持草绘输入(例如,按下并按住鼠标左键,或保持触笔或手指在触敏表面上的接触),第一笔划ST1就被草绘出。如果用户在两个第一笔划ST1之间释放草绘输入,则他可以在相同初始平面中绘制若干第一笔划ST1。为了图的可读性,在相同平面上草绘的所有笔划具有相同的附图标记。在本示例中,第一笔划ST1表示几乎一正方形。第一笔划ST1渲染在与虚拟相机的第一位姿相对应的第一视锥体中。用户可以与定点元素PE交互,以便从虚拟相机的第一位姿切换到第二位姿。可以通过拖动操作来进行与定点元素PE的交互。例如,可以通过在按下并按住鼠标中键的同时或者在按下并按住鼠标中键和鼠标左键的同时或者在按下并按住键盘按钮的同时移动鼠标的组合来进行该操作。
只要用户在3D场景中拖动(在按下并按住鼠标中键或者鼠标中键与鼠标左键或右键的组合的同时移动鼠标)定点元素PE,虚拟相机的位姿就被切换。在图3中,根据第二视锥体来渲染第一笔划ST1,所述第二视锥体与虚拟相机的第二位姿相对应。
发明人已发现,被选择用于设计和绘制3D模型的平面通常是正交的。他们还发现,大多数时候,用户的笔划是在靠近近平面的平面上进行的。实际上,在远离近平面的平面上绘制将显著扭曲绘图的比例。例如,试图在几乎垂直于近平面的平面中绘制圆是非常困难的(它通常导致椭圆),而在几乎平行于近平面的平面中该操作较容易。因此,绘图平面的选择依赖于这两个假定。
根据第一实施例,一旦用户释放鼠标中键,第二视锥体的近平面的法线就被计算。接下来,将近平面的法线与第一平面(PL1)、第二平面(PL2)和第三平面(PL3)的法线进行比较。可以通过计算近平面的法线与第一平面(PL1)、第二平面(PL2)和第三平面(PL3)中的每一个的法线的标量积来进行比较。对于第一平面(PL1)、第二平面(PL2)和第三平面中的每一个,平面的标量积和屏幕平面的法线被计算。具有最大标量积绝对值的平面被认为是最接近近平面的。然后将最近的平面视为当前绘图平面。根据第二实施例,每当用户通过拖动它与定点元素交互时,将第二视锥体的屏幕平面的法线与第一平面(PL1)、第二平面(PL2)和第三平面的法线进行比较。然后,在运行中计算第一平面(PL1)、第二平面(PL2)和第三平面与屏幕平面的接近度。
在图4中,用户在当前绘图平面中草绘第二笔划ST2,如在第二视锥体中渲染的。应当理解,即使第一视锥体的近平面和第二视锥体的平面不一定正交,第一笔划ST1的平面和第二笔划ST2的平面也是正交的。根据本发明,建议在默认模式下自动计算当前绘图平面的原点。在优选实施例中,基于第一平面中的最后草绘的第一笔划ST1来计算当前绘图平面的原点OR。更确切地说,第一平面中的最后绘制的第一笔划ST1的末端定义了当前绘图平面的原点OR,所述末端最接近第二视锥体的近平面。因此,用户将定点元素PE移动靠近他已在第一平面中完成的笔划ST1,以便在当前绘图平面中开始下一笔划。用户还将定点元素PE移动靠近第一平面与当前绘图平面相交的位置。实际上,一旦用户已在第一平面中完成了一系列笔划(第一笔划ST1),他就可以改变虚拟相机的位姿,以便在当前绘图平面中在几乎没有中断的情况下继续对3D对象的设计(通过第二笔划ST2)。他可以继续在当前绘图平面中对3D对象的设计,从前一平面的最后笔划的最接近的末端开始。为此,将虚拟相机与最后描绘的第一笔划ST1的第一末端之间的距离与虚拟相机与最后描绘的第一笔划ST1的第二末端之间的距离进行比较。计算虚拟相机与3D场景中的点之间的距离对于技术人员而言是已知的。与最近距离相对应的末端被定义为当前绘图平面的原点。
在图5所示的第二实施例中,用户可以修改当前绘图平面的原点OR,以便选择绘图平面的“深度”。因此,用户可以在几乎不间断的设计过程中在平行平面上设计3D对象。为此,他使用激活输入来指定3D场景的笔划(ST1,ST2)之一的3D点。为此,用户按下并按住激活按钮,同时沿着草绘的笔划(ST1,ST2)之一在3D场景中用鼠标(不按下鼠标按钮)移动定点元素PE。激活按钮可以是例如键盘按钮,更确切地说是键盘的“CTRL”按钮。只要用户按下并按住激活按钮,就执行对原点OR的设置。当用户释放激活按钮时,当前绘图平面的原点被最终确定。在图5所示的示例中,用户可以指定仅在第一平面中绘制的第一笔划ST1。根据定点元素PE沿着第一笔划ST1的位移,可以在第一平面PL1的所有第一笔划ST1上逐渐生成视觉反馈。因此,为了在平行平面中草绘下一笔划,用户自然地将定点元素PE移动到他已草绘的笔划附近,这避免了无用的鼠标移动。他还直观地将定点元素PE移动靠近已被定义的绘图平面的相交处,从而还节省了鼠标移动。
一旦用户已设置了原点OR,他就可以切换到虚拟相机的另一位姿,从而切换视锥体。在所示的示例中,图6的视锥体的近平面被改变,但是仅平面的原点与图5不同。实际上,其法线最接近屏幕平面的法线的平面在两个图中是相同的。因此,用户可以在平行于第二笔划ST2的平面的平面中绘制第三笔划ST3。图7以虚拟相机的另一位姿示出了已绘制的3D对象。
在优选实施例中,可以提供当前绘图平面(即,其法线最接近近平面的法线)的视觉反馈。例如,可以执行对当前绘图平面的笔划的突出显示,以便用户立即看到他将要绘制的平面。
图8表示根据本发明的方法的流程图。进行测试101以检查用户是否正在绘图。如果用户正在绘图(即,只要草绘输入被检测到),则绘图平面保持不变(步骤102)。如果他没有正在绘图,则进行测试103以检查虚拟相机的位姿是否正在改变。因此,正在进行对鼠标中键(可选地,左键)的按下的检测的测试。然后在步骤104处计算新的绘图平面。然后,进行测试105以检查绘图平面是否已被改变。如果测试是肯定的,则基于末端中的每一个到虚拟相机的距离来计算绘图平面的原点(步骤106)。如果测试是否定的,则用户继续在相同平面中绘制(步骤107)。如果测试103是否定的,则进行测试108以检测原点的设置的激活输入(例如,如果键盘按钮(尤其是CTRL按钮)的按下被检测到)。如果测试是肯定的,则新的原点被设置(步骤109)。如果测试是否定的,则用户继续在与最初相同的平面中绘制(步骤110)。
由于本发明,用户不需要打破他的创建过程来平移或旋转平面直到他到达精确位置。
本发明方法可以由适当编程的以非易失性形式将合适的程序存储在计算机可读介质上的并使用其微处理器和存储器执行所述程序的通用计算机或计算机系统(可能包括计算机网络)执行,所述计算机可读介质例如硬盘、固态盘或CD-ROM。
参考图9描述了适合于执行根据本发明的示例性实施例的方法的计算机。在图9中,计算机包括中央处理单元(CPU)CP,其在运行可执行程序(即,计算机可读指令集)的同时执行以上描述的方法步骤,所述可执行程序被存储在诸如RAM MEM1或ROM MEM2或硬盘驱动器(HDD)MEM3、DVD/CD驱动器MEM4之类的存储器设备中,或被远程地存储。此外,定义三维对象的一个或多个计算机文件还可以被存储在存储器设备MEM1至MEM4中的一个或多个上,或者被远程地存储。
所要求保护的发明不受本发明过程的计算机可读指令在其上存储的计算机可读介质的形式的限制。例如,指令和文件可以存储在CD、DVD、闪速存储器、RAM、ROM、PROM、EPROM、EEPROM、硬盘或计算机与之通信的任何其他信息处理设备(例如,服务器或计算机)上。程序可以存储在相同存储设备上或不同存储设备上。
此外,适合于执行本发明方法的计算机程序可以作为实用应用、后台守护程序或操作系统的组件或其组合而被提供,所述计算机程序与CPU P和诸如Microsoft VISTA、Microsoft Windows 8、UNIX、Solaris、LINUX、Apple MAC-OS和本领域技术人员已知的其他系统之类的操作系统相结合执行。
CPU CP可以是来自美国Intel的XenonTM处理器或来自美国AMD的OpteronTM处理器,或者可以是其他处理器类型,例如来自美国Freescale公司的Freescale ColdFireTM、IMXTM或ARMTM处理器。替代地,CPU可以是诸如来自美国Intel的Core2Duo之类的处理器,或者可以在FPGA、ASIC、PLD上或使用分立逻辑电路实现,如本领域普通技术人员将认识到的。此外,CPU可以被实现为协同工作以执行以上描述的本发明过程的计算机可读指令的多个处理器。
图9中的计算机还包括网络接口NI,例如来自美国Intel公司的Intel EthernetPRO网络接口卡,所述网络接口用于与诸如局域网(LAN)、广域网(WAN)、因特网等的网络相接。计算机还包括显示控制器DC,例如来自美国NVIDIA公司的用于与显示器DY相接的NVIDIA GeForceTMGTX图形适配器,所述显示器例如Hewlett Packard HPL2445w LCD监视器。通用I/O接口IF与键盘KB和定点设备PD(例如,滚球、鼠标、触摸板等)相接。显示器、键盘、用于触摸模式的敏感表面和定点设备连同显示控制器和I/O接口一起形成图形用户界面,其由用户用于提供输入命令(例如,移动指针)并由计算机用于显示三维场景和图形工具。
磁盘控制器DKC将HDD MEM3和DVD/CD MEM4与用于互连计算机的所有组件的通信总线CBS连接,所述通信总线可以是ISA、EISA、VESA、PCI或类似物。
为简洁起见,本文省略了对显示器、键盘、定点设备以及显示控制器、磁盘控制器、网络接口和I/O接口的一般特征和功能的描述,这是因为这些特征是已知的。
图10是适合于执行根据本发明的不同示例性实施例的方法的计算机系统的框图。
在图10中,可执行程序EXP和定义三维对象的计算机文件存储在连接到服务器SC的存储器设备上。存储器设备和服务器的整体架构可以与以上参考图9所讨论的相同,除了在服务器中可能缺少显示控制器、敏感表面、显示器、键盘和/或定点设备之外。
然后,服务器SC经由网络NW连接到管理员系统ADS和终端用户计算机EUC。
管理员系统和终端用户计算机的总体架构可以与以上参考图9所讨论的相同,除了管理员系统和终端用户计算机的存储器设备不存储可执行程序EXP和/或定义三维对象的计算机文件。然而,终端用户计算机确实存储了被设计用于与服务器的可执行程序协作的客户端程序,如以下将讨论的。
如可以领会的,网络NW可以是公共网络(例如,因特网)或私有网络(例如,LAN或WAN网络)或其任何组合,并且还可以包括PSTN或ISDN子网络。网络NW还可以是有线的(例如,以太网)或者可以是无线的(例如,包括EDGE、3G和4G无线蜂窝系统的蜂窝网络)。无线网络还可以是Wi-Fi、蓝牙或已知的任何其他无线通信形式。因此,网络NW仅仅是示例性的,并且不以任何方式限制本发明的范围。
存储在终端用户计算机的存储器设备中并由终端用户计算机的CPU执行的客户端程序经由网络NW访问由服务器SC存储并包含定义三维对象的文件的数据库DB。服务器执行如以上描述的处理,并且再次使用网络NW向终端用户计算机发送与包括3D对象的场景的期望的表示相对应的图像文件。
尽管仅显示了一个管理员系统ADS和一个终端用户系统EUX,但系统可以无限制地支持任何数量的管理员系统和/或终端用户系统。类似地,在不脱离本发明的范围的情况下,还可以在系统中实现多个服务器。
本文描述的任何方法步骤应当被理解为表示包括用于实现过程中的特定逻辑功能或步骤的一个或多个可执行指令的模块、片段或代码部分,并且替代实施方式被包括在本发明的示例性实施例的范围内。
Claims (13)
1.一种用于绘制3D对象的计算机实现的方法,所述3D对象通过虚拟相机在计算机屏幕上的3D场景中被渲染,所述方法包括以下步骤:
-在与所述虚拟相机的第一位姿相对应的第一视锥体中渲染的第一平面(PL1)中草绘至少一个第一笔划(ST1),所述第一平面(PL1)与第二平面(PL2)和第三平面(PL3)正交;
-响应于从所述虚拟相机的所述第一位姿切换到第二位姿的用户命令,从所述第一视锥体切换到与所述虚拟相机的所述第二位姿相对应的第二视锥体,所述第二视锥体由所述虚拟相机一侧上的近平面界定;
-选择所述第一平面(PL1)、所述第二平面(PL2)和所述第三平面(PL3)之中的其法线最接近所述近平面的法线的平面作为当前绘图平面;
-在所述当前绘图平面中草绘至少一个第二笔划(ST2)。
2.根据权利要求1所述的方法,包括计算所述近平面的所述法线与所述第一平面(PL1)、所述第二平面(PL2)和所述第三平面(PL3)中的每一个的所述法线的标量积的绝对值。
3.根据权利要求1或2中任一项所述的方法,其中,所述当前绘图平面与所述第一平面(PL1)正交,所述方法包括确定所述第一平面(PL1)中的最后草绘的第一笔划(ST1)的最接近所述近平面的末端的步骤,所述当前绘图平面穿过所述末端,所述末端被定义为所述当前绘图平面的原点(OR)。
4.根据前述权利要求中任一项所述的方法,包括响应于指定所述3D场景的所述笔划(ST1,ST2)之一的3D点的激活输入而设置所述当前绘图平面穿过的原点(OR)的步骤。
5.根据权利要求4所述的方法,其中,所述激活输入包括按下并按住激活按钮,同时沿着所草绘的笔划(ST1,ST2)之一在所述3D场景中移动定点元素(PE),直到释放所述激活按钮为止,从而将所述当前绘图平面的所述原点(OR)设置在所指定的3D点上。
6.根据权利要求5所述的方法,其中,所述激活按钮是键盘按钮。
7.根据前述权利要求中任一项所述的方法,包括提供所述当前绘图平面的视觉反馈的步骤。
8.根据权利要求7所述的方法,其中,所述视觉反馈是所述当前绘图平面的所述笔划的突出显示。
9.根据前述权利要求中任一项所述的方法,包括将最接近所述近平面的平面定义为第一平面的初始步骤。
10.根据权利要求1至8中任一项所述的方法,包括将先前定义的平面定义为第一平面的初始步骤。
11.一种计算机程序产品,其存储在非暂时性计算机可读数据存储介质(MEM1-MEM4)上,所述计算机程序产品包括计算机可执行指令,所述计算机可执行指令用于使计算机系统执行根据权利要求1至10中任一项所述的方法。
12.一种非暂时性计算机可读数据存储介质(MEM1-MEM4),其包含计算机可执行指令(EXP),所述计算机可执行指令用于使计算机系统执行根据权利要求1至10中任一项所述的方法。
13.一种计算机系统,其包括耦合到存储器(MEM1-MEM4)和图形用户界面(KB、PD、DC、DY)的处理器(CP),所述存储器存储计算机可执行指令(EXP),所述计算机可执行指令用于使所述计算机系统执行根据权利要求1至10中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17306969.1 | 2017-12-28 | ||
EP17306969.1A EP3506214A1 (en) | 2017-12-28 | 2017-12-28 | Method for defining drawing planes for the design of a 3d object |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110060328A true CN110060328A (zh) | 2019-07-26 |
CN110060328B CN110060328B (zh) | 2024-05-14 |
Family
ID=61002812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811610225.3A Active CN110060328B (zh) | 2017-12-28 | 2018-12-27 | 用于定义用于3d对象的设计的绘图平面的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10769824B2 (zh) |
EP (1) | EP3506214A1 (zh) |
JP (1) | JP7340927B2 (zh) |
CN (1) | CN110060328B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7248900B2 (ja) * | 2019-06-28 | 2023-03-30 | サミー株式会社 | 弾球遊技機 |
JP7248903B2 (ja) * | 2019-06-28 | 2023-03-30 | サミー株式会社 | 弾球遊技機 |
CN113496049B (zh) * | 2020-04-03 | 2024-03-12 | 琦境科技(北京)有限公司 | 一种三维空间物品规划的方法和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459821A (en) * | 1991-11-07 | 1995-10-17 | International Business Machines Corporation | Method and apparatus for generating a free-form surface |
US20040247174A1 (en) * | 2000-01-20 | 2004-12-09 | Canon Kabushiki Kaisha | Image processing apparatus |
US20070080960A1 (en) * | 2005-10-06 | 2007-04-12 | Alias Systems Corp. | Workflow system for 3D model creation |
US20080024500A1 (en) * | 2006-02-21 | 2008-01-31 | Seok-Hyung Bae | Pen-based 3d drawing system with geometric-constraint based 3d cross curve drawing |
JP2013125487A (ja) * | 2011-12-16 | 2013-06-24 | Konica Minolta Business Technologies Inc | 空間手書きシステム及び電子ペン |
US8587615B2 (en) * | 2010-01-11 | 2013-11-19 | Intel Corporation | Method, system, and computer-readable recording medium for providing information on an object using viewing frustums |
CN104750905A (zh) * | 2013-12-30 | 2015-07-01 | 达索系统公司 | 用于设计三维建模对象的计算机实现的方法 |
US20170161924A1 (en) * | 2015-12-08 | 2017-06-08 | Dassault Systemes | Computer-implemented method for drawing a polyline in a three-dimensional scene |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2955989B2 (ja) * | 1997-02-18 | 1999-10-04 | 株式会社セガ・エンタープライゼス | ゲーム装置 |
US7883415B2 (en) * | 2003-09-15 | 2011-02-08 | Sony Computer Entertainment Inc. | Method and apparatus for adjusting a view of a scene being displayed according to tracked head motion |
JP2009075739A (ja) * | 2007-09-19 | 2009-04-09 | Namco Bandai Games Inc | プログラム、情報記憶媒体、および画像生成システム |
-
2017
- 2017-12-28 EP EP17306969.1A patent/EP3506214A1/en active Pending
-
2018
- 2018-12-19 US US16/225,180 patent/US10769824B2/en active Active
- 2018-12-25 JP JP2018241416A patent/JP7340927B2/ja active Active
- 2018-12-27 CN CN201811610225.3A patent/CN110060328B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459821A (en) * | 1991-11-07 | 1995-10-17 | International Business Machines Corporation | Method and apparatus for generating a free-form surface |
US20040247174A1 (en) * | 2000-01-20 | 2004-12-09 | Canon Kabushiki Kaisha | Image processing apparatus |
US20070080960A1 (en) * | 2005-10-06 | 2007-04-12 | Alias Systems Corp. | Workflow system for 3D model creation |
US20080024500A1 (en) * | 2006-02-21 | 2008-01-31 | Seok-Hyung Bae | Pen-based 3d drawing system with geometric-constraint based 3d cross curve drawing |
US8587615B2 (en) * | 2010-01-11 | 2013-11-19 | Intel Corporation | Method, system, and computer-readable recording medium for providing information on an object using viewing frustums |
JP2013125487A (ja) * | 2011-12-16 | 2013-06-24 | Konica Minolta Business Technologies Inc | 空間手書きシステム及び電子ペン |
CN104750905A (zh) * | 2013-12-30 | 2015-07-01 | 达索系统公司 | 用于设计三维建模对象的计算机实现的方法 |
US20150186007A1 (en) * | 2013-12-30 | 2015-07-02 | Dassault Systemes | Computer-Implemented Method For Designing a Three-Dimensional Modeled Object |
US20170161924A1 (en) * | 2015-12-08 | 2017-06-08 | Dassault Systemes | Computer-implemented method for drawing a polyline in a three-dimensional scene |
Also Published As
Publication number | Publication date |
---|---|
JP2019121387A (ja) | 2019-07-22 |
EP3506214A1 (en) | 2019-07-03 |
JP7340927B2 (ja) | 2023-09-08 |
US10769824B2 (en) | 2020-09-08 |
US20190206098A1 (en) | 2019-07-04 |
CN110060328B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230343055A1 (en) | Reconstruction of 3d model with immersive experience | |
US10061496B2 (en) | Snapping of object features via dragging | |
WO2016145832A1 (zh) | 终端的操作方法及装置 | |
CN110060328A (zh) | 用于定义用于3d对象的设计的绘图平面的方法 | |
CN105637559A (zh) | 使用深度传感器的结构建模 | |
WO2017147909A1 (zh) | 目标设备的控制方法和装置 | |
CN108228026A (zh) | 三维场景中对象的快速操纵 | |
JP2023184496A (ja) | 3d形状を2dスケッチ上に推論する方法 | |
CN106845477B (zh) | 基于多个重建图像的感兴趣区域建立方法及其装置 | |
CN103714236A (zh) | 医学图像显示装置及医学图像显示方法 | |
EP3594906B1 (en) | Method and device for providing augmented reality, and computer program | |
JP7475120B2 (ja) | 回転を少なくとも含む動きを生成するための方法 | |
JP7343274B2 (ja) | 回転用のジェスチャーベースのマニピュレータ | |
US10248307B2 (en) | Virtual reality headset device with front touch screen | |
JP2012048656A5 (zh) | ||
JP2019032713A5 (zh) | ||
US20180225883A1 (en) | Non-transitory computer-readable storage medium, display control method, and display control apparatus | |
US20160070822A1 (en) | Method, Apparatus and Computer Program Code for Design and Visualization of a Physical Object | |
US11893314B2 (en) | Method for designing a 3D object by using a virtual 3D grid and hand drawn sketches | |
KR102489292B1 (ko) | 버텍스형상 및 텍스쳐이미지를 이용한 3차원 모델링 방법, 및 컴퓨터-판독가능 매체 | |
JP2021051739A (ja) | 3dシーンにおける3dオブジェクトの位置決めを支援するためのコンピュータで実施される方法 | |
JP7475625B2 (ja) | 3次元空間における入力受付および入力表示方法、プログラム、および3次元空間における入力受付および入力表示装置 | |
MacAllister et al. | Implementing native support for oculus and leap motion in a commercial engineering visualization and analysis platform | |
Khan et al. | A 3D Classical Object Viewer for Device Compatible Display | |
JP2021105913A (ja) | 情報処理システム、情報処理方法、プログラム |
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 |