コンテンツのサイズに基づいて拡大縮小する円。
これは、最初に解決する必要があるものです。最初にそれらの寸法を知らなければ、どこにでも配置することができないからです。
当然、DIVのサイズは最初に幅で拡大し、次に高さで拡大します。つまり、高さの制約に移る前に、まずコンテナの最大幅を利用する必要があります。このため、相対平均を使用せずに同じ半径の円スケールを作成することは非常に難しい場合があります。
相対平均とは、コンテンツの境界となるコンティナーの既存の領域に基づいて、高さ/幅の平均寸法を見つけることです。例えば:
コンテンツの境界となるDIVの幅と高さは、javascriptで検出できます。これらのプロパティもそれぞれ200pxx20pxであることを発見したとしましょう。
総面積は幅*高さなので4000pxです。しかし、私たちは、丸みを帯びた角を適用して丸みを帯びた円を形成できるように、正方形を実現しようとしています。同じ面積に等しい長方形の寸法を見つけて、それらの新しい寸法を適用したいと思います。
同じ幅*の高さで同じ領域を実現するには、次のようにします。
√4000=63.2455532したがって:63.2455532 x 63.2455532 = 4000
DIVをランダムに配置し、DIV間の衝突を回避します。
- 寸法を見つけたら、(X、Y)座標のランドを配置に使用できるようになります。これらの座標と半径を配列にプッシュします。再帰を使用して、残りの円を衝突の失敗に配置します。衝突の失敗は、正常にプッシュされた配列内の重複する(X、Y)+radiusrelativetoo要素を持つ要素から発生します。