CN107862740A - 三维模型边缘凸起方法 - Google Patents
三维模型边缘凸起方法 Download PDFInfo
- Publication number
- CN107862740A CN107862740A CN201711287388.8A CN201711287388A CN107862740A CN 107862740 A CN107862740 A CN 107862740A CN 201711287388 A CN201711287388 A CN 201711287388A CN 107862740 A CN107862740 A CN 107862740A
- Authority
- CN
- China
- Prior art keywords
- threedimensional model
- axis
- front edge
- summit
- edge
- 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
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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种三维模型边缘凸起方法,其特征在于,包括:步骤1,确定所述三维模型的边缘顶点;步骤2,判断所述三维模型的边缘顶点是否为正面边缘顶点;步骤3,对所述正面边缘顶点进行收缩;步骤4,对所述收缩后的正面边缘顶点进行下凹。本发明的技术方案,可以实现三维模型自动创建边缘凸起的模型,而不需要用其它建模工具,节省了制作时间,也节省了模型存储的资源。
Description
技术领域
本发明涉及一种三维模型的变形,具体涉及通过优化三维模型引擎来实现三维模型边缘凸起。
背景技术
OpenGL是三维模型构建领域中最为广泛接纳的2D/3D图形API(应用程序编程接口,其定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口,可用于三维模型或二维模型,是一个功能强大,调用方便的底层图形库,其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL ES(OpenGL for Embedded Systems)是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。
WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。
Direct 3D是基于微软的通用对象模式COM(Common Object Mode)的3D图形API。它是由微软Direct3D界面(Microsoft)一手树立的3D API规范,微软公司拥有该库版权,它所有的语法定义包含在微软提供的程序开发组件的帮助文件、源代码中。Direct3D是微软公司DirectX SDK集成开发包中的重要部分,适合多媒体、娱乐、即时3D动画等广泛和实用的3D图形计算。自1996年发布以来,Direct3D以其良好的硬件兼容性和友好的编程方式很快得到了广泛的认可,现在几乎所有的具有3D图形加速的主流显示卡都对Direct3D提供良好的支持。但它也有缺陷,由于是以COM接口形式提供的,所以较为复杂,稳定性差,另外,目前只在Windows平台上可用。
当前的大部分三维图形引擎基于上述3D图形API,三维图形引擎需要解决场景构造、对象处理、场景渲染、事件处理、碰撞检测等问题。场景渲染是场景中最重要的子模块之一,负责实现基本图元的绘制,光线处理和纹理处理等。实际上是三维真实感图形的再现过程。纹理图像提供了模型的真实感,可以有效的用来掩盖模型的多边形细节。
三维模型边缘凸起常应用于英文字、汉字等三维模型。三维模型进行边缘凸起后,在原有的模型基础上创建带凹槽的新模型,凹槽的形状与字体笔画一致,但比字体笔画更细。
目前,本领域中需要预先对每个形状制作带边缘凸起和不带边缘凸起的两种模型,这种方式增加了对于资源存储的压力,并且,对于汉字,由于数量多、字体多,无法预先对每个文字制作带边缘凸起的三维模型。
发明内容
本发明的技术方案,可以实现三维模型自动创建边缘凸起的模型,而不需要用其它建模工具,节省了制作时间,也节省了模型存储的资源。
本发明公开了一种三维模型边缘凸起方法,其特征在于,包括:
步骤1,确定所述三维模型的边缘顶点;
步骤2,判断所述三维模型的边缘顶点是否为正面边缘顶点;
步骤3,对所述正面边缘顶点进行收缩;
步骤4,对所述收缩后的正面边缘顶点进行下凹。
本发明的三维模型边缘凸起方法中,在步骤2之后,还包括确定所述正面边缘顶点与所述三维模型的切线。
本发明的三维模型边缘凸起方法中,在确定所述正面边缘顶点与所述三维模型的切线之后,将所述正面边缘顶点延与所述切线垂直,在X-Y平面上,朝向三维模型内部的方向收缩一预设距离。
本发明的三维模型边缘凸起方法中,所述收缩的预设距离,设置为所述三维模型在X轴和Y轴方向上较小尺寸的20%-40%之间。
本发明的三维模型边缘凸起方法中,对所述收缩后的正面边缘顶点进行下凹包括,根据所述收缩后的正面边缘顶点确定凹槽外部边缘点和凹槽内部边缘点。
本发明的三维模型边缘凸起方法中,根据所述收缩后的正面边缘顶点确定凹槽外部边缘点和凹槽内部边缘点包括,将所述收缩后的正面边缘顶点的X轴和Y轴坐标保持不变,延Z轴向Z轴正方向移动,与所述三维模型正面的交点,为凹槽外部边缘点;
将所述凹槽外部边缘点的X轴和Y轴坐标保持不变,延Z轴向Z轴负方向移动一预设距离后,得到所述凹槽内部边缘顶点。
本发明的三维模型边缘凸起方法中,所述延Z轴向Z轴负方向移动的预设距离,被设置为所述三维模型在Z轴尺寸的20%-60%之间。
附图说明
并入本说明书并形成本说明书的一部分的附图示出了本发明的实施例,并且连同在上面给出的说明和在下面给出的对优选实施例的详细说明一起用于解释本发明的原理。
图1示出了本发明实施例中进行边缘凸起变换前的三维模型延X轴正方向看去的示意图;
图2示出了本发明实施例中进行边缘凸起变换前的三维模型延Z轴负方向看去的示意图;
图3示出了本发明实施例中进行边缘凸起变换后的三维模型延X轴正方向看去的示意图;
图4示出了本发明实施例中进行边缘凸起变换后的三维模型延Z轴负方向看去的示意图;
图5示出了本发明实施例中进行边缘凸起变换的方法步骤流程示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解的是,本发明的保护范围并不受具体实施方式的限制。
本发明所针对的三维模型,由多个三角形构成,每个三角形包括三个顶点以及由所述三个顶点构成的面。三维模型的数据结构,由顶点数组和面数组进行表示,所述面数组中包括每个面多对应的三个顶点的序号。
本发明的技术方案,可以实现三维模型自动创建边缘凸起的模型,而不需要用其它建模工具,节省了制作时间,也节省了模型存储的资源。
以下将结合附图,通过对示例中的三维模型进行边缘凸起建模,对本发明进行说明,本领域技术人员可以容易理解的是,对任何其他形状的三维模型进行边缘凸起变换时,同样也可以通过以下方法实现。
图1,2示出了本发明实施例中的示例性三维模型示意图,图3,4为执行本发明实施例中的边缘凸起以后的三维模型示意图。
图1为延X轴方向看去的三维模型的示意图,图2为延Z轴负方向看去的三维模型示意图,该方向被称为正视角。所述三维模型M朝向Z轴正方向的面,被称为正面,朝向Z轴负方向的面,被称为反面。
图5为本发明实施例中实现三维模型边缘凸起的步骤流程示意图。在以下步骤中,以顶点V1为例进行说明。
首先,确定三维模型M的边缘顶点V1(X1,Y1,Z1)。判断V1是否属于多个面,如果属于多个面,进一步判断所述多个面之间的角度,当所述多个面之间的角度大于预设的边缘判断阈值时,则确定V1为边缘顶点。所述预设的边缘判断阈值可根据不同的三维模型尺寸,以及模型的弧度,具体进行设置。
接下来,确定所述边缘顶点V1是否属于所述三维模型M正面的边缘顶点。判断V1所述的面中是否有位于所述三维模型正面的面,如果有,则判断所述边缘顶点为正面边缘顶点,如果没有,则忽略该边缘顶点。
确定所述正面边缘顶点V1后,确定该顶点与所述三维模型的切线。
接下来,延与所述切线垂直,在X-Y平面上,朝向三维模型内部的方向对所述顶点V1进行收缩,收缩后的顶点为Va1(Xa1,Ya1,Za1)。
V1与Va1在X-Y平面上的距离P,被称为收缩距离,所述收缩距离P根据三维模型的尺寸进行预设,通常设置为所述三维模型在X轴和Y轴方向上较小尺寸的20%-40%之间。
在顶点V1坐标、收缩方向、以及收缩距离已知的情况下,可以通过现有的三维模型顶点位移算法计算出Va1的坐标Xa1,Ya1,Za1。
接下来,确定凹槽外部边缘点Vb1(Xb1,Yb1,Zb1)。将所述Va1的X轴和Y轴坐标保持不变,延Z轴向Z轴正方向移动,与所述三维模型M正面的交点,为凹槽外部边缘点Vb1,并得到顶点Vb1的坐标Xb1,Yb1,Zb1。
接下来,确定凹槽内部边缘顶点Vc1(Xc1,Yc1,Zc1)。将顶点Vb1的X轴和Y轴坐标保持不变,延Z轴向Z轴负方向移动距离Q后,得到所述凹槽内部边缘顶点Vc1的坐标Xc1,Yc1,Zc1。
所述距离Q被称为下凹深度,所述下凹深度Q根据三维模型的尺寸进行预设,通常设置为所述三维模型在Z轴尺寸的20%-60%之间。
通过以上步骤,确定了所述三维模型的正面边缘顶点V1所对应的凹槽外部边缘点Vb1和凹槽内部边缘顶点Vc1。
对于所述三维模型的其他正面边缘顶点,重复以上步骤,确定所述正面边缘顶点所对应的凹槽外部边缘点和凹槽内部边缘顶点,从而获得了对所述三维模型进行边缘凸起后的新的三维模型。
本领域技术人员可以理解的是,虽然在上述实施例中以三维模型M进行说明,但对于其他各种形状的三维模型,均可以使用以上的方法进行边缘凸起变换,从而得到边缘凸起的三维模型。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (7)
1.一种三维模型边缘凸起方法,其特征在于,包括:
步骤1,确定所述三维模型的边缘顶点;
步骤2,判断所述三维模型的边缘顶点是否为正面边缘顶点;
步骤3,对所述正面边缘顶点进行收缩;
步骤4,对所述收缩后的正面边缘顶点进行下凹。
2.根据权利要求1所述的方法,其特征在于,在步骤2之后,还包括确定所述正面边缘顶点与所述三维模型的切线。
3.根据权利要求2所述的方法,其特征在于,在确定所述正面边缘顶点与所述三维模型的切线之后,将所述正面边缘顶点延与所述切线垂直,在X-Y平面上,朝向三维模型内部的方向收缩一预设距离。
4.根据权利要求3所述的方法,其特征在于,所述收缩的预设距离,设置为所述三维模型在X轴和Y轴方向上较小尺寸的20%-40%之间。
5.根据权利要求1所述的方法,其特征在于,对所述收缩后的正面边缘顶点进行下凹包括,根据所述收缩后的正面边缘顶点确定凹槽外部边缘点和凹槽内部边缘点。
6.根据权利要求5所述的方法,其特征在于,根据所述收缩后的正面边缘顶点确定凹槽外部边缘点和凹槽内部边缘点包括,将所述收缩后的正面边缘顶点的X轴和Y轴坐标保持不变,延Z轴向Z轴正方向移动,与所述三维模型正面的交点,为凹槽外部边缘点;
将所述凹槽外部边缘点的X轴和Y轴坐标保持不变,延Z轴向Z轴负方向移动一预设距离后,得到所述凹槽内部边缘顶点。
7.根据权利要求6所述的方法,其特征在于,所述延Z轴向Z轴负方向移动的预设距离,被设置为所述三维模型在Z轴尺寸的20%-60%之间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711287388.8A CN107862740B (zh) | 2017-12-07 | 2017-12-07 | 文字三维模型边缘凸起方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711287388.8A CN107862740B (zh) | 2017-12-07 | 2017-12-07 | 文字三维模型边缘凸起方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107862740A true CN107862740A (zh) | 2018-03-30 |
CN107862740B CN107862740B (zh) | 2021-10-22 |
Family
ID=61705002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711287388.8A Active CN107862740B (zh) | 2017-12-07 | 2017-12-07 | 文字三维模型边缘凸起方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107862740B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030063086A1 (en) * | 2001-09-28 | 2003-04-03 | Canon Europa N.V. | 3D computer model processing apparatus |
CN101799937A (zh) * | 2010-03-23 | 2010-08-11 | 南京大学 | 一种采用草图创建三维模型的方法 |
US20130114910A1 (en) * | 2010-06-29 | 2013-05-09 | Fittingbox | Method for compressing/decompressing a three-dimensional mesh |
-
2017
- 2017-12-07 CN CN201711287388.8A patent/CN107862740B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030063086A1 (en) * | 2001-09-28 | 2003-04-03 | Canon Europa N.V. | 3D computer model processing apparatus |
CN101799937A (zh) * | 2010-03-23 | 2010-08-11 | 南京大学 | 一种采用草图创建三维模型的方法 |
US20130114910A1 (en) * | 2010-06-29 | 2013-05-09 | Fittingbox | Method for compressing/decompressing a three-dimensional mesh |
Also Published As
Publication number | Publication date |
---|---|
CN107862740B (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190228114A1 (en) | Three-dimensional printing preparation | |
CN102289845B (zh) | 一种三维模型绘制方法以及装置 | |
EP2426612B1 (en) | Watermarking of a 3D modeled object | |
US20110267347A1 (en) | Systems and methods for primitive intersection in ray tracing | |
US9311749B2 (en) | Method for forming an optimized polygon based shell mesh | |
US10452788B2 (en) | Modeling a three-dimensional object having multiple materials | |
CN109308734B (zh) | 3d文字的生成方法及其装置、设备、存储介质 | |
US9978176B2 (en) | Simplifying small mesh components with redundant backs | |
Yeh et al. | Interactive high-relief reconstruction for organic and double-sided objects from a photo | |
CN105190702A (zh) | 用于将二维图像应用在三维模型上的设备和方法 | |
US8665261B1 (en) | Automatic spatial correspondence disambiguation | |
CN107978018A (zh) | 立体图形模型的构建方法、装置、电子设备及存储介质 | |
CN102117501B (zh) | 一种3d线条绘制方法及装置 | |
KR101680174B1 (ko) | 3차원 모델로부터 색칠공부도안 생성 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
CN107862740A (zh) | 三维模型边缘凸起方法 | |
CN108022309B (zh) | 三维模型智能拼接方法 | |
KR20140120156A (ko) | 사용성이 향상된 모바일 디바이스를 위한 3차원 그래픽 데이터 생성 방법 및 이를 이용한 응용 개발 환경 | |
EP4089562A1 (en) | Designing garment using style line | |
CN106716500A (zh) | 程序、信息处理装置、深度定义方法及记录介质 | |
CN108553900A (zh) | 一种基于ue引擎的可叠加存储反复使用的方法 | |
CN111428439B (zh) | 一种基于轮廓树结构适用移动端生成立体文字模型的方法 | |
CN105224325A (zh) | 渲染方法和装置 | |
JP2001148028A (ja) | 図形表示装置及びその方法 | |
CN108499109A (zh) | 一种基于ue引擎实现物品可实时单侧缩放的方法 | |
KR102684615B1 (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 |