[发明专利]一种实现虚拟现实三维烟花形状可控的方法有效
| 申请号: | 201910201300.9 | 申请日: | 2019-03-18 |
| 公开(公告)号: | CN109993836B | 公开(公告)日: | 2020-11-17 |
| 发明(设计)人: | 黄悦;骆立康;金小刚 | 申请(专利权)人: | 浙江大学 |
| 主分类号: | G06T19/00 | 分类号: | G06T19/00;G06T19/20;G06T17/20 |
| 代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 胡红娟 |
| 地址: | 310013 浙江*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实现 虚拟现实 三维 烟花 形状 可控 方法 | ||
1.一种实现虚拟现实三维烟花形状可控的方法,包括步骤:
(1)读取用户使用手柄绘制的轨迹作为输入,依据轨迹形成二维多边形;
(2)对所得二维多边形进行受约束的Delaunay三角化处理,得到初始的二维三角网格;
(3)对二维三角网格进行脊线提取,依据脊线对二维三角网格进行双面抬高,膨胀为三维立体的三角网格;
(4)对得到的三维立体的三角网格进行粒子采样,得到一个粒子系统的参数集合,对所有粒子进行分级聚类,实现多级爆炸;
(5)使用粒子系统结合逆向动力学进行模拟,在虚拟现实环境中获得与用户绘制轨迹对应形状的烟花效果,实现虚拟现实三维烟花形状可控;
所述步骤(1)的具体步骤为读取虚拟现实设备的配套手柄的位置参数,将用户绘制的轨迹曲线作为输入,将轨迹曲线投影到二维平面并按时间采样获取顶点,对获得的点集预处理,将这些点按次序连接,并将轨迹首尾点相连,得到一个首尾相连的封闭二维多边形;
所述的受约束的Delaunay三角化处理包括:
(2-1)采用Divide and conquer算法,计算所述点集的受约束的Delaunay三角剖分;
(2-2)将用户使用手柄绘制的轨迹形成的外边作为约束边,依据约束边来调整三角剖分,若约束边与三角剖分中某一条边相交,则删除三角剖分中该边并插入约束边,将剩余的非三角形区域继续三角化;
(2-3)对所有约束边重复步骤(2-2)后,受约束的Delaunay三角化结束,获得所述初始的二维三角网格;
所述步骤(3)的具体步骤为通过对三角面进行分类并提取确定网格的脊线,然后依据网格的脊线对其进行剪枝并重新三角化,最后对脊线进行提升,以此构造一个包裹脊线和多边形的三维立体的三角网格,使三维立体的三角网格的横截面成立体的椭圆形;
所述的粒子采样的算法包括:
分别计算所得三维立体的三角网格的所有三角面的面积,并进行排序,得到递增序列S={T1,T2,...,Tn},Ti为三角面,area(Ti)为Ti三角面的面积,i=1,2,...,n;
设置N个粒子,为每个粒子生成一个随机数randarea,且area(T1)<randarea<area(Tn),若area(Ti-1)<randarea≤area(Ti),则将该粒子分配给Ti三角面,直至分配完所有N个粒子;
设第j个三角面Tj对应的mj个粒子的集合为Pj,tj1、tj2、tj3是三角面的三个顶点的坐标,Pj中第k个粒子的位置Pjk计算如下:
a=rand(0,1) (1),
b=rand(0,1-a) (2),
c=1-a-b (3),
Pjk=a×tj1+b×tj2+c×tj3 (4),
其中,k=1,2,...,N;
所述的多级爆炸算法包括:
首先对已知的N个粒子进行k-means聚类:
(I)从N个粒子随机选取K个作为质心;
(II)对剩余的每个粒子计算其到每个质心的距离,并将剩余的每个粒子归到与其最近的质心的类;
(III)重新计算已经得到的各个类的质心;
(IV)反复迭代步骤(II)、(III),直至新质心与原质心相等或距离小于指定阈值,结束聚类;
第一次爆炸由一个粒子系统完成,粒子数量为K,所有粒子的出发点均为烟花发射点,最终落在对应的质心坐标上消亡,第二次爆炸由K个粒子系统完成,每个粒子系统粒子数目为N/K,每个二级粒子系统的粒子的出发点为上一级对应的质心坐标,终点为该质心对应的N/K个最终粒子的坐标,依据粒子的出发点坐标和终点坐标,应用粒子系统进行物理模拟,实现多级爆炸。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910201300.9/1.html,转载请声明来源钻瓜专利网。





