CN107862740B - 文字三维模型边缘凸起方法 - Google Patents
文字三维模型边缘凸起方法 Download PDFInfo
- Publication number
- CN107862740B CN107862740B CN201711287388.8A CN201711287388A CN107862740B CN 107862740 B CN107862740 B CN 107862740B CN 201711287388 A CN201711287388 A CN 201711287388A CN 107862740 B CN107862740 B CN 107862740B
- Authority
- CN
- China
- Prior art keywords
- edge
- dimensional model
- vertex
- character
- axis
- 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
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可以为HTML5 Canvas提供硬件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 (5)
1.一种文字三维模型边缘凸起方法,其特征在于,包括:
步骤1,确定所述文字三维模型的边缘顶点;
步骤2,判断所述文字三维模型的边缘顶点是否为正面边缘顶点;
步骤3,对所述正面边缘顶点进行收缩;
步骤4,对所述收缩后的正面边缘顶点进行下凹;
其中在步骤2之后,还包括确定所述正面边缘顶点与所述文字三维模型的切线,在确定所述正面边缘顶点与所述文字三维模型的切线之后,将所述正面边缘顶点延与所述切线垂直,在X-Y平面上,朝向文字三维模型内部的方向收缩一预设距离。
2.根据权利要求1所述的方法,其特征在于,所述收缩的预设距离,设置为所述文字三维模型在X轴和Y轴方向上较小尺寸的20%-40%之间。
3.根据权利要求1所述的方法,其特征在于,对所述收缩后的正面边缘顶点进行下凹包括,根据所述收缩后的正面边缘顶点确定凹槽外部边缘点和凹槽内部边缘点。
4.根据权利要求3所述的方法,其特征在于,根据所述收缩后的正面边缘顶点确定凹槽外部边缘点和凹槽内部边缘点包括,将所述收缩后的正面边缘顶点的X轴和Y轴坐标保持不变,延Z轴向Z轴正方向移动,与所述文字三维模型正面的交点,为凹槽外部边缘点;
将所述凹槽外部边缘点的X轴和Y轴坐标保持不变,延Z轴向Z轴负方向移动一预设距离后,得到所述凹槽内部边缘顶点。
5.根据权利要求4所述的方法,其特征在于,所述延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 CN107862740A (zh) | 2018-03-30 |
CN107862740B true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799937A (zh) * | 2010-03-23 | 2010-08-11 | 南京大学 | 一种采用草图创建三维模型的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2381429B (en) * | 2001-09-28 | 2005-07-27 | Canon Europa Nv | 3D computer model processing apparatus |
FR2961930B1 (fr) * | 2010-06-29 | 2013-01-04 | Fittingbox | Procede de compression / decompression de maillage tridimensionnel |
-
2017
- 2017-12-07 CN CN201711287388.8A patent/CN107862740B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799937A (zh) * | 2010-03-23 | 2010-08-11 | 南京大学 | 一种采用草图创建三维模型的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107862740A (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4948218B2 (ja) | 画像処理装置及びその制御方法 | |
KR100914846B1 (ko) | 2차원 환경에서 3차원 모델의 텍스쳐 맵 제작 방법 및시스템 | |
CN102289845B (zh) | 一种三维模型绘制方法以及装置 | |
CN102163340A (zh) | 计算机系统中实现三维动态几何图形数据信息标注的方法 | |
CN104331918A (zh) | 基于深度图实时绘制室外地表遮挡剔除以及加速方法 | |
CN108230435B (zh) | 采用立方图纹理的图形处理 | |
US9311749B2 (en) | Method for forming an optimized polygon based shell mesh | |
US10713844B2 (en) | Rendering based generation of occlusion culling models | |
KR101566167B1 (ko) | 3차원 공간정보에서 지형 데이터를 이용한 객체 렌더링 방법 | |
KR101552827B1 (ko) | 3차원 객체 모델의 분할 방법 | |
CN112233215A (zh) | 轮廓渲染方法、装置、设备及存储介质 | |
KR102443697B1 (ko) | 경로 스트로크를 수행하는 방법 및 장치 | |
CN102044084A (zh) | 三维图形的二维平面表现方法 | |
WO2016040538A1 (en) | Convex polygon clipping during rendering | |
WO2024060999A1 (zh) | 多边形处理方法、装置、设备、计算机可读存储介质及计算机程序产品 | |
CN106204703A (zh) | 三维场景模型渲染方法和装置 | |
CN114375464A (zh) | 使用边界体积表示对虚拟空间中的动态单元进行光线追踪 | |
KR20130092055A (ko) | 영상 처리 장치 및 방법 | |
CN107862740B (zh) | 文字三维模型边缘凸起方法 | |
KR101680174B1 (ko) | 3차원 모델로부터 색칠공부도안 생성 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
CN107798734A (zh) | 三维模型自适应变形方法 | |
JP4425734B2 (ja) | 隠線を消去したベクトルイメージを提供する方法 | |
CN116109767A (zh) | 三维场景的渲染方法、图像处理器、电子设备及存储介质 | |
KR101699847B1 (ko) | 3차원 그래픽 렌더링을 위한 클리핑 장치 및 방법 | |
JP2014219739A (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 | ||
GR01 | Patent grant |