3

我在哪里可以找到一些算法以巧妙的方式在画布中放置一些对象?我正在使用 javascript(带有 Raphael svg 库),但欢迎使用其他语言(或伪语言)的示例。几何不是我的强项=)

例如有 600x800 的画布,我想以智能方式放置n 个大小为 60x60 的对象,例如:
- 一种沿m个偏移o的同心圆定位对象的算法。
- 一种沿m个同心正方形定位对象的算法,但频率不同(结果可能像棋盘)

还有类似的例子..我只是在寻找一些适用于我的案例的工作示例。提前谢谢你=)

4

1 回答 1

1

对于圈子:

输入:CenterPt(大概 300,400),RadiusLargestCircle(大概 270 以确保您的对象都在屏幕上) RadiusDelta(60 确保没有重叠的对象,假设对象是圆形)

计算圆数( (RadiusLargestCircle -2*RadiusDelta) / RadiusDelta )

对于每个圆圈

  RadCir= RadiusLargestCircle - (CircleNum*RadiusDelta)

(我稍后会正确完成这个,现在就开始吧)

但基本上第一个对象 centerpt 位于 x=radiusLargestCircle, y=0

将对象 2*radius 划分为圆的周长

对于 num 个对象

使用圆的参数方程,将对象放置在前一个弧度的 x 处

下一个圈子

于 2009-06-30T10:51:25.113 回答