这是我小时候印象特别深的一个玩具,在一个塑料板中间掏出一个圆形的大孔,放在纸上,用一个小圆片紧贴大孔内壁,在纸上摩擦移动。小圆片上有孔眼,将圆珠笔放置在小圆片上的孔眼中穿过,随着小圆片的转动,纸上就会出现一个非常漂亮的图案~小圆片也可以换成其他椭圆之类的形状,会产生出各种奇妙的图案~!搜了下已经几乎没有这种玩具了。于是试图用代码还原了下~
放弃了现成的物理引擎之类的做法。因为对繁花规这种绘制需求来说,物理引擎的精度和速度应该很难两全~
结果图
试过外侧是不规则多边形的情况。。可惜并不好看QWQ。。就不贴了~
大致思路
- 假定内多边形每次碰撞时,碰撞点都是自己的顶点。循环计算内多边形每个顶点碰撞到外多边形上的位置;
- 根据位置计算外多边形上的法