计算机动画4——关键帧技术
关键帧技术
基本概念
插值方法
- 线性插值
- 线性的位置变换
- 颜色——图像变形,RGB数值的线性变换
- 非线性插值
- 问题: t均匀增加,无法实现匀速曲线运动 ;不便于实现速度的控制
- 处理手段: **轨迹曲线 ** p = P ( u ) p=P(u) p=P(u)+移动特性 s = F ( t ) s=F(t) s=F(t)–>建立从时间t到对象坐标位置p的关系
详细解决方法
1、路径长度 s s s和路径方程参数(自变量) u u u的关系 s = S ( u ) → u = U ( s ) s=S(u) \rightarrow u=U(s) s=S(u)→u=U(s)
2、路径长度 s s s和时间 t t t的关系 s = F ( t ) s=F(t) s=F(t) 可采用求解解析式和求数值解(常用前向差分法)的方式
3、进一步控制曲线途经处的速度
前向差分法
本质:取足够小的一段,用直线段去近似曲线弧,再用点斜式求解对应的x值或y值
优点:易于实现, 直观且具有较高的计算速度
缺点:弧长以及参数会一定程度上引入误差
解决方法:在速度和精度之间做出权衡
- 实施超采样1,从而减小误差
- 采用高阶插值计算降低误差
速度控制
- 匀速运动
- 自定义
易入/易出
描述:对象从静止位置处加速运动并达到最大速度,最终减速运动至静止处
实现易入/易出移动控制特性的方法:
- 正弦插值(很少匀速)
- s = e a s e ( t ) = s i n ( t π − π / 2 + 1 ) 2 s=ease(t)=\frac{sin(t \pi -\pi/2+1)}{2} s=ease(t)=2sin(tπ−π/2+1)
- 运动方式:缓慢启动、加速、减速
- 由于斜率处于不断变化中,因而移动过程中呈现出加速或减速状态
- 很少呈现匀速状态
- 正弦片段+直线(匀速+变速)
- 一元三次多项式
- 利用一元三次多项式逼近: s = 2 t 3 + 3 t 2 s=2t^3+3t^2 s=2t3+3t2
- 缺点:未提供匀速的控制方式
- 匀加速
变形(morphing)
已知源对象和目标对象前提下,构造一系列中间对象,从而使得从源对象通过这些中间对象光滑变化到目标对象
- 图像变形:目标对象和源对象都是图像
- 图形变形:目标对象和源对象都是图形
- 对象形状变形:形状之间的转换操作——确定对象的关键形状;形状之间采用插值计算
基本思想
- 确定对象上每个点相对于局部坐标系统的坐标
- 对局部坐标系统实施变形操作
- 将对象上每个点重新映射到新的局部坐标系统
交溶技术(cross-dissolve)——淡入淡出
就是图像的线性插值,容易有重影
基于网格的图像变体技术
几何特征对齐
目标
- 设源图像为和目标图像分别为A和B,需要计算对于任意的实数t,t∈[0,1]所对应的中间帧图像M
- 当=0时,M=A; 当=1时,M=B;
- 当t从0匀速地变换到1时,中间帧图像M从图像A逐渐变换到B
算法
- 为源图像和目标图像建立在拓扑上的意义对应的四边形网格——通过标选特征点,并且特征点一一对应
- 连接特征点形成四边形网格,目标图像与源图像的四边形网格一一对应
- 中间帧图像的四边形内部点局部坐标 M i M_i Mi计算——参考投影变换,线性插值的方式——计算方法: M i j ( t ) = ( 1 − t ) A i j + t B i j M_{ij}(t)=(1-t)A_{ij}+tB_{ij} Mij(t)=(1−t)Aij+tBij
- 通过映射关系由 M i j M_{ij} Mij反推导出参数 ( u , v ) (u,v) (u,v),从而求得在源图像和目标图像对应该点的颜色和位置信息
- 利用线性插值获得 M i M_i Mi点在中间帧的颜色值,计算公式如下
{ R M ( t ) = ( 1 − t ) R A + t R B G M ( t ) = ( 1 − t ) G A + t G B B M ( t ) = ( 1 − t ) B A + t B B , t ∈ [ 0 , 1 ] \begin{cases} R_M(t)=(1-t)R_A+tR_B\\ G_M(t)=(1-t)G_A+tG_B\\ B_M(t)=(1-t)B_A+tB_B \end{cases}, t \in [0,1] ⎩⎪⎨⎪⎧RM(t)=(1−t)RA+tRBGM(t)=(1−t)GA+tGBBM(t)=(1−t)BA+tBB,t∈[0,1]
- 基于网格的图像变体算法运算结果的质量取决于最初建立的源图像A和目标图像B的四边形网格的质量
- 四边形网格越精细,则变体结果的图像质量一般也越高
- 四边形网格应当包含图像的尖点和拐点等关键点
- 四边形网格一般要求是凸四边形,如果是凹四边形就划分为凸四边形
- 缺点:算法灵活性不够
自由变形(FFD)
基本思想:将需要变形的物体或物体的某部分嵌入到类似于泥巴或塑料的柔性体中,然后假设物体也是非常柔软的,会随着物体外围柔性体的变形而发生变形
物体对于网格的局部坐标不变
实现:
- 将物体全部或部分嵌入到网格
- 然后通过对网格的变形(即改变网格顶点的位置)控制物体的变形
grid
二维网格 ;lattice
三维网格
具体算法
二维
- 将图形嵌入到一个平行四边形中
- 将平行四边形沿边的方向划分为 m × n m\times n m×n个网格(又称控制网格, 顶点称为控制顶点)
- 移动控制顶点,网格发生形变,嵌入的物体也发生形变
设 网 格 外 围 轮 廓 平 行 四 边 形 的 四 个 顶 点 分 别 为 P 0 , 0 , P 0 , n , P m , n , P m , 0 P m , 0 − P 0 , 0 = m S = m ( S x S y ) P 0 , n − P 0 , 0 = n T = n ( T x T y ) P i , j = P 0 , 0 + i S + j T 令 S ^ = ( − S y S x ) , T ^ = ( − T y T x ) , 则 S ^ 与 S 相 互 垂 直 , T ^ 与 T 相 互 垂 直 , 所 以 对 于 网 格 内 任 意 一 点 Q 的 网 格 参 数 坐 标 系 为 : u = ( Q − P 0 , 0 ) ⋅ T ^ m S ⋅ T ^ , v = ( Q − P 0 , 0 ) ⋅ S ^ n T ⋅ S ^ , u ∈ [ 0 , 1 ] , v ∈ [ 0 , 1 ] 设网格外围轮廓平行四边形的四个顶点分别为P_{0,0},P_{0,n},P_{m,n},P_{m,0}\\ P_{m,0}-P_{0,0}= mS=m\left(\begin{matrix}S_x\\S_y\end{matrix}\right)\\ P_{0,n}-P_{0,0}=nT=n\left(\begin{matrix}T_x\\T_y\end{matrix}\right)\\ P_{i,j}=P_{0,0}+iS+jT\\ 令\hat S =\left(\begin{matrix}-S_y\\S_x\end{matrix}\right), \hat T=\left(\begin{matrix}-T_y\\T_x\end{matrix}\right),\\ 则\hat S与S相互垂直, \hat T与T相互垂直,\\ 所以对于网格内任意一点Q的网格参数坐标系为:\\ u=\frac{(Q-P_{0,0})\cdot \hat T }{m S \cdot \hat T},v=\frac{(Q-P_{0,0})\cdot \hat S}{n T \cdot \hat S},u \in [0,1] ,v \in [0,1] 设网格外围轮廓平行四边形的四个顶点分别为P0,0,P0,n,Pm,n,Pm,0Pm,0−P0,0=mS=m(SxSy)P0,n−P0,0=nT=n(TxTy)Pi,j=P0,0+iS+jT令S^=(−SySx),T^=(−TyTx),则S^与S相互垂直,T^与T相互垂直,所以对于网格内任意一点Q的网格参数坐标系为:u=mS⋅T^(Q−P0,0)⋅T^,v=nT⋅S^(Q−P0,0)⋅S^,u∈[0,1],v∈[0,1]
可借助如下图所示的坐标系推导上述公式
当移动网格控制点 P i , j P_{i,j} Pi,j时,网格发生变形,网格上点Q也随之发生变化,其对应的新坐标为:
Q ( u , v ) = ∑ i = 0 m ∑ j = 0 n p i , j B E Z i , m ( u ) B E Z j , n ( v ) 其 中 B E Z i , m ( u ) = C m i u i ( 1 − u ) m − i B E Z j , n ( u ) = C n j v j ( 1 − v ) n − j Q(u,v)=\sum^m_{i=0} \sum^n_{j=0} p_{i,j} BEZ_{i,m}(u)BEZ_{j,n}(v)\\ 其中BEZ_{i,m}(u) = C_m^i u^i(1-u)^{m-i}\\ \qquad BEZ_{j,n}(u)=C_n^j v^j (1-v)^{n-j} Q(u,v)=i=0∑mj=0∑npi,jBEZi,m(u)BEZj,n(v)其中BEZi,m(u)=Cmiui(1−u)m−iBEZj,n(u)=Cnjvj(1−v)n−j
三维
类似二维自由形变,将物体嵌入到平行六面体中,将六面体划分为 l × m × n l \times m \times n l×m×n
网格坐标
新坐标
白话就是用从更多的采样结果中采样,将多个采样点压缩成一个采样点 ↩︎
计算机动画4——关键帧技术相关推荐
- 计算机动画分为关键帧动画和,一个最简单的动画最少有几个关键帧
大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 一个最简单的动画至少有两个关键帧,两个关键帧中必须是元件,而且必须是同一个元件.要创建使组合体或文字发生颜色渐变的动画,必须先将它 ...
- 视频云直播中的关键帧技术探秘
H.264视频标准中普通I帧与IDR帧的区别 普通I帧与IDR(Instantaneous Decoding Refresh,瞬时解码刷新)帧为均采用帧内预测技术的视频帧,同属于I帧. 区别是:采用I ...
- 计算机动画设计与影视制作,计算机动画设计及制作中的特效技术
陈林鼎 [摘 要]在计算机应用技术的发展和推广作用下,动画设计也发生了较大变化,特别是三维技术在计算机中的应用,使计算机动画设计迎来了发展的新时代,即CG动画时代.CG时代几乎囊括了当前电脑中所有视觉 ...
- 在电视中使用计算机动画最多的是,计算机动画技术在科教类电视节目中的应用探究...
[摘要]目前,计算机动画技术给科教类电视节目增添了新的表现力.在计算机动画创作过程中构思与创意是关键,技术是保障,要有正确的动画创作理念,才能发挥计算机动画在科教节目中的巨大潜能. [关键词]计算机动 ...
- 计算机动画基本概念,计算机三维动画基本概念简介
简单介绍三维计算机动画技术的原理和实现,对里面的几项关键部分的概念进行阐述说明. 2 1 0 0年 9月 第 9期 (第 1 2期 )总 4 广西轻工业 G A G IOR A F IH D SR 计 ...
- 二维计算机动画,二维计算机动画制作新技术.pdf
二维计算机动画制作新技术.pdf w年7月 浙江教育学院学报 2007 :uly 第4期 INSTIllFIE No.4 JoURNALOFZHF-JIANGEDUCATION 二维计算机动画制作新技 ...
- 转:SLAM算法解析:抓住视觉SLAM难点,了解技术发展大趋势
SLAM(Simultaneous Localization and Mapping)是业界公认视觉领域空间定位技术的前沿方向,中文译名为"同步定位与地图构建",它主要用于解决机器 ...
- 计算机动画类型及创作原理,计算机动画的原理和制作.ppt
<计算机动画的原理和制作.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<计算机动画的原理和制作.ppt>文档请在天天文库搜索. 1.主讲 赵士滨 ...
- 什么是计算机动画设计,什么是计算机动画制作
大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 计算机动画(Computer Animation),又称计算机绘图,是通过使用计算机制作动画的技术.它是计算机图形学和动画的子领域 ...
最新文章
- mysql information schema_[MySql技术]MySQL中information_schema是什么
- 打电话化繁为简 网络电话直接省钱
- web访问 FastDFS 方法思路
- 女朋友都能看懂,Spring如何解决循环依赖?
- 你应该学会的接口调试神器——Postman高级用法
- SpringSecurity 案例父工程创建
- 联想平板刷机机器人_消费终端年出货量破1.2亿,杨元庆:联想是智能化转型的赋能者...
- avg最多用多少列 mysql_MySQL之聚合数据(AVG,COUNT,MAX,MIN,SUM)
- yolox: AssertionError: Caught AssertionError in DataLoader worker process 0.
- 一款C++ 可视化调试工具增强插件
- 【基础教程】基于matlab生成Word+PPT报告【含Matlab源码 971期】
- ps如何裁剪掉图片的不规则区域
- 中华吸血鬼恶意病毒分析
- 谈谈“天轰穿”老师对VS2005的视频讲座
- T5:Exploring the Limits of Transfer Learning with a UnifiedText-to-Text Transformer
- teamviewer 回车键和空格键 失灵 鼠标点击有时也失灵
- 这个策略曾赚000万美元
- 这8种恶心虫子 你可能每天都在吃!
- 腾讯视频下载的qlv格式转换为MP4格式
- Flink【优质】面试题摘录