这是我本科时的毕业设计,24年后重新运行了。项目是用 Java Applet 和 Java3D 编写的。实际上,大部分时间都花在了界面的制作上。唯一值得一提的是,我的毕设老师一开始建议我设计一个界面,手动使3D面具的点与人脸部位对应起来。但在实际操作中,我发觉这个过程非常繁琐,许多点移动后会导致原来的三角形网格交叉。我与导师讨论后决定,先固定一些最密集的节点(我称之为控制点),然后让大绿色三角形内的其他点线性移动(就是解一个线性方程而已),在控制点固定后,再移动其他较不密集的点,这样效率高效果好。