顶点数目一致:选定一个包围圆,把图形A的顶点,通过一个贝塞尔曲线,变换到图形B。
顶点数目不一致:先增补A的重合顶点到一致,再映射与B的关系,变换过去。
映射关系可以用贪心,匈牙利匹配,等等算法,用极坐标的就近法则进行匹配。
想了想,可以先用匈牙利匹配(贪心也好)得到顶点数目少的那个图形A的一个完备匹配,然后再插入若干个重合顶点(计算A各个顶点距离B的距离,B没有被匹配的到的点,A找到最近的顶点,增加一个顶点)。
此类动画让人感官好的关键,是变换过程中的贝塞尔曲线,和加速/刹车踏板的踩法差不多,先慢再快再慢。
让人脑感觉很好。
--
修改:sjtuDNA FROM 114.251.232.*
FROM 114.251.232.*