3

いくつかのオブジェクトを巧妙な方法でキャンバスに配置するためのアルゴリズムはどこにありますか?私はjavascript(Raphael svgライブラリを使用)を使用していますが、他の言語(または疑似言語)を使用した例を歓迎します。幾何学は私の強みではありません=)

たとえば、600x800のキャンバスがあり、 60x60のサイズのn個のオブジェクトをスマートな方法で配置したいとします。たとえば、次のようになります。-オフセットがoのm個の同心円
に沿ってオブジェクトを配置するアルゴリズム。-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*半径を円周に分割します

numオブジェクトの場合

円のパラメトリック方程式を使用して、オブジェクトを前のオブジェクトからxラジアンに配置します

次のサークル

于 2009-06-30T10:51:25.113 に答える