三维变形模块

简介

这个模块包含了三维变形功能,比如三维点云变形,三维网格变形等功能。这些功能可以在Magic3D的三维变形应用里进行测试。三维变形demo


三维点云变形

基于控制点的变形:原理是分片刚性变形。在点云中采样N个控制点,每个控制点附着一个刚性变换。控制点越多,变形的非刚性越强。控制点数为1的时候,即为刚性变形。

测试方法:

  1. 在三维变形应用里,导入需要变形的点云。注:也可以导入网格,因为网格也可以看作是一个点云(抛掉网格连接关系)
  2. 初始化控制点:设置控制点数目,默认值为300. 点数越多,变形越精确,但是速度也会越慢。如图a所示。
  3. 控制点选择:控制点分为两种类型,一种是固定的(红色),一种是可以动的(蓝色). 把需要变形区域的控制点选择为蓝色. 选择方式是通过鼠标右键框选添加或者去掉控制点。如图b所示
  4. 变形操作:通过移动蓝色控制点来变形。右键拖动控点到目标位置,控制点变为绿色,目标位置为灰色。如图c所示。
  5. 最后变形,如图d所示。
deformpointlist

三维网格变形

基于顶点的变形:输入三维网格。通过网格顶点的位置约束来驱动变形。与点云变形不同的是,网格变形应用了网格的连接关系,变形过程中,更加注重网格局部刚性的保持。

测试方法:

  1. 导入需要变形的网格。如图a所示。
  2. 顶点选择:选择变形区域(蓝色)。选择方式是通过鼠标右键框选添加或者去掉控制点。如图b所示。
  3. 控制点选择:通过移动蓝色控制点来变形。右键拖动控点到目标位置,控制点变为绿色,目标位置为灰色。如图c所示。
  4. 变形:然后初始化变形,最后变形。在控制点索引不变的情况下,变形初始化只需要一次。如图d所示。可以用橡皮擦掉控制点的显示。

注:鼠标右键有三种编辑模式,框选添加蓝色点,框选去除控制点,移动控制点

deformmesh

如果您有任何疑问和建议,欢迎发email

contact