我在哪里可以找到一些算法以巧妙的方式在画布中放置一些对象?我正在使用 javascript(带有 Raphael svg 库),但欢迎使用其他语言(或伪语言)的示例。几何不是我的强项=)
例如有 600x800 的画布,我想以智能方式放置n 个大小为 60x60 的对象,例如:
- 一种沿m个偏移o的同心圆定位对象的算法。
- 一种沿m个同心正方形定位对象的算法,但频率不同(结果可能像棋盘)
还有类似的例子..我只是在寻找一些适用于我的案例的工作示例。提前谢谢你=)
我在哪里可以找到一些算法以巧妙的方式在画布中放置一些对象?我正在使用 javascript(带有 Raphael svg 库),但欢迎使用其他语言(或伪语言)的示例。几何不是我的强项=)
例如有 600x800 的画布,我想以智能方式放置n 个大小为 60x60 的对象,例如:
- 一种沿m个偏移o的同心圆定位对象的算法。
- 一种沿m个同心正方形定位对象的算法,但频率不同(结果可能像棋盘)
还有类似的例子..我只是在寻找一些适用于我的案例的工作示例。提前谢谢你=)
对于圈子:
输入:CenterPt(大概 300,400),RadiusLargestCircle(大概 270 以确保您的对象都在屏幕上) RadiusDelta(60 确保没有重叠的对象,假设对象是圆形)
计算圆数( (RadiusLargestCircle -2*RadiusDelta) / RadiusDelta )
对于每个圆圈
RadCir= RadiusLargestCircle - (CircleNum*RadiusDelta)
(我稍后会正确完成这个,现在就开始吧)
但基本上第一个对象 centerpt 位于 x=radiusLargestCircle, y=0
将对象 2*radius 划分为圆的周长
对于 num 个对象
使用圆的参数方程,将对象放置在前一个弧度的 x 处
下一个圈子