CN101630417A - 三维虚拟服装快速姿态同步方法 - Google Patents
三维虚拟服装快速姿态同步方法 Download PDFInfo
- Publication number
- CN101630417A CN101630417A CN200910194537A CN200910194537A CN101630417A CN 101630417 A CN101630417 A CN 101630417A CN 200910194537 A CN200910194537 A CN 200910194537A CN 200910194537 A CN200910194537 A CN 200910194537A CN 101630417 A CN101630417 A CN 101630417A
- Authority
- CN
- China
- Prior art keywords
- new
- delta
- partiald
- dimensional
- manikin
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种三维虚拟服装快速姿态同步方法,其特征在于,具体步骤为:第一步:建立三维人体模型以及虚拟服装模型,第二步:计算虚拟服装模型的受力情况;第三步:姿态同步。本发明的优点是当人体的姿态改变时,服装的姿态实时地随之改变,从而实现各种着装姿态下的人-衣姿态同步。
Description
技术领域
本发明涉及一种三维虚拟服装快速姿态同步方法,用于服装企业网络销售服装时展示三维服装动态着装效果,属于计算机科学中的虚拟现实技术领域。
背景技术
现有的三维服装的着装效果的展示方法中,皆是将服装应用在特定的人体姿态上,为了更好的展示三维服装的着装效果,需要着装人体做出各种姿态,因此需要一种三维虚拟服装快速姿态同步方法,现有技术中没有这种方法。
发明内容
本发明的目的是提供一种三维虚拟服装快速姿态同步方法。
为了达到上述目的,本发明的技术方案是提供一种三维虚拟服装快速姿态同步方法,其特征在于,具体步骤为:
第一步:分别建立由三角形集合构成的三维人体模型以及虚拟服装模型,虚拟服装模型设于三维人体模型外侧,三维人体模型的三角形的密度为10000个/人,虚拟服装模型的三角形的密度为3000-4000个/件;
第二步:第一步建立的虚拟服装模型中每个三角形的顶点为一个质点,三角形的三个边代表一根非线性弹簧,其中第i个顶点Pi的受力方程为:
其中,f为第i个顶点Pi所受内力的合力;fi和di分别为作用在第i个顶点Pi上的弹性力和粘性力;i=0,1,2,…n;n为三角形的顶点总数;k为弹簧的虎克常数;kd为弹簧的粘性系数;C(x)为与变形能相关的条件函数,C(x)=|x|-L;x为弹簧的瞬时长度;L为弹簧的原长;
第三步:姿态同步:
步骤3.1、以Sb表示三维人体模型的表面,以Sg表示虚拟服装模型的表面,计算在默认姿势下Sg与三维人体模型间的最短距离矢量集{D},即对于{P|P∈Sg},找出三维人体模型上的一点Q,满足:
其中m为三维人体模型的三角形顶点总数,即Q点为Sb上到P点距离最近的点;
步骤3.2、获得三维人体模型的动画,将动画按照每秒25帧的速度播放,对于每个三维人体模型的新姿态,计算Sb上的顶点的初步同步位置Pnew如下:
Pnew=Q′+R·|PQ|(3)
其中Q′是Q点在新姿态下的位置,R是旋转矩阵,代表Q点的法向从nold到nnew的旋转,计算如下:令旋转角θ=arccos(nold·nnew),r=nold×nnew,则
其中c=cosθ,s=sinθ;x,y,z分别为旋转向量r的x,y,z分量坐标值,此时新姿态下的虚拟服装模型的表面记为Sg-new,将新姿态下的三维人体模型的表面记为Sb-new;
步骤3.3、对于{Pnew|Pnew∈Sg-new},寻找三维人体模型上的一点Qnew,满足:
其中,m为Sb-new上的三角形顶点总数,即Qnew为Sb-new上距离Pnew最近的点;
当Pnew位于Sb内部,即发生穿透时,将Pnew沿着靠近n的方向旋转90度,即:令 则P′new=R′·Pnew,R′为旋转矩阵:
其中x,y,z分别为旋转向量d的x,y,z分量坐标值;
步骤3.4、将虚拟服装模型进行悬垂以及平滑处理:
其中,M为服装模型质量矩阵,f为服装模型的合力矩阵,x0=x(t0),v0=v(t0),位移增量Δx=x(t0+Δt)和速度增量Δv=v(t0+Δt)-v(t0),对上述微分方程采用一阶向后欧拉积分:
对于式(8)所给出的非线性方程,将f以泰勒级数方式展开得到其一阶近似:
将(9)式代入(8)式整理可得:
Δx=Δt(v0+Δv)(11)
其中,I为单位阵,采用共轭梯度法首先求解式(10)中的f0,以及从而得到Δv,然后更新x和v,即可得到服装在时刻t0+Δt时的位置和速度,这个位置即为该边上两个顶点经悬垂处理后的位置,在求解过程中,初始速度v0为0,初始位置x0即为步骤3.3完成后的位置;
若在一个时间步长Δt过后,|x0(t+Δt)-x1(t+Δt)|>ε|x0(t)-x1(t)|,εa=1%,εa为允许应变的阈值,采用速度过滤的方法进行纠正如下:
在时刻t时,用欧拉积分预先计算Δt后三角形顶点的位置:
x0(t+Δt)=x0(t)+v0(t)·Δt (12)
x1(t+Δt)=x1(t)+v1(t)·Δt (13)
其中x0和x1分别是三角形一条边上两个顶点的位置,在时刻t+Δt时,如果应变 则这两个三角形顶点的速度在t时刻应被调节如下:
其中x0 new(t+Δt)和x1 new(t+Δt)是满足ε=1%时的新位置,这个位置即为该边上两个顶点经平滑处理后的位置, 其中的±在过度伸长时取+,过度压缩时取-。
本发明的优点是当人体的姿态改变时,服装的姿态实时地随之改变,从而实现各种着装姿态下的人-衣姿态同步。
附图说明
图1为三维虚拟服装快速姿态同步方法示意图;
图2为初步同步效果图;
图3为初步同步示意图;
图4为穿透补偿示意图;
图5为悬垂与平滑示意图;
图6为姿态同步侧面效果图;
图7为姿态同步正面效果图;
图8为姿态同步背面效果图。
具体实施方式
下面结合实施例来具体说明本发明。
实施例
一种三维虚拟服装快速姿态同步方法,如图1所示,为三维虚拟服装快速姿态同步方法示意图,具体步骤为:
第一步:分别建立由三角形集合构成的三维人体模型以及虚拟服装模型,虚拟服装模型设于三维人体模型外侧,三维人体模型的三角形的密度为10000个/人,虚拟服装模型的三角形的密度为3000-4000个/件;
其中,三维人体模型的建立方法为通过三维人体扫描仪进行扫描,或者由美工师自行布线获得,或者将真人倒模,然后用数字笔在人体表面布线,计算机中同步生成三维人体模型。
虚拟服装模型的建立方法为将着装人体通过三维人体扫描仪进行扫描,或者由美工师自行布线,或者将真实服装版型通过数字化仪扫描为数字版型,再通过虚拟缝合和虚拟悬垂的方式制作为虚拟服装,还可以通过服装的多张照片或者视频拟合。
第二步:第一步建立的虚拟服装模型中每个三角形的顶点为一个质点,三角形的三个边代表一根非线性弹簧,其中第i个顶点Pi的受力方程为:
其中,f为第i个顶点Pi所受内力的合力;fi和di分别为作用在第i个顶点Pi上的弹性力和粘性力;i=0,1,2,…n;n为三角形的顶点总数;k为弹簧的虎克常数;kd为弹簧的粘性系数;C(x)为与变形能相关的条件函数,C(x)=|x|-L;x为弹簧的瞬时长度;L为弹簧的原长;
第三步:姿态同步:
步骤3.1、以Sb表示三维人体模型的表面,以Sg表示虚拟服装模型的表面,计算在默认姿势下Sg与三维人体模型间的最短距离矢量集{D},即对于{P|P∈Sg},找出三维人体模型上的一点Q,满足:
其中m为三维人体模型的三角形顶点总数,即Q点为Sb上到P点距离最近的点;
步骤3.2、获得三维人体模型的动画,将动画按照每秒25帧的速度播放,对于每个三维人体模型的新姿态,如图2所示,为初步同步效果图,图3为初步同步示意图,计算Sb上的顶点的初步同步位置Pnew如下:
Pnew=Q′+R·|PQ|(3)
其中Q′是Q点在新姿态下的位置,R是旋转矩阵,代表Q点的法向从nold到nnew的旋转,计算如下:令旋转角θ=arccos(nold·nnew),r=nold×nnew,则
其中c=cosθ,s=sinθ;x,y,z分别为旋转向量r的x,y,z分量坐标值,此时新姿态下的虚拟服装模型的表面记为Sg-new,将新姿态下的三维人体模型的表面记为Sb-new;
人体的三维动画获得方法有很多,常见的是由美工师逐帧设置,或者通过将运动捕捉设备捕捉到的人体关键点变化过程录制为骨架驱动型动画文件,读入到三维人体模型中,即可得到人体的动画。
对于人体跑动而言,可由上述动画录制方法获得25个不同的跑动姿态,对于本发明所涉及的姿态同步而言,可在i/25秒时取第i个姿态即为上述三维人体模型的新姿态。
步骤3.3、对于{Pnew|Pnew∈Sg-new},寻找三维人体模型上的一点Qnew,满足:
其中,m为Sb-new上的三角形顶点总数,即Qnew为Sb-new上距离Pnew最近的点;当Pnew位于Sb内部,即发生穿透时,将Pnew沿着靠近n的方向旋转90度,即:令 则P′new=R′·Pnew,R′为旋转矩阵:
其中x,y,z分别为旋转向量d的x,y,z分量坐标值;如图4所示,为穿透补偿示意图;
步骤3.4、将虚拟服装模型进行悬垂以及平滑处理:
其中,M为服装模型质量矩阵,f为服装模型的合力矩阵,x0=x(t0),v0=v(t0),位移增量Δx=x(t0+Δt)和速度增量Δv=v(t0+Δt)-v(t0),对上述微分方程采用一阶向后欧拉积分:
对于式(8)所给出的非线性方程,将f以泰勒级数方式展开得到其一阶近似:
将(9)式代入(8)式整理可得:
Δx=Δt(v0+Δv)(11)
其中,I为单位阵,采用共轭梯度法首先求解式(10)中的f0,以及从而得到Δv,然后更新x和v,即可得到服装在时刻t0+Δt时的位置和速度,这个位置即为该边上两个顶点经悬垂处理后的位置,在求解过程中,初始速度v0为0,初始位置x0即为步骤3.3完成后的位置;
若在一个时间步长Δt过后,|x0(t+Δt)-x1(t+Δt)|>ε|x0(t)-x1(t)|,εa=1%,εa为允许应变的阈值,采用速度过滤的方法进行纠正如下:
在时刻t时,用欧拉积分预先计算Δt后三角形顶点的位置:
x0(t+Δt)=x0(t)+v0(t)·Δt(12)
x1(t+Δt)=x1(t)+v1(t)·Δt (13)
其中x0和x1分别是三角形一条边上两个顶点的位置,在时刻t+Δt时,如果应变 则这两个三角形顶点的速度在t时刻应被调节如下:
其中x0 new(t+Δt)和x1 new(t+Δt)是满足ε=1%时的新位置,这个位置即为该边上两个顶点经平滑处理后的位置, 其中的±在过度伸长时取+,过度压缩时取-,如图5所示,为悬垂与平滑示意图。
如图6所示,为姿态同步侧面效果图;图7为姿态同步正面效果图;图8为姿态同步背面效果图。当人体的姿态改变时,服装的姿态实时地随之改变,从而实现各种着装姿态下的人-衣姿态同步。
Claims (1)
1、一种三维虚拟服装快速姿态同步方法,其特征在于,具体步骤为:
第一步:分别建立由三角形集合构成的三维人体模型以及虚拟服装模型,虚拟服装模型设于三维人体模型外侧,三维人体模型的三角形的密度为10000个/人,虚拟服装模型的三角形的密度为3000-4000个/件;
第二步:第一步建立的虚拟服装模型中每个三角形的顶点为一个质点,三角形的三个边代表一根非线性弹簧,其中第i个顶点Pi的受力方程为:
其中,f为第i个顶点Pi所受内力的合力;fi和di分别为作用在第i个顶点Pi上的弹性力和粘性力;i=0,1,2,…n;n为三角形的顶点总数;k为弹簧的虎克常数;kd为弹簧的粘性系数;C(x)为与变形能相关的条件函数,C(x)=|x|-L;x为弹簧的瞬时长度;L为弹簧的原长;
第三步:姿态同步:
步骤3.1、以Sb表示三维人体模型的表面,以Sg表示虚拟服装模型的表面,计算在默认姿势下Sg与三维人体模型间的最短距离矢量集{D},即对于{P|P∈Sg},找出三维人体模型上的一点Q,满足:
其中m为三维人体模型的三角形顶点总数,即Q点为Sb上到P点距离最近的点;
步骤3.2、获得三维人体模型的动画,将动画按照每秒25帧的速度播放,对于每个三维人体模型的新姿态,计算Sb上的顶点的初步同步位置Pnew如下:
Pnew=Q′+R·|PQ| (3)
其中Q′是Q点在新姿态下的位置,R是旋转矩阵,代表Q点的法向从nold到nnew的旋转,计算如下:令旋转角θ=arccos(nold·nnew),r=nold×nnew,则
其中c=cosθ,s=sinθ;x,y,z分别为旋转向量r的x,y,z分量坐标值,此时新姿态下的虚拟服装模型的表面记为Sg-new,将新姿态下的三维人体模型的表面记为Sb-new;
步骤3.3、对于{Pnew|Pnew∈Sg-new},寻找三维人体模型上的一点Qnew,满足:
其中,m为Sb-new上的三角形顶点总数,即Qnew为Sb-new上距离Pnew最近的点;
当Pnew位于Sb内部,即发生穿透时,将Pnew沿着靠近n的方向旋转90度,即:令 则P′new=R′·Pnew,R′为旋转矩阵:
其中x,y,z分别为旋转向量d的x,y,z分量坐标值;
步骤3.4、将虚拟服装模型进行悬垂以及平滑处理:
其中,M为服装模型质量矩阵,f为服装模型的合力矩阵,x0=x(t0),v0=v(t0),位移增量Δx=x(t0+Δt)和速度增量Δv=v(t0+Δt)-v(t0),对上述微分方程采用一阶向后欧拉积分:
对于式(8)所给出的非线性方程,将f以泰勒级数方式展开得到其一阶近似:
将(9)式代入(8)式整理可得:
Δx=Δt(v0+Δv) (11)
其中,I为单位阵,采用共轭梯度法首先求解式(10)中的f0,以及从而得到Δv,然后更新x和v,即可得到服装在时刻t0+Δt时的位置和速度,这个位置即为该边上两个顶点经悬垂处理后的位置,在求解过程中,初始速度v0为0,初始位置x0即为步骤3.3完成后的位置;
若在一个时间步长Δt过后,|x0(t+Δt)-x1(t+Δt)|>ε|x0(t)-x1(t)|,εa=1%,εa为允许应变的阈值,采用速度过滤的方法进行纠正如下:
在时刻t时,用欧拉积分预先计算Δt后三角形顶点的位置:
x0(t+Δt)=x0(t)+v0(t)·Δt (12)
x1(t+Δt)=x1(t)+v1(t)·Δt (13)
其中x0和x1分别是三角形一条边上两个顶点的位置,在时刻t+Δt时,如果应变 则这两个三角形顶点的速度在t时刻应被调节如下:
其中x0 new(t+Δt)和x1 new(t+Δt)是满足ε=1%时的新位置,这个位置即为该边上两个顶点经平滑处理后的位置, 其中的±在过度伸长时取+,过度压缩时取-。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101945375A CN101630417B (zh) | 2009-08-25 | 2009-08-25 | 三维虚拟服装快速姿态同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101945375A CN101630417B (zh) | 2009-08-25 | 2009-08-25 | 三维虚拟服装快速姿态同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101630417A true CN101630417A (zh) | 2010-01-20 |
CN101630417B CN101630417B (zh) | 2011-12-14 |
Family
ID=41575516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101945375A Expired - Fee Related CN101630417B (zh) | 2009-08-25 | 2009-08-25 | 三维虚拟服装快速姿态同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101630417B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473806A (zh) * | 2013-09-23 | 2013-12-25 | 北京航空航天大学 | 一种基于单幅图像的服装三维模型构建方法 |
CN103530903A (zh) * | 2013-10-28 | 2014-01-22 | 智慧城市系统服务(中国)有限公司 | 一种虚拟试衣间的实现方法及实现系统 |
CN103678769A (zh) * | 2013-11-12 | 2014-03-26 | 浙江大学 | 基于人体骨架与二维形变的真实感服装创建方法 |
CN107194990A (zh) * | 2017-05-19 | 2017-09-22 | 东华大学 | 一种三维服装自适应着装方法 |
CN112102470A (zh) * | 2020-08-18 | 2020-12-18 | 亿匀智行(深圳)科技有限公司 | 线性可微的参数化服装模型制作方法及其参数的优化方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0120039D0 (en) * | 2001-08-16 | 2001-10-10 | Univ London | Method for dressing and animating dressed beings |
CN1975743A (zh) * | 2006-12-11 | 2007-06-06 | 中山大学 | 一种基于动力平衡模型的健臀裤功效仿真模拟方法 |
-
2009
- 2009-08-25 CN CN2009101945375A patent/CN101630417B/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473806A (zh) * | 2013-09-23 | 2013-12-25 | 北京航空航天大学 | 一种基于单幅图像的服装三维模型构建方法 |
CN103473806B (zh) * | 2013-09-23 | 2016-03-16 | 北京航空航天大学 | 一种基于单幅图像的服装三维模型构建方法 |
CN103530903A (zh) * | 2013-10-28 | 2014-01-22 | 智慧城市系统服务(中国)有限公司 | 一种虚拟试衣间的实现方法及实现系统 |
CN103678769A (zh) * | 2013-11-12 | 2014-03-26 | 浙江大学 | 基于人体骨架与二维形变的真实感服装创建方法 |
CN103678769B (zh) * | 2013-11-12 | 2017-01-04 | 浙江大学 | 基于人体骨架与二维形变的真实感服装创建方法 |
CN107194990A (zh) * | 2017-05-19 | 2017-09-22 | 东华大学 | 一种三维服装自适应着装方法 |
CN107194990B (zh) * | 2017-05-19 | 2019-11-08 | 东华大学 | 一种三维服装自适应着装方法 |
CN112102470A (zh) * | 2020-08-18 | 2020-12-18 | 亿匀智行(深圳)科技有限公司 | 线性可微的参数化服装模型制作方法及其参数的优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101630417B (zh) | 2011-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101630417B (zh) | 三维虚拟服装快速姿态同步方法 | |
CN104008564B (zh) | 一种人脸表情克隆方法 | |
CN104123753B (zh) | 基于服装图片的三维虚拟试衣方法 | |
CN106920146B (zh) | 基于体感特征参数提取的立体试衣方法 | |
JP5709440B2 (ja) | 情報処理装置、情報処理方法 | |
CN101944238A (zh) | 基于拉普拉斯变换的数据驱动人脸表情合成方法 | |
CN109035413B (zh) | 一种图像变形的虚拟试穿方法及系统 | |
US9811937B2 (en) | Coordinated gesture and locomotion for virtual pedestrians | |
CN102306386B (zh) | 从单张树木图像快速构建真实感树木模型的方法 | |
US11694343B2 (en) | Binocular-vision-based method for tracking fruit space attitude and fruit space motion | |
CN101271581A (zh) | 建立个性化的三维人体模型 | |
CN103413329A (zh) | 一种运动平台与3d视频数据匹配互动方法及系统 | |
CN103258343A (zh) | 一种基于图像编辑的眼部图像处理方法 | |
CN107945285A (zh) | 一种三维模型换贴图和变形方法 | |
Keiser et al. | Contact handling for deformable point-based objects. | |
CN104657713A (zh) | 一种可抗姿态和表情变化的三维人脸校准方法 | |
CN106570747A (zh) | 结合手势识别的眼镜在线适配方法及系统 | |
CN102592304B (zh) | 一种分类应变限制的动态服装仿真方法 | |
Fan et al. | 3D face reconstruction from single 2D image based on robust facial feature points extraction and generic wire frame model | |
Marconi | The Mozia Charioteer: A Revision | |
Xiao et al. | An improved model of rigid bodies for plain-weave fabrics based on the dynamics of multibody systems | |
CN102750439A (zh) | 服饰对体型跟踪的方法及装置 | |
Yang et al. | Life-sketch: a framework for sketch-based modelling and animation of 3D objects | |
CN103198520A (zh) | 基于控制点和控制线邻域变形的个性化人像产品设计方法 | |
TWI252437B (en) | Feature-based head structure and texturing head |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111214 Termination date: 20140825 |
|
EXPY | Termination of patent right or utility model |