CN105447904A - 一种基于Loop细分的三维云纹曲面显示方法及其装置 - Google Patents
一种基于Loop细分的三维云纹曲面显示方法及其装置 Download PDFInfo
- Publication number
- CN105447904A CN105447904A CN201510741639.XA CN201510741639A CN105447904A CN 105447904 A CN105447904 A CN 105447904A CN 201510741639 A CN201510741639 A CN 201510741639A CN 105447904 A CN105447904 A CN 105447904A
- Authority
- CN
- China
- Prior art keywords
- moire
- curved surface
- dimensional
- curved
- point
- 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 31
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 abstract description 4
- 230000010354 integration Effects 0.000 abstract 1
- 238000013459 approach Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本发明实施例公开了一种基于Loop细分的三维云纹曲面显示方法及其装置,其中,该方法包括:输入一个粗略的三维曲面;输入云纹图;根据输入细分次数进行预处理,生成三角网格;确定一个三角片与云纹图片的关系,预处理成三角云纹网络;从上一次的曲面进行第k次迭代时,以曲面Fk-1的点、面和云纹计算得到曲面Fk的点、面和云纹对应关系;进行n次迭代,生成最终的三维云纹曲面。在本发明实施例中,在三维云纹曲面显示中采用了融合逼近与插值的Loop细分技术,可以解决不能用单一的逼近与插值方法解决的曲面细分,适用于云纹、一般的连续图像等;同时实现了计算云纹的变换的简单快速,稳定性高。
Description
技术领域
本发明涉及三维建模技术领域,尤其涉及一种基于Loop细分的三维云纹曲面显示方法及其装置。
背景技术
在当今信息时代,随着计算机技术、多媒体技术和虚拟技术的发展,对三维建模的技术要求越来越高。特别是随着三维影视,三维游戏的发展,大量的三维模型需要快速生成,其中三维曲面是三维模型中必不可少的部分。
所谓三维云纹曲面显示,是指通过输入一个粗略的三维网格,网格对应的云纹,然后根据一定的细分技术,快速的生成一个光滑连续的三维云纹曲面。这不仅对云纹曲面适用,对于连续图案的三维曲面也适用。这在三维建模时曲面的生成有广泛的应用。
传统的云纹曲面是基于插值或者逼近的曲面生成方法,而且在表面纹理处理方面速度慢,比如Catmull-Clark逼近细分、Doo-Sabin逼近细分、Butterfly插值细分和kobbelt插值细分曲面生成等,这些方法在三维曲面生成里面具有很好的效果,然而它们却是单一的插值或者逼近方法,在一些领域达不到预期效果。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种基于Loop细分的三维云纹曲面显示方法及其装置,可以让细分之后的三维云纹曲面保持自然连续,使设计更加直观和简单,解决不能用单一的逼近与插值方法解决的曲面细分。
为了解决上述问题,本发明提出了一种基于Loop细分的三维云纹曲面显示方法,所述方法包括:
基于Loop细分的三维云纹曲面显示方法,其特征在于,所述方法包括:
输入一个粗略的三维曲面;
输入云纹图;
根据输入细分次数进行预处理,生成三角网格;
确定一个三角片与云纹图片的关系,预处理成三角云纹网络;
从上一次的曲面进行第k次迭代时,以曲面Fk-1的点、面和云纹计算得到曲面Fk的点、面和云纹对应关系;
进行n次迭代,生成最终的三维云纹曲面。
优选地,所述输入一个粗略的三维曲面的步骤包括:
输入曲面上的点、曲面上点与面的关系、及对应的云纹,获得一个粗略的云纹曲面。
优选地,在所述确定一个三角片与云纹图片的关系的步骤之后,包括:
用展开三角网格的方式,确定每一个三角片在云纹图片上的对应关系。
优选地,所述预处理成三角云纹网络步骤,包括:
当输入的粗略的三维曲面中控制网格包括四边形或者大于四边的多边形时,将四边形或者大于四边的多边形加一些边,使原来的四边形或者大于四边的多边形形状保持不变。
相应地,本发明还提供一种基于Loop细分的三维云纹曲面显示装置,所述装置包括:
输入模块,用于输入一个粗略的三维曲面,及输入云纹图;
生成模块,用于根据输入细分次数进行预处理,生成三角网格;
预处理模块,用于确定一个三角片与云纹图片的关系,预处理成三角云纹网络;
计算模块,用于从上一次的曲面进行第k次迭代时,以曲面Fk-1的点、面和云纹计算得到曲面Fk的点、面和云纹对应关系;
曲面生成模块,用于进行n次迭代,生成最终的三维云纹曲面。
优选地,所述输入模块还用于输入曲面上的点、曲面上点与面的关系、及对应的云纹,获得一个粗略的云纹曲面。
优选地,所述预处理模块还用于用展开三角网格的方式,确定每一个三角片在云纹图片上的对应关系。
优选地,所述预处理模块当输入的粗略的三维曲面中控制网格包括四边形或者大于四边的多边形时,将四边形或者大于四边的多边形加一些边,使原来的四边形或者大于四边的多边形形状保持不变。
在本发明实施例中,在三维云纹曲面显示中采用了融合逼近与插值的Loop细分技术,可以解决不能用单一的逼近与插值方法解决的曲面细分,适用于云纹、一般的连续图像等;同时实现了计算云纹的变换的简单快速,稳定性高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例的基于Loop细分的三维云纹曲面显示方法的流程示意图;
图2a-图2e是本发明实施例中Loop细分使用的面具示意图;
图3是本发明实施例中三角片网格变形示意图;
图4是本发明实施例中云纹扩展算法示意图;
图5是本发明实施例的基于Loop细分的三维云纹曲面显示装置的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例的基于Loop细分的三维云纹曲面显示方法的流程示意图,如图1所示,该方法包括:
S1,输入一个粗略的三维曲面;
S2,输入云纹图;
S3,根据输入细分次数进行预处理,生成三角网格;
S4,确定一个三角片与云纹图片的关系,预处理成三角云纹网络;
S5,从上一次的曲面进行第k次迭代时,以曲面Fk-1的点、面和云纹计算得到曲面Fk的点、面和云纹对应关系;
S6,进行n次迭代,生成最终的三维云纹曲面。
在S1中,包括输入曲面上的点,曲面上点与面的关系,输入对应的云纹。根据以上三者,可以得到一个粗略的云纹曲面,每个网络面都有对应的云纹。而输入迭代次数n,是用来限定进行细分的次数,n越大最终的曲面越精细,但是用的资源也越多。
在S3中,用展开三角网格的方式,确定每一个三角片在云纹图片上的对应关系。当输入的粗略的三维曲面中控制网格包括四边形或者大于四边的多边形时,将四边形或者大于四边的多边形加一些边,使原来的四边形或者大于四边的多边形形状保持不变。但是控制网格变成了三角形。把这时的三角网格云纹曲面当成是F0,表示还没有进行细分的曲面。
在S5中,计算下一次迭代生成的曲面上的点。
根据Loop细分算法把控制网格生成的顶点分为两类顶点,分别是E顶点和V顶点。它们的分类依据是,E顶点是两个三角形网格共享边生成的顶点,而V顶点是原顶点经过计算偏移生成的顶点。通过以下公式实现。
计算生成新的曲面上的控制网格点。
计算相应的对应面:
VE顶点对应的在原网格上的点是Vv顶点对应的在原网格上的点是V,根据点的对应关系,可以确定新生成的网格的每个三个片在原网格中都可以找到对应面,由此确定对应关系。
当计算出对应的云纹之后,那么三维云纹曲面Fk就生成了。
在S6中,根据迭代次数n,当换代了n次之后,最终的三维云纹曲面就生成了。图2a-图2e是Loop细分使用的面具,这里改进了传统的Loop细分方法,可以通过调节α来控制逼近和插值之间的程度。
E-顶点:设内部边的两个顶点为v0,v1,共享此边的两个三角形面为(v0,v1,v2)和(v0,v1,v3),
V-顶点:若内部顶点v的边邻点为v0,v1,…,vn-1,其中n=|v|E
在上面的两个公式中而邻点权值为 或n=3时 而n>3时 α是对于Loop细分是逼近还是插值的控制参数(0<=α<=1),当α=0时,Loop细分是完全的逼近细分,当α=1时,Loop细分是完全的插值细分,当0<α<1时,Loop细分是逼近和插值细分的融合体。
图3是三角片网格变形示意图,新的网格的三角片在原来的网格中都可以对应的面。假设新生成的三角片为(V0V1V2),原来的三角片为(VaVbVc),那么在(V0V1V2)内部的点(X,Y,Z)对应的在原三角片(VaVbVc)内部的(XaYbZc)用如下的方式求得:
(X,Y,Z)=w0*V0+w1*V1+w2*V2也即是:
从上面的方程可以求出w0,w1,w2
因此得到在原三角片(VaVbVc)里面的(X’,Y’,Z’)=w0*Va+w1*Vb+w2*Vc。整理可得:
其中VaVbVcV1V2V3是已知的顶点,都是维度为3的矢量,可得:
M为变换矩阵。参考图4,可以快速地计算得到变换之后的云纹。
相应地,本发明实施例还提供一种基于Loop细分的三维云纹曲面显示装置,如图5所示,该装置包括:
输入模块1,用于输入一个粗略的三维曲面,及输入云纹图;
生成模块2,用于根据输入细分次数进行预处理,生成三角网格;
预处理模块3,用于确定一个三角片与云纹图片的关系,预处理成三角云纹网络;
计算模块4,用于从上一次的曲面进行第k次迭代时,以曲面Fk-1的点、面和云纹计算得到曲面Fk的点、面和云纹对应关系;
曲面生成模块5,用于进行n次迭代,生成最终的三维云纹曲面。
输入模块1还用于输入曲面上的点、曲面上点与面的关系、及对应的云纹,获得一个粗略的云纹曲面。
预处理模块3还用于用展开三角网格的方式,确定每一个三角片在云纹图片上的对应关系。
预处理模块3当输入的粗略的三维曲面中控制网格包括四边形或者大于四边的多边形时,将四边形或者大于四边的多边形加一些边,使原来的四边形或者大于四边的多边形形状保持不变。
本发明的装置实施例中各功能模块的功能可参见本发明方法实施例中的流程处理,这里不再赘述。
在本发明实施例中,在三维云纹曲面显示中采用了融合逼近与插值的Loop细分技术,可以解决不能用单一的逼近与插值方法解决的曲面细分,适用于云纹、一般的连续图像等;同时实现了计算云纹的变换的简单快速,稳定性高。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的基于Loop细分的三维云纹曲面显示方法及其装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种基于Loop细分的三维云纹曲面显示方法,其特征在于,所述方法包括:
输入一个粗略的三维曲面;
输入云纹图;
根据输入细分次数进行预处理,生成三角网格;
确定一个三角片与云纹图片的关系,预处理成三角云纹网络;
从上一次的曲面进行第k次迭代时,以曲面Fk-1的点、面和云纹计算得到曲面Fk的点、面和云纹对应关系;
进行n次迭代,生成最终的三维云纹曲面。
2.如权利要求1所述的基于Loop细分的三维云纹曲面显示方法,其特征在于,所述输入一个粗略的三维曲面的步骤包括:
输入曲面上的点、曲面上点与面的关系、及对应的云纹,获得一个粗略的云纹曲面。
3.如权利要求1所述的基于Loop细分的三维云纹曲面显示方法,其特征在于,在所述确定一个三角片与云纹图片的关系的步骤之后,包括:
用展开三角网格的方式,确定每一个三角片在云纹图片上的对应关系。
4.如权利要求1所述的基于Loop细分的三维云纹曲面显示方法,其特征在于,所述预处理成三角云纹网络步骤,包括:
当输入的粗略的三维曲面中控制网格包括四边形或者大于四边的多边形时,将四边形或者大于四边的多边形加一些边,使原来的四边形或者大于四边的多边形形状保持不变。
5.一种基于Loop细分的三维云纹曲面显示装置,其特征在于,所述装置包括:
输入模块,用于输入一个粗略的三维曲面,及输入云纹图;
生成模块,用于根据输入细分次数进行预处理,生成三角网格;
预处理模块,用于确定一个三角片与云纹图片的关系,预处理成三角云纹网络;
计算模块,用于从上一次的曲面进行第k次迭代时,以曲面Fk-1的点、面和云纹计算得到曲面Fk的点、面和云纹对应关系;
曲面生成模块,用于进行n次迭代,生成最终的三维云纹曲面。
6.如权利要求5所述的基于Loop细分的三维云纹曲面显示装置,其特征在于,所述输入模块还用于输入曲面上的点、曲面上点与面的关系、及对应的云纹,获得一个粗略的云纹曲面。
7.如权利要求5所述的基于Loop细分的三维云纹曲面显示装置,其特征在于,所述预处理模块还用于用展开三角网格的方式,确定每一个三角片在云纹图片上的对应关系。
8.如权利要求5所述的基于Loop细分的三维云纹曲面显示装置,其特征在于,所述预处理模块当输入的粗略的三维曲面中控制网格包括四边形或者大于四边的多边形时,将四边形或者大于四边的多边形加一些边,使原来的四边形或者大于四边的多边形形状保持不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510741639.XA CN105447904A (zh) | 2016-01-04 | 2016-01-04 | 一种基于Loop细分的三维云纹曲面显示方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510741639.XA CN105447904A (zh) | 2016-01-04 | 2016-01-04 | 一种基于Loop细分的三维云纹曲面显示方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105447904A true CN105447904A (zh) | 2016-03-30 |
Family
ID=55558035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510741639.XA Pending CN105447904A (zh) | 2016-01-04 | 2016-01-04 | 一种基于Loop细分的三维云纹曲面显示方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447904A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111433757A (zh) * | 2017-07-28 | 2020-07-17 | 北奥拜勃工作室有限公司 | 用于实时复杂角色动画和交互性的***和方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639946A (zh) * | 2009-08-26 | 2010-02-03 | 北京农业信息技术研究中心 | 植物叶片三维模型几何描述和曲面重建方法及*** |
CN103559374A (zh) * | 2013-11-25 | 2014-02-05 | 中国科学院自动化研究所 | 一种多子网格模型上进行面***型曲面细分的方法 |
-
2016
- 2016-01-04 CN CN201510741639.XA patent/CN105447904A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639946A (zh) * | 2009-08-26 | 2010-02-03 | 北京农业信息技术研究中心 | 植物叶片三维模型几何描述和曲面重建方法及*** |
CN103559374A (zh) * | 2013-11-25 | 2014-02-05 | 中国科学院自动化研究所 | 一种多子网格模型上进行面***型曲面细分的方法 |
Non-Patent Citations (2)
Title |
---|
ZHUO SHI ET AL.: "《Interpolatory and Mixed Loop Schemes》", 《PACIFIC GRAPHICS 2008》 * |
刘晓东等: "《基于Loop 细分格式的虚拟作物果实建模》", 《中国农业大学学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111433757A (zh) * | 2017-07-28 | 2020-07-17 | 北奥拜勃工作室有限公司 | 用于实时复杂角色动画和交互性的***和方法 |
CN111433757B (zh) * | 2017-07-28 | 2023-10-20 | 北奥拜勃工作室有限公司 | 用于实时复杂角色动画和交互性的***和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Converting an unstructured quadrilateral/hexahedral mesh to a rational T-spline | |
CN102902848B (zh) | 针对边界元分析的三维可视化仿真方法 | |
CN105678683A (zh) | 一种三维模型的二维存储方法 | |
Denninger et al. | 3d scene reconstruction from a single viewport | |
CN111581776A (zh) | 一种基于几何重建模型的等几何分析方法 | |
CN108986218A (zh) | 一种基于pmvs的建筑物密集点云快速重建方法 | |
CN111028335A (zh) | 一种基于深度学习的点云数据的分块面片重建方法 | |
CN114996658B (zh) | 一种基于投影的高超声速飞行器气动热预测方法 | |
Starinshak et al. | A new parallel algorithm for constructing Voronoi tessellations from distributed input data | |
CN110334450B (zh) | 一种多块结构网格生成中物面投影错误的修复方法 | |
CN103839233B (zh) | 一种相机抖动造成的模糊图像复原方法 | |
CN113673186A (zh) | 一种基于stl文件的笛卡尔网格快速生成方法 | |
CN103325086B (zh) | 一种基于四面体坐标系的三维图形的变形方法 | |
CN105574903A (zh) | 一种基于gpu加速的几何纹理合成方法及*** | |
Shi et al. | Filling n-sided regions with G 1 triangular Coons B-spline patches | |
CN105447904A (zh) | 一种基于Loop细分的三维云纹曲面显示方法及其装置 | |
US20080129727A1 (en) | System and method for generating curvature adapted isosurface based on delaunay triangulation | |
Li et al. | Approximation of Loop subdivision surfaces for fast rendering | |
CN107578821B (zh) | 一种用于虚拟手术***中的实时的高效gpu渲染方法 | |
Sun et al. | Smoothing algorithm for planar and surface mesh based on element geometric deformation | |
CN106651979A (zh) | 基于投影的空间曲面四边形网格剖分方法 | |
CN106067192A (zh) | 基于逆插值Loop的网格简化方法 | |
Wang et al. | Gauss-Seidel Progressive Iterative Approximation (GS-PIA) for Loop Surface Interpolation. | |
CN112070895A (zh) | 一种高质量的实时等值面网络生成方法 | |
Choporov et al. | Optimized smoothing of discrete models of the implicitly defined geometrical objects' surfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160330 |