CN114201832A - 模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法及设备 - Google Patents

模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法及设备 Download PDF

Info

Publication number
CN114201832A
CN114201832A CN202111515157.4A CN202111515157A CN114201832A CN 114201832 A CN114201832 A CN 114201832A CN 202111515157 A CN202111515157 A CN 202111515157A CN 114201832 A CN114201832 A CN 114201832A
Authority
CN
China
Prior art keywords
value
calculating
coordinate
image
coordinate system
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
Application number
CN202111515157.4A
Other languages
English (en)
Other versions
CN114201832B (zh
Inventor
徐鹏程
于闯亮
沈智波
孔令亮
张铁监
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Duolun Internet Technology Co ltd
Original Assignee
Duolun Internet Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Duolun Internet Technology Co ltd filed Critical Duolun Internet Technology Co ltd
Priority to CN202111515157.4A priority Critical patent/CN114201832B/zh
Publication of CN114201832A publication Critical patent/CN114201832A/zh
Application granted granted Critical
Publication of CN114201832B publication Critical patent/CN114201832B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/10Noise analysis or noise optimisation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法及设备,包括:建立车辆挡风玻璃三维空间模型,将模型放入uv坐标系中并切割成多个等分的方格,每一个方格作为绘制水珠的坐标系;拟合噪声函数、拉升函数、运动曲线函数,为水珠计算X轴的拉升值以及y轴的运动值,计算水珠坐标及像素偏移值,计算拖尾水珠坐标及像素偏移值并叠加为一个像素偏移值;对原始图像进行偏移采样得到水珠滑落的图像,进行模糊算法处理得到模拟水汽效果图像;计算两个弧度距离场,并叠加为一个弧度距离场;将模拟水汽效果图像和原始图像经过弧度距离场混合,得到最终模拟效果图像。本发明大大提高了模拟真实感、易于快捷部署模拟且效果更好,效率更佳。

Description

模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法及设备
技术领域
本发明涉及一种模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法及设备,属于汽车驾驶模拟的技术领域。
背景技术
汽车驾驶模拟器是一种能模拟汽车驾驶的仿真***。目前的汽车驾驶模拟器是集三维实时动画、人工智能、数据通信、网络、多媒体、机械等多种技术为一体的仿真技术,主要用于准备参加驾培考试的学员培训;可以用于应急推演,降低应急推演投入成本,提高推演实训时间,从而保证了人们面对事故灾难时的应对技能,并且可以打破空间的限制方便的组织各地人员进行推演,这样的案例已有应用,必将是今后应急推演的一个趋势;还可用于对微观交通进行仿真、对汽车的控制特性进行研究等。汽车驾驶模拟器可方便地模拟各种道路环境、天气状况,分析汽车的技术性能指标,从而可以节省大量的自然资源,具有很高的经济价值。
其中,降雨天气对行车安全有很大影响,持续的降雨会严重影响驾驶员的视线以及车辆的制动距离,因降雨天气引起的交通事故时有发生;因此,汽车驾驶模拟器上模拟的降雨天气的驾驶环境显得尤为重要。
目前大多通过粒子效果制作雨滴效果,该技术存在以下缺点:(1)粒子多了对处理器的计算消耗比较大;(2)雨刮器刮动时雨滴消失比较生硬,缺乏真实效果;(3)无法产生雨滴滑落时的水痕效果以及雨刮器的刮痕效果;(4)无雨水生成的水汽模糊效果。
发明内容
为了克服现有技术中存在的不足,本发明提供一种模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法及设备,以解决现有技术中模拟降雨天气时无法产生雨滴滑落时的水痕效果以及雨刮器的刮痕效果,以及无雨水生成的水汽模糊效果的问题。
本发明具体采用以下技术方案解决上述技术问题:
一种模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法,包括如下步骤:
S1:建立车辆挡风玻璃三维空间模型
Figure BDA0003404201920000011
S2:假设时间变化量为t,将建立的车辆挡风玻璃三维空间模型
Figure BDA0003404201920000021
放入uv坐标系中,即模型坐标系uv(x,y);计算车辆挡风玻璃三维空间模型
Figure BDA0003404201920000022
的uv坐标y轴的拉升值w;给模型坐标系uv(x,y)的y轴加一个随时间t累加的偏移值,让车辆挡风玻璃三维空间模型
Figure BDA0003404201920000023
的uv坐标向下运动;
S3:在模型uv坐标系中将车辆挡风玻璃三维空间模型
Figure BDA0003404201920000024
切割成多个等分的方格,将切割好的每一个方格作为绘制水珠的坐标系gv,即水珠坐标系gv(x,y);
S4:拟合噪声函数,计算每一个方格的随机噪声值n;拟合水珠坐标在x轴方向上随拉升值w变化的拉升函数f(w)并叠加随机噪声值n使水珠在x轴方向上拉升运动;拟合水珠坐标在y轴方向上随时间t积累的运动曲线函数f(t)使水珠在y轴方向上变速运动;通过水珠坐标系gv(x,y)以及拉升函数f(w)拓展计算出拖尾水珠坐标系dv,即拖尾水珠坐标系dv(x,y);根据拉升函数f(w)和运动曲线函数f(t)计算水珠在水珠坐标系gv下的坐标dropPos(x,y)并计算出水珠像素偏移值;根据拖尾水珠坐标系dv计算出拖尾水珠的坐标dropTrailPos(x,y)并计算拖尾水珠像素偏移值;合并水珠像素偏移值与拖尾水珠像素偏移值为一个像素偏移值col;
S5:假设输入一幅图像为输入的原始图像T2,利用S4步骤得到的像素偏移值col对原始图像T2进行偏移采样得到水珠滑落的图像,再对水珠滑落图像进行模糊算法处理得到模糊后的模拟水汽效果图像T1;
S6:计算模拟雨刮器刮动形态时的两个弧度距离场,并叠加计算出的两个弧度距离场为一个弧度距离场T3;
S7:将模拟水汽效果图像T1和原始图像T2通过弧度距离场T3进行混合,得到一个最终模拟效果图像。
进一步地,作为本发明的一种优选技术方案,所述步骤S1中建立的车辆挡风玻璃三维空间模型
Figure BDA0003404201920000025
是一个四边形模型。
进一步地,作为本发明的一种优选技术方案,所述步骤S2中车辆挡风玻璃三维空间模型
Figure BDA0003404201920000026
的uv坐标系为左下角(0,0)、左上角(0,1)、右上角(1,1)、右下角(1,0)。
进一步地,作为本发明的一种优选技术方案,所述步骤S2中车辆挡风玻璃三维空间模型
Figure BDA0003404201920000027
的uv坐标y轴的拉升值w=uv.y*10,及uv坐标向下运动的公式为:uv.y+=t*0.25。
进一步地,作为本发明的一种优选技术方案,所述步骤S3中将车辆挡风玻璃三维空间模型
Figure BDA0003404201920000028
切割成多个等分的方格,具体为:
S3-1、将车辆挡风玻璃三维空间模型
Figure BDA0003404201920000031
的uv坐标系uv(x,y)的范围从0~1映射为0~10,映射公式:uv=uv*10;
S3-2、再通过frac(uv),frac函数将uv坐标系变为x和y轴分别为10*10的方格,每个方格的范围是0~1区间,计算水珠的坐标系gv=frac(uv)-0.5,使得10*10的方格每个范围变为-0.5~0.5区间。
进一步地,作为本发明的一种优选技术方案,所述步骤S4具体为:
S4-1、拟合噪声函数,定义一个二维坐标q(x,y),q.x=123.34,q.y=345.45,该函数输入一个坐标值p(x,y),经过p=frac(p*q),p+=dot(p,p+34.345)计算,输出随机噪声值n=p.x*p.y,其中,dot()为计算点乘函数;
S4-2、拟合拉升函数公式为:f(w)=sin(3w)sin(w)^6;
S4-3、拟合运动曲线函数公式为:f(t)=-sin(t+sin(t+sin(t)*0.5));
S4-4、为水珠计算一个x轴的拉升值公式为x=(n-0.5)*0.8;x+=(0.4-abs(x))*f(w),其中,abs()为取绝对值函数;为水珠计算一个y轴的运动值公式为y=f(t);y-=(gv.x-x)*(gv.x-x);
S4-5、计算水珠坐标位置,假定偏移向量为m1(x,y),其中m1.x为步骤S4-4中计算的x轴的拉升值,m1.y为步骤S4-4中计算的y轴的运动值,水珠坐标公式为:dropPos=gv-m1;由dropPos计算水珠像素偏移值drop=smoothstep(0.05,0.03,length(dropPos));
S4-6、计算拖尾水珠坐标系d(x,y),假定偏移向量为m2(x,y),其中m2.x为步骤S4-4计算的x轴的拉升值,m2.y=t*0.25,拖尾水珠坐标系公式为:d(x,y)=gv-m2;计算拖尾水珠坐标dropTrailPos,公式为:
dropTrailPos.x=d.x;dropTrailPos.y=(frac(d.y*8)/8)-0.03;
由dropTrailPos计算拖尾水珠像素偏移值dropTrail=smoothstep(0.03,0.02,
length(dropTrailPos));
S4-7、叠加水珠像素偏移值和拖尾水珠像素偏移值为一个像素偏移值col,其公式为col
=drop+dropTrail。
进一步地,作为本发明的一种优选技术方案,所述步骤S5得到模糊后的模拟水汽效果图像T1,具体步骤为:
S5-1、将S4步骤得到的像素偏移值col用来做原始图像T2的纹理采样,得到原始图像经过纹理坐标偏移后的图像,即水滴滑落的图像;
S5-2、利用均值模糊算法处理S5-1中得到的水滴滑落的图像:利用步骤S4中拟合的噪声函数,将车辆挡风玻璃三维空间模型
Figure BDA0003404201920000041
的uv坐标uv(x,y)作为输入值,假定输出的随机噪声值为a,二维向量e(x,y),e.x=sin(a),e.y=cos(a);计算偏移值offset的公式为:offset=e*0.01,通过offset偏移值采样水滴滑落的图像得到偏移的像素值,循环采样四次,每次循环输出随机噪声值a+=1,经过四次采样的偏移像素值相加除以4取平均像素值作为新的像素值,由新的像素值组成得到模糊后的模拟水汽效果图像T1。
进一步地,作为本发明的一种优选技术方案,所述步骤S6叠加两个弧度距离场为一个弧度距离场T3,具体为:
S6-1、给出弧度距离场函数的定义,输入参数一共有4个,uv坐标点uv(x,y),中心坐标点c(x,y),角度值angle,距离值len;
S6-2、计算uv坐标点与中心坐标点的向量dir=uv-center;
计算uv坐标点与中心坐标点的距离dist=length(dir);
计算向量dir与uv坐标系x轴的夹角ang=atan2(dir.y,dir.x);
计算距离dist与输入距离值len的关系值dd=1-smoothstep(len,len+0.02,dist),当所述距离dist小于len时输出dd值为1;距离dist大于len+0.02时输出dd值为0;距离dist大于len且小于len+0.02时输出dd值为0~1之间的值;
计算夹角ang与输入角度值angle的关系值aa=1-smoothstep(angle,angle+0.8,degrees(ang)),当所述夹角ang小于angle时输出aa值为1;夹角ang大于angle时输出aa值为0;夹角ang大于angle且小于angle+0.8时输出aa值为0~1之间的值;
以及,计算弧度距离场函数的输出值等于dd*aa;
S6-3、由步骤S6-2得到的弧度距离场函数,假设输入左边弧度距离场参数得到输出值为dt1,假设输入右边弧度距离场参数得到输出值为dt2,将dt1和dt2通过公式合并为一个弧度距离场T3=min(dt1+dt2,1);其中min函数为限制dt1+dt2的值在0~1之间。
进一步地,作为本发明的一种优选技术方案,所述步骤S7中进行混合得到最终模拟效果图像,具体为:
将模拟水汽效果图像T1和原始图像T2通过弧度距离场T3进行混合,得到最终模拟效果图像T=lerp(T2,T1,T3),当弧度距离场T3值为0时输出原始图像T2的像素值;当弧度距离场T3值为1时输出模拟水汽效果图像T1的像素值;当弧度距离场T3大于0且小于1时输出原始图像T2的像素值到模拟水汽效果图像T1像素值的中间过度插值。
本发明还提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法的步骤。
本发明采用上述技术方案,能产生如下技术效果:
本发明的方法及设备,针对传统粒子制作的雨滴效果存在当粒子过多时计算开销大,雨刮器刮动时雨滴粒子效果消失比较生硬,缺乏真实感,没有雨滴滑落产生水痕,雨刮器刮痕以及水汽模糊效果给出了采用计算机图形学算法去计算模拟渲染画面的方法。一次性渲染雨滴画面,减少了CPU的计算开销。通过拉升函数、运动曲线函数,噪声函数、画面融合使得雨滴效果滑落更加符合运动规律,雨刮器刮动雨滴消失不再生硬,大大提高了模拟真实感。
因此,针对传统粒子效果雨刮器刮动没有刮痕效果,本发明通过计算模拟雨刮器刮动时的弧度距离场,传入雨刮器刮动时的弧度和长度来计算一个遮罩的弧度距离场图像,再将模拟水汽效果的图像、原始图像、弧度距离场三种图像画面融合得到最终模拟效果图像,实现雨刮器刮痕效果。针对水汽模糊效果,本发明通过模糊算法将渲染的雨滴画面进行模糊增加了在某些特定情况下雨天玻璃起雾的效果。本发明易操作,易实现可以方便快捷的移植到其他不同的车型上面,实现不同车型的车窗玻璃雨天模拟效果。通过本发明模拟出来的效果易于快捷部署模拟,效果更好效率更佳。
附图说明
图1为本发明方法的整体流程示意图。
图2为本发明中车辆挡风玻璃三维空间模型
Figure BDA0003404201920000051
为四边形模型的示意图。
图3为本发明中切割的小方格示意图。
图4为本发明中uv坐标扩大映射示意图。
图5为本发明中frac函数图像示意图。
图6为本发明中噪声函数图像示意图。
图7为本发明中拉升函数f(w)=sin(3w)sin(w)^6图像示意图。
图8为本发明中运动曲线函数f(t)=-sin(t+sin(t+sin(t)*0.5))图像示意图。
图9,10,11,12,13分别为本发明中水珠形成过程示意图。
图14为本发明中雨滴效果模糊后的图像示意图。
图15为本发明中雨刮器弧度距离场形态示意图。
图16为本发明中通过距离场图像混合后的最终模拟效果图像示意图。
图17为本发明中车辆模型图像示意图。
图18为本发明中根据发明方法构建的计算机渲染Shader文件示意图。
图19为本发明中构建的自定义材质球文件示意图。
图20为本发明中将自定义材质球赋予车窗模型示意图。
图21为本发明中将自定义材质球赋予车窗模型示意图。
图22为本发明中雨刮器刮动时渲染出的图像示意图。
具体实施方式
下面结合说明书附图对本发明的实施方式进行描述。
如图1所示,本发明涉及一种模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法,该方法具体包括如下步骤:
S1:建立车辆挡风玻璃三维空间模型
Figure BDA0003404201920000061
进一步地,如图2所示,所述车辆挡风玻璃三维空间模型
Figure BDA0003404201920000062
是一个四边形模型;该四边形模型是由4个顶点,2个三角面构成的,其对角线的顶点为两个三角面共享顶点。
S2:假设时间变化量为t,将建立的车辆挡风玻璃三维空间模型
Figure BDA0003404201920000063
放入uv坐标系中,即模型坐标系uv(x,y)。计算车辆挡风玻璃三维空间模型
Figure BDA0003404201920000064
的uv坐标y轴的拉升值w。给uv(x,y)的y轴加一个随时间t累加的偏移值,让车辆挡风玻璃三维空间模型
Figure BDA0003404201920000065
的uv坐标向下运动。
进一步地,所述四边形模型的4个顶点带有坐标信息,即uv坐标,将
Figure BDA0003404201920000066
模型放入uv坐标系中,4个顶点的左边分别为左下角(0,0)、左上角(0,1)、右上角(1,1)、右下角(1,0),如图3所示。
其中,所述uv坐标y轴的拉升值w=uv.y*10,模型uv坐标向下运动的公式为:uv.y+=t*0.25,其中0.25为一个系数值,t为时间变化累积量不断变大的一个值。
S3:在模型uv坐标系中将车辆挡风玻璃三维空间模型
Figure BDA0003404201920000067
切割成多个等分的方格,将切割好的每一个方格作为绘制水珠的坐标系gv,即水珠坐标系gv(x,y)。具体步骤为:
S3-1、将模型
Figure BDA0003404201920000068
的uv坐标系uv(x,y)的范围从0~1映射为0~10,映射公式:uv=uv*10。如图4所示。
S3-2、通过frac(uv),frac函数图像如图5所示,利用frac函数将uv坐标系变为x和y轴分别为10*10的方格,每个方格的范围是0~1区间,计算水珠的坐标系gv=frac(uv)-0.5,使得10*10的方格每个范围变为-0.5~0.5区间。
由此,将切割好的每一个方格作为独立的水珠坐标系gv(x,y),在方格内绘制一个圆即水珠。
S4:拟合噪声函数,计算每一个方格的随机噪声值n;拟合水珠坐标在x轴方向上随拉升值w变化的拉升函数f(w)并叠加随机噪声值n使水珠在x轴方向上拉升运动;拟合水珠坐标在y轴方向上随时间t积累的运动曲线函数f(t)使水珠在y轴方向上变速运动;通过水珠坐标系gv(x,y)以及拉升函数f(w)拓展计算出拖尾水珠坐标系dv,即拖尾水珠坐标系dv(x,y);根据拉升函数f(w)和运动曲线函数f(t)计算水珠在水珠坐标系gv下的坐标dropPos(x,y)并计算出水珠像素偏移值;根据拖尾水珠坐标系dv计算出拖尾水珠的坐标dropTrailPos(x,y)并计算拖尾水珠像素偏移值;合并水珠像素偏移值与拖尾水珠像素偏移值为一个像素偏移值col;该过程通过拟合噪声函数、拉升函数、运动曲线函数为后面计算水珠的坐标以及水珠像素偏移值做准备。利用计算的拖尾水珠坐标空间下拖尾水珠的坐标以及拖尾水珠的像素偏移值,合并水珠像素偏移值和拖尾水珠像素偏移值为一个值,具体如下:
S4-1、拟合噪声函数公式:首先定义一个二维坐标q(x,y),q.x=123.34,q.y=345.45,该函数输入一个坐标值p(x,y),经过公式p=frac(p*q),p+=dot(p,p+34.345)变换后返回输出变化后的随机噪声值n=p.x*p.y:假设每个方格都有行列号坐标id(x,y),行列号的计算公式为id=floor(uv),floor函数将uv坐标区间0~10向下取整就得到了0,1,2,3,4,5,6,7,8,9,10这些值,即行列号坐标id.x为0~10的整数,id.y为0~10的整数。将id坐标作为输入值p(x,y)传入噪声函数。所述输入值带入公式变换得到:p=frac(p*float2(123.34,345.45)),p+=dot(p,p+34.345),输出随机噪声函数n=p.x*p.y,其中,dot()为计算点乘函数,噪声图像如图6所示。
S4-2、拟合拉升函数公式:f(w)=sin(3w)sin(w)^6,如图7所示。
S4-3、拟合运动曲线公式:f(t)=-sin(t+sin(t+sin(t)*0.5))如图8所示。
S4-4、下面主要为计算水珠形成的一个过程,该过程如图9,10,11,12,13所示,首先为水珠计算X轴的拉升值以及y轴的运动值:为水珠计算一个x轴的拉升值公式为x=(n-0.5)*0.8;x+=(0.4-abs(x))*f(w),其中,abs()为取绝对值函数;为水珠计算一个y轴的运动值公式为y=f(t);y-=(gv.x-x)*(gv.x-x)。
S4-5、计算水珠坐标空间下水珠坐标以及水珠的像素偏移值:计算水珠坐标空间下的水珠坐标位置,假定偏移向量m1(x,y),其中m1.x为步骤S4-4中计算的x轴的拉升值,m1.y为步骤S4-4中计算的y轴的运动值,水珠坐标公式为:dropPos=gv-m1;由dropPos计算水珠像素偏移值drop=smoothstep(0.05,0.03,length(dropPos))。
S4-6、计算拖尾水珠空间下拖尾水珠坐标以及拖尾水珠像素偏移值:计算拖尾水珠空间下的拖尾水珠坐标系d(x,y),假定偏移向量为m2(x,y),其中m2.x为步骤S4-4计算的x轴的拉升值,该m2.x与m1.x的取值相同。m2.y=t*0.25,拖尾水珠坐标系公式为:d(x,y)=gv-m2;计算拖尾水珠坐标dropTrailPos,公式为:
dropTrailPos.x=d.x;
dropTrailPos.y=(frac(d.y*8)/8)-0.03;
由dropTrailPos计算拖尾水珠像素偏移值:
dropTrail=smoothstep(0.03,0.02,length(dropTrailPos))。
S4-7、叠加水珠像素偏移值和拖尾水珠像素偏移值为一个像素偏移值col,其公式为col=drop+dropTrail。
S5:假设输入一幅图像为输入的原始图像T2,利用S4步骤得到的像素偏移值对原始图像T2进行偏移采样得到水珠滑落的图像再对水珠滑落图像进行模糊算法处理得到模糊后的水汽效果图像T1,如图14所示,具体如下:
S5-1、将S4步骤最后得到的像素偏移值col用来做原始图像T2的纹理采样,得到原始图像经过纹理坐标偏移后的图像,即水滴滑落的图像。
S5-2、利用模糊算法处理S5-1中得到的水滴滑落的图像,该模糊算法为均值模糊算法。计算出4个随机偏移值,采样4次偏移后的周边像素值相加取平均值。其中会用到S4-1中拟合的噪声函数,将模型
Figure BDA0003404201920000081
的uv坐标uv(x,y)作为输入值,假定输出的随机噪声值为a,二维向量e(x,y),e.x=sin(a),e.y=cos(a);计算偏移值offset的公式为:offset=e*0.01,通过offset偏移值采样水滴滑落的图像得到偏移的像素值,循环采样四次,每次循环输出随机噪声值a+=1,经过四次采样的偏移像素值相加除以4取平均像素值作为新的像素值,这样由新的像素值组成得到模糊后的水汽效果图像T1。
S6:计算模拟雨刮器刮动形态时的两个弧度距离场,并叠加计算出的两个弧度距离场为一个弧度距离场T3,计算出的一个弧度距离场T3距离值作为最后混合图像的参数。所述弧度距离场的形态示意图如图15所示,其计算过程具体如下:
S6-1、给出距离场的概念,简单来说就是一个场函数,这个场函数可以是一个三维空间几何函数,也可以是二维,一维或者N维。距离场函数有输入和输出,输入是一个自变量就是空间中的一个点,输出就是输入点到某个点或者几何体或者不规则体的距离。而这里所要求的就是模型
Figure BDA0003404201920000091
uv坐标系空间中的点和扇形弧度的一个距离关系,而这个弧度距离场函数需要计算uv坐标系内坐标点与预定义中心坐标的距离以及与预定义中心坐标的向量和uv坐标系x轴形成的夹角来共同定义。
本发明中给出弧度距离场函数的定义,输入参数一共有4个,uv坐标点uv(x,y),中心坐标点c(x,y),角度值angle,距离值len。
S6-2、进行弧度距离场的计算:
第1步、计算uv坐标点与中心坐标点的向量dir=uv-center;
第2步、计算uv坐标点与中心坐标点的距离dist=length(dir);
第3步、计算向量dir与uv坐标系x轴的夹角ang=atan2(dir.y,dir.x);
第4步、计算距离dist与输入距离值len的关系值dd=1-smoothstep(len,len+0.02,dist),当距离dist小于len时输出dd值为1,距离dist大于len+0.02时输出dd值为0;dist大于len且小于len+0.02时输出dd值为0~1之间的值;
第5步、计算夹角ang与输入角度值angle的关系值aa=1-smoothstep(angle,angle+0.8,degrees(ang)),当夹角ang小于angle时输出aa值为1;夹角ang大于angle时输出aa值为0;夹角ang大于angle且小于angle+0.8时输出aa值为0~1之间的值;
第6步、计算弧度距离场函数的输出值等于dd*aa。
S6-3、由S6-2步骤得到了求解弧度距离场的函数,假设输入左边弧度距离场参数得到输出值为dt1,假设输入右边弧度距离场参数得到输出值为dt2,将dt1和dt2通过公式合并为一个弧度距离场T3=min(dt1+dt2,1),其几何结构为两个弧度扇形,该min函数为限制dt1+dt2的值在0~1之间。
S7:将模拟水汽效果图像T1和原始图像T2通过弧度距离场T3进行混合,得到一个最终模拟效果图像。如图16所示,具体如下:
将模拟水汽效果图像T1和原始图像T2通过弧度距离场T3进行混合,得到最终模拟效果图像T=lerp(T2,T1,T3),当弧度距离场T3值为0时输出原始图像T2的像素值;当弧度距离场T3值为1时输出模拟水汽效果图像T1的像素值;当T3大于0且小于1时输出原始图像T2的像素值到模拟水汽效果图像T1像素值的中间过度插值。
本发明还涉及一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法的步骤,由此实现对雨天车窗玻璃雨滴和雨刮器刮动效果的真实模拟。
因此,本发明的方法及设备,通过计算模拟雨刮器刮动时的弧度距离场,传入雨刮器刮动时的弧度和长度来计算一个遮罩的弧度距离场,再将模拟水汽效果的图像、原始图像、弧度距离场三种图像画面融合得到最终模拟效果图像,实现雨刮器刮痕效果,使得雨滴效果滑落更加符合运动规律,提高了模拟真实感。
为了验证本发明的方法及设备能够有效进行模拟雨滴效果,以下给出一个实例,为应用在虚拟仿真领域,具体过程如下:
步骤1:构建如图17所示的车辆挡风玻璃的三维空间模型
Figure BDA0003404201920000101
步骤2:在虚拟仿真软件里通过以上原理方法构建计算机图形渲染文件shader,如图18所示。
步骤3:在虚拟仿真软件里构建车窗玻璃模型所需的材质球,即渲染文件shader的载体,如图19所示。
步骤4:将构建的材质球赋予车窗玻璃模型,使模型的渲染方式通过以上原理自定义的shader文件进行渲染,如图20所示。
步骤5:根据本发明方法所述的各步骤进行操作,在虚拟仿真软件里得到最终渲染效果,即雨天雨刮器刮动车窗挡风玻璃的效果,如图21和图22所示。
综上,本发明的方法及设备,通过将模拟水汽效果的图像、原始图像、弧度距离场三种图像画面融合得到最终模拟效果图像,画面融合使得雨滴效果滑落更加符合运动规律,雨刮器刮动雨滴消失不再生硬,大大提高了模拟真实感。因此,本发明方法及设备,有效模拟了雨天雨刮器刮动车窗挡风玻璃的效果,通过本发明模拟出来的效果易于快捷部署模拟,可以方便快捷的移植到其他不同的车型上面,实现不同车型的车窗玻璃雨天模拟效果且效果更好,效率更佳。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (10)

1.一种模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法,其特征在于,包括如下步骤:
S1:建立车辆挡风玻璃三维空间模型
Figure FDA0003404201910000011
S2:假设时间变化量为t,将建立的车辆挡风玻璃三维空间模型
Figure FDA0003404201910000012
放入uv坐标系中,即模型坐标系uv(x,y);计算车辆挡风玻璃三维空间模型
Figure FDA0003404201910000013
的uv坐标y轴的拉升值w;给模型坐标系uv(x,y)的y轴加一个随时间t累加的偏移值,让车辆挡风玻璃三维空间模型
Figure FDA0003404201910000014
的uv坐标向下运动;
S3:在模型uv坐标系中将车辆挡风玻璃三维空间模型
Figure FDA0003404201910000015
切割成多个等分的方格,将切割好的每一个方格作为绘制水珠的坐标系gv,即水珠坐标系gv(x,y);
S4:拟合噪声函数,计算每一个方格的随机噪声值n;拟合水珠坐标在x轴方向上随拉升值w变化的拉升函数f(w)并叠加随机噪声值n使水珠在x轴方向上拉升运动;拟合水珠坐标在y轴方向上随时间t积累的运动曲线函数f(t)使水珠在y轴方向上变速运动;通过水珠坐标系gv(x,y)以及拉升函数f(w)拓展计算出拖尾水珠坐标系dv,即拖尾水珠坐标系dv(x,y);根据拉升函数f(w)和运动曲线函数f(t)计算水珠在水珠坐标系gv下的坐标dropPos(x,y)并计算出水珠像素偏移值;根据拖尾水珠坐标系dv计算出拖尾水珠的坐标dropTrailPos(x,y)并计算拖尾水珠像素偏移值;合并水珠像素偏移值与拖尾水珠像素偏移值为一个像素偏移值col;
S5:假设输入一幅图像为输入的原始图像T2,利用S4步骤得到的像素偏移值col对原始图像T2进行偏移采样得到水珠滑落的图像,再对水珠滑落图像进行模糊算法处理得到模糊后的模拟水汽效果图像T1;
S6:计算模拟雨刮器刮动形态时的两个弧度距离场,并叠加计算出的两个弧度距离场为一个弧度距离场T3;
S7:将模拟水汽效果图像T1和原始图像T2通过弧度距离场T3进行混合,得到一个最终模拟效果图像。
2.根据权利要求1所述模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法,其特征在于,所述步骤S1中建立的车辆挡风玻璃三维空间模型
Figure FDA0003404201910000016
是一个四边形模型。
3.根据权利要求1所述模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法,其特征在于,所述步骤S2中车辆挡风玻璃三维空间模型
Figure FDA0003404201910000017
的uv坐标系为左下角(0,0)、左上角(0,1)、右上角(1,1)、右下角(1,0)。
4.根据权利要求1所述模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法,其特征在于,所述步骤S2中车辆挡风玻璃三维空间模型
Figure FDA0003404201910000021
的uv坐标y轴的拉升值w=uv.y*10,及uv坐标向下运动的公式为:uv.y+=t*0.25。
5.根据权利要求1所述模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法,其特征在于,所述步骤S3中将车辆挡风玻璃三维空间模型
Figure FDA0003404201910000022
切割成多个等分的方格,具体为:
S3-1、将车辆挡风玻璃三维空间模型
Figure FDA0003404201910000023
的uv坐标系uv(x,y)的范围从0~1映射为0~10,映射公式:uv=uv*10;
S3-2、再通过frac(uv),frac函数将uv坐标系变为x和y轴分别为10*10的方格,每个方格的范围是0~1区间,计算水珠的坐标系gv=frac(uv)-0.5,使得10*10的方格每个范围变为-0.5~0.5区间。
6.根据权利要求1所述模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法,其特征在于,所述步骤S4具体为:
S4-1、拟合噪声函数,定义一个二维坐标q(x,y),q.x=123.34,q.y=345.45,该函数输入一个坐标值p(x,y),经过p=frac(p*q),p+=dot(p,p+34.345)计算,输出随机噪声值n=p.x*p.y,其中,dot()为计算点乘函数;
S4-2、拟合拉升函数公式为:f(w)=sin(3w)sin(w)^6;
S4-3、拟合运动曲线函数公式为:f(t)=-sin(t+sin(t+sin(t)*0.5));
S4-4、为水珠计算一个x轴的拉升值公式为x=(n-0.5)*0.8;x+=(0.4-abs(x))*f(w),其中,abs()为取绝对值函数;为水珠计算一个y轴的运动值公式为y=f(t);y-=(gv.x-x)*(gv.x-x);
S4-5、计算水珠坐标空间下的水珠坐标位置,假定偏移向量为m1(x,y),其中m1.x为步骤S4-4中计算的x轴的拉升值,m1.y为步骤S4-4中计算的y轴的运动值,水珠坐标公式为:dropPos=gv-m1;由dropPos计算水珠像素偏移值drop=smoothstep(0.05,0.03,length(dropPos));
S4-6、计算拖尾水珠空间下的拖尾水珠坐标系d(x,y),假定偏移向量为m2(x,y),其中m2.x为步骤S4-4计算的x轴的拉升值,m2.y=t*0.25,拖尾水珠坐标系公式为:d(x,y)=gv-m2;计算拖尾水珠坐标dropTrailPos,公式为:
dropTrailPos.x=d.x;dropTrailPos.y=(frac(d.y*8)/8)-0.03;
由dropTrailPos计算拖尾水珠像素偏移值dropTrail=smoothstep(0.03,0.02,length(dropTrailPos));
S4-7、叠加水珠像素偏移值和拖尾水珠像素偏移值为一个像素偏移值col,其公式为col=drop+dropTrail。
7.根据权利要求1所述模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法,其特征在于,所述步骤S5得到模糊后的模拟水汽效果图像T1,具体步骤为:
S5-1、将S4步骤得到的像素偏移值col用来做原始图像T2的纹理采样,得到原始图像经过纹理坐标偏移后的图像,即水滴滑落的图像;
S5-2、利用均值模糊算法处理S5-1中得到的水滴滑落的图像:利用步骤S4中拟合的噪声函数,将车辆挡风玻璃三维空间模型
Figure FDA0003404201910000031
的uv坐标uv(x,y)作为输入值,假定输出的随机噪声值为a,二维向量e(x,y),e.x=sin(a),e.y=cos(a);计算偏移值offset的公式为:offset=e*0.01,通过offset偏移值采样水滴滑落的图像得到偏移的像素值,循环采样四次,每次循环输出随机噪声值a+=1,经过四次采样的偏移像素值相加除以4取平均像素值作为新的像素值,由新的像素值组成得到模糊后的模拟水汽效果图像T1。
8.根据权利要求1所述模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法,其特征在于,所述步骤S6叠加两个弧度距离场为一个弧度距离场T3,具体为:
S6-1、给出弧度距离场函数的定义,输入参数一共有4个,uv坐标点uv(x,y),中心坐标点c(x,y),角度值angle,距离值len;
S6-2、计算uv坐标点与中心坐标点的向量dir=uv-center;
计算uv坐标点与中心坐标点的距离dist=length(dir);
计算向量dir与uv坐标系x轴的夹角ang=atan2(dir.y,dir.x);
计算距离dist与输入距离值len的关系值dd=1-smoothstep(len,len+0.02,dist),当所述距离dist小于len时输出dd值为1;距离dist大于len+0.02时输出dd值为0;距离dist大于len且小于len+0.02时输出dd值为0~1之间的值;
计算夹角ang与输入角度值angle的关系值aa=1-smoothstep(angle,angle+0.8,degrees(ang)),当所述夹角ang小于angle时输出aa值为1;夹角ang大于angle时输出aa值为0;夹角ang大于angle且小于angle+0.8时输出aa值为0~1之间的值;
以及,计算弧度距离场函数的输出值等于dd*aa;
S6-3、由步骤S6-2得到的弧度距离场函数,假设输入左边弧度距离场参数得到输出值为dt1,假设输入右边弧度距离场参数得到输出值为dt2,将dt1和dt2通过公式合并为一个弧度距离场T3=min(dt1+dt2,1);其中min函数为限制dt1+dt2的值在0~1之间。
9.根据权利要求1所述模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法,其特征在于,所述步骤S7中进行混合得到最终模拟效果图像,具体为:
将模拟水汽效果图像T1和原始图像T2通过弧度距离场T3进行混合,得到最终模拟效果图像T=lerp(T2,T1,T3),当弧度距离场T3值为0时输出原始图像T2的像素值;当弧度距离场T3值为1时输出模拟水汽效果图像T1的像素值;当弧度距离场T3大于0且小于1时输出原始图像T2的像素值到模拟水汽效果图像T1像素值的中间过度插值。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至9中任一项所述模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法的步骤。
CN202111515157.4A 2021-12-10 2021-12-10 模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法及设备 Active CN114201832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111515157.4A CN114201832B (zh) 2021-12-10 2021-12-10 模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111515157.4A CN114201832B (zh) 2021-12-10 2021-12-10 模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法及设备

Publications (2)

Publication Number Publication Date
CN114201832A true CN114201832A (zh) 2022-03-18
CN114201832B CN114201832B (zh) 2024-07-16

Family

ID=80652777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111515157.4A Active CN114201832B (zh) 2021-12-10 2021-12-10 模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法及设备

Country Status (1)

Country Link
CN (1) CN114201832B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6146143A (en) * 1997-04-10 2000-11-14 Faac Incorporated Dynamically controlled vehicle simulation system, and methods of constructing and utilizing same
JP2009070215A (ja) * 2007-09-14 2009-04-02 Making:Kk シミュレーション装置
US20100053325A1 (en) * 2008-09-03 2010-03-04 Dai Nippon Printing Co., Ltd. Image converter
CN111008928A (zh) * 2019-11-26 2020-04-14 杭州趣维科技有限公司 一种实现图像雨滴滴落、划动波纹特效的方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6146143A (en) * 1997-04-10 2000-11-14 Faac Incorporated Dynamically controlled vehicle simulation system, and methods of constructing and utilizing same
JP2009070215A (ja) * 2007-09-14 2009-04-02 Making:Kk シミュレーション装置
US20100053325A1 (en) * 2008-09-03 2010-03-04 Dai Nippon Printing Co., Ltd. Image converter
CN111008928A (zh) * 2019-11-26 2020-04-14 杭州趣维科技有限公司 一种实现图像雨滴滴落、划动波纹特效的方法及***

Also Published As

Publication number Publication date
CN114201832B (zh) 2024-07-16

Similar Documents

Publication Publication Date Title
CN105336003B (zh) 结合gpu技术实时流畅绘制出三维地形模型的方法
Wilkie et al. Virtualized traffic at metropolitan scales
Kaneda et al. Animation of water droplet flow on curved surfaces
CN104157000B (zh) 模型表面法线的计算方法
Wang et al. Automatic generation of large-scale 3D road networks based on GIS data
CN105184843A (zh) 一种基于OpenSceneGraph的三维动画制作方法
CN115330969A (zh) 一种用于地面无人车的局部静态环境矢量化描述方法
KR100816622B1 (ko) 화상 처리 장치 및 화상 처리 방법
CN114138265B (zh) 一种基于数字孪生的可视化方法
CN106570926A (zh) 一种飞行视景仿真中高效的粒子云层绘制方法
CN113808243B (zh) 一种可形变雪地网格的绘制方法和装置
CN113536538B (zh) 一种基于交通冲突的行人与车辆交互仿真方法及***
CN114201832A (zh) 模拟雨天车窗玻璃雨滴和雨刮器刮动效果的方法及设备
Sakaino A semitransparency-based optical-flow method with a point trajectory model for particle-like video
Galazka et al. CiThruS2: Open-source photorealistic 3D framework for driving and traffic simulation in real time
CN111859612B (zh) 激光雷达仿真方法以及装置
CN114254501A (zh) 一种大规模草地渲染与仿真方法
CN107274482B (zh) 基于纹理投影方法的海上溢油可视化及交互方法
CN114078202A (zh) 自然场景目标检测***的性能评估方法及装置
CN113888687B (zh) 一种粒子动态变换的实现方法及装置
CN117710557B (zh) 一种真实感体积云的构建方法、装置、设备及介质
US11727616B2 (en) Contour lines for volumetric objects
Dong A Review of Traffic Scene Reconstruction Based on Images and Point Clouds
Chen et al. Real-time visualization of tire tracks in dynamic terrain with LOD
Mizukami et al. Realistic Rain Rendering.

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