基于笼形的变形Cage-based deformation(CBD)

起源

CBD来源于 Free Form Deformation (FFD).
FFD通过操控网格上的顶点(grid / cage) 来改变物体的形状,并且保持物体的光滑度。
但是FFD的局限是很难控制大网格(large grid)和没有考虑物体形态学。
为了解决上述局限,所以提出CBD。

定义、作用


CBD操控围绕着物体cage的顶点来使物体变形,比如右上角粉红色的图,操控左上角的顶点来使物体的左上角变形,而其他部件保持不变,而且能够保持物体的形态/拓扑。

那如何在3D环境中从任意的cage中计算空间变形呢?
也就是如何计算变形后每个点的坐标?

计算坐标常用方法:重心坐标

我们用重心坐标公式计算某个点的空间坐标。
重心坐标公式是一种生成在三角形网格中的任意点p和三角形顶点p1, p2, p3之间的关系的方法。
重心坐标(入1, 入2,入3)。
计算任意点的坐标公式已经框出来。
提一点要注意的是入1+ 入2+入3 = 1
通过面积比例计算重心坐标(入1, 入2,入3)的值。

有了重心坐标公式的基础之后,因为CBD通过很多cage,也就是一个个的网格进行操控物体的,所以把重心坐标的概念(单个网格)推广到很多网格,也就有了Mean Value coordinate公式。
推广时注意一定要保证任意点坐标的公式。右下角框出来的公式。

推广到多个网格时计算每个点的坐标的方法:Mean Value Coordinate(MVC)


Mean value coordinates are a way of expressing a point in the kernel of a star-shaped polygon as a convex combination of the vertices.
均值坐标是一种将星形多边形内核中的点表示为顶点的凸组合的方法。
均值坐标的计算公式得出的ωi是上面第二张图右下角框出的公式。

得到ωi后就能知道任意点的坐标,那操控网格顶点时,这个过程牵连的点的坐标可以被计算出来,从而得到操控后的任意点的坐标,这样就能实现实时操控网格,并且保持物体原有的属性(光滑度)。


推导2D均值坐标的公式。

推导3D均值坐标的公式。

改变3D的马的一条腿,而其他部件不会改变。

参考:
INF585 - Volume Deformation II

Mean Value Coordinate for Closed Triangular Meshes


下面写得不是很清楚,看上面。
概述:基于cage的变形CBD广泛应用于计算机图形学中,通过几个“控制柄”(即框架顶点)实时操控网格,使其变形(缩放、平移或旋转),同时保留局部几何特征。
Cage-based deformations : the user moves a coarse version of the mesh (a “cage”) and the mesh deforms by using vertex-to-mesh interpolation (mean value coordinates).
好处:

  1. CBD用很少的参数就能保持丰富的设计空间。
  2. 在设计机械臂中,cage representation允许施加一组丰富的制造和连接约束。
  3. CBD不依赖于特定的形状表示,可以轻松地与mesh、点云等不同的representation一起使用。它在计算上推理成本低(计算速度快)、灵活(即用户可以通过更改框架控制柄的数量轻松控制描述形状的自由度),并且是可微的(即可以反向传播调整网络参数)。

1.算法概述

大多数基于笼形的变形的算法大多数都是采用以下pipeline(流程)。

2.算法可视化


这里包括 cage 的构造过程,cage 坐标的定义方式以及用户交互方式的研究。

3.Cage based deformation 作用

基于框架的变形技术(Cage based deformation)旨在成为一种易于使用的图形建模、纹理和动画工具。(通过调整网格上的节点/顶点)

4.理论基础

基于 Cage 的变形技术的理论基础是重心坐标插值。最常用的是Mean Value Coordinates (MVC)均值坐标插值法。
MVC是值插值的最佳解决方案,因为它在体积内部和表面上都有很好的定义,并且其简单的封闭形式表达式鼓励在最快的实时应用程序中使用它们,特别是如果它们是通过GPU技术计算的。

4.Mean Value Coordinates (MVC)均值坐标

要解决问题:找出笼子cage与其内部之间的关系。如果笼子里有一个物体,不管物体多复杂,我们都可以使用笼子使它变形。

作用:用实时工作的变形方法,用于交互式应用。
具体做法:用一个易于使用的控制手柄(框架顶点),使框架内的任何复杂模型变形。
原因:一个点的重心坐标称作可变形的权重,它的和为1。这些权重定义了一个线性方程,能够把手柄顶点的平移转化为与之相关的点的移动,这里的线性方程指的是方程(2).。属性:共面的顶点的权重大于0,不共面的顶点的权重为0。

附录

1.引言

随着三维模型处理技术的迅猛发展,计算机处理的模型精度越来越高,因此
对于几何处理算法的适用性和计算效率的要求也越来越高。采用与原模型形状近
似但顶点数较少的包围网格作为代理几何来衔接复杂模型与算法是一个趋势。
cage 是一个相对于原有模型顶点数和面片数明显减少,能包裹原有的模型的多边
形网格。运用 cage 技术可以把处理高精度复杂模型的问题转化为对简单的控制
网格 cage 的间接处理,使算法能独立于模型的几何表示和复杂度,大大降低了
算法复杂度并扩展了算法的适用性。因此,cage 被广泛应用于空间变形、变形迁
移、碰撞检测及细分网格等研究领域。
一种基于 cage 变形技术的各向异性模型缩放变形方法。它是模型变形技术的一种特殊情况,需要对模型的部分区域尺寸进行调整,同时保证模型的其他区域的特征不发生变化。基于 cage 的变形技术是自由变形技术的一种,技术的关键主要是 cage 的创建和重心坐标的选取。
根据模型变形的要求,我们采用了类似模型体素化包围盒方法的 cage 构造技
术构建了模型变形的初始 cage。根据模型各向异性尺寸调整的要求,采用弹性能
量最小化的方法对 cage 的各条边进行了不同尺度的变化。**最后运用模型的均值
坐标计算获取了模型尺寸各向异性调整的结果。**通过针对多个不同特征,不同复
杂度模型的计算,得到了根据模型特征或是内容定义,模型各向异性尺寸的调整
结果,并且模型的其他敏感特征也得到了很好地保持。

2.模型变形实现

参考:
面向虚拟现实的三维点云数据处理关键技术研究

Cage based deformations: a survey

基于笼形的变形Cage-based deformation(CBD)_ 均值坐标MVC(Mean Value Coordinate)方法计算cage的权重相关推荐

  1. matlab降压启动,基于 Matlab 的笼形异步电动机降压启动分析

    原标题:基于 Matlab 的笼形异步电动机降压启动分析 基于 Matlab 的笼形异步电动机降压启动分析 陈滨掖 摘要:三相异步电动机全压启动时的瞬间大电流及启动转矩会对负载造成很大冲击.降压启动的 ...

  2. matlab降压启动,基于Matlab的笼形异步电动机降压启动分析

    122 集成电路应用 第 35 卷 第 12 期(总第 303 期)2018 年 12 月 Applications创新应用 1 引言 Matlab 是一种高性能的数值计算机和可视化功能的软件.可以利 ...

  3. 图像控制点 形变_基于控制点的图像变形方法的研究与实现

    基于控制点的图像变形方法的研究与实现 林军 ; 李新华 [期刊名称] <北京电力高等专科学校学报 ( 自然科学版 ) > [年 ( 卷 ), 期] 2011(028)005 [摘要] 根据 ...

  4. 三硅醇辛基-笼形聚倍半硅氧烷cas444315-26-8|TrisilanolPhenylPOSS|分子式:C42H38O12Si7|分子量:931.35

    三硅醇辛基-笼形聚倍半硅氧烷cas444315-26-8|TrisilanolPhenylPOSS|分子式:C42H38O12Si7|分子量:931.35 中文名称:三硅醇苯基-笼形聚倍半硅氧烷 中文 ...

  5. Unsupervised Question Answering by Cloze Translation 基于完形填空转换的无监督问答

    Unsupervised Question Answering by Cloze Translation(基于完形填空转换的无监督问答) Facebook research,开源,数据集为SQuAD ...

  6. 计算机工程与应用单像素成像,2011计算机工程与应用基于压缩感知理论的单像素成像系统研究_白凌云.pdf...

    2011计算机工程与应用基于压缩感知理论的单像素成像系统研究_白凌云.pdf 116 2011 ,47 (33) Computer Engineering and Applications 计算机工程 ...

  7. 基于近场动力学的二维疲劳裂纹扩展模型_近场动力学数值模拟的程序实现(1)——引言...

    参考书目 W. H. Gerstle. 2015. Introduction to Practical Peridynamic: Computational Solid Mechanics Witho ...

  8. 基于多模态成像遗传学数据来预测帕金森病相关基因和大脑区域的新型CERNNE方法

    系列文章目录 基于聚类演化随机森林的阿尔兹海默症的多模态数据分析 基于多模态成像遗传学数据来预测帕金森病相关基因和大脑区域的新型CERNNE方法 系列文章目录 前言 阅览文章之前记得一键三联哦,做文章 ...

  9. 基于中间代码的优化中,循环的查找算法有哪些?循环优化的方法有哪些?举例说明。

    基于中间代码的优化中,循环的查找算法有哪些?循环优化的方法有哪些?举例说明. 基于中间代码的优化中,循环的查找算法有哪些?循环优化的方法有哪些?举例说明. 西北工业大学编译原理课件第八章 代码优化.p ...

最新文章

  1. 什么是Sentinel?它能做什么
  2. 【oracle】日期加减计算
  3. 23-初识正则表达式
  4. nmp 全局目录和缓存目录的配置
  5. 史上最全的 MySQL 高性能优化实战总结
  6. 跑三小时的monkey测试该怎么算_浅谈App测试(下)~带音频
  7. linux系统限制内存使用率,linux中限制CPU和内存占用率方法
  8. ie8浏览器自定义工具栏设置教程
  9. MongoDB lsm降低 disk lantency
  10. 学术壁报模板_中华医学会核医学分会2019年学术年会征文通知
  11. python生成树状图_用 python 将思维导图转换成树形列表
  12. STM32F103驱动无刷直流电机应用思路
  13. proposal中文翻译_PROPOSAL 是什么意思_ PROPOSAL 的翻译_音标_读音_用法_例句_爱词霸在线词典...
  14. Android 动画丢帧问题
  15. Win10多用户远程桌面
  16. java tls_Java客户端中具有SNI的TLS
  17. 企业数据资产管理:数据资产目录应该如何规划
  18. Flash动画设计交互式按钮
  19. Dlink PHP p308av,D-Link系列路由器漏洞挖掘
  20. 动手学ROS2-Foxy

热门文章

  1. 【svopro】追踪梳理
  2. 电脑蓝屏/中断导致 git 文件损坏的修复方法
  3. 无人机通信(WiFI/3G/4GLTE)
  4. 计算机毕业设计(校园旧物回收)之安卓app用户端
  5. 【Linux】Linux进程控制 --- 进程创建、终止、等待、替换、shell派生子进程的理解…
  6. 编译原理——识别的字集为 包含奇数个1和奇数个0的二进制数串
  7. Laplace distribution (拉普拉斯分布)
  8. 电信管理系统的操作思路
  9. 错误信息:FATAL: No bootable medium found! System halted.
  10. idea快速找到jar包位置