实现原理很简单,可做优化。
原理就是在一个区域内放第一个字(矩形),然后记录他的4个点(左上左下右上右下),入队列,,然后放下一个的时候,在队列取出一个点,然后第二个矩形根据这个点就有4种摆法,有些摆法可能不行,
如图,第一个摆的有4个点,取出一个点,如左上,然后有4种摆法,图中给出三种,第4种和第一个摆的重合了所以不行,摆完第二个之后第二个的4个点入队列。
之后根据队列里面的点依次摆矩形,摆的过程判断下跟之前的摆的是否重合(这点最费时)。
根据入队列的点来摆的好处就是摆完后所有字它会围绕着第一个摆的扩散出去。
效果图:
代码就不贴了,,重要的是这个思路~~~~