質問: htmlとcssとjavascriptを使用して、各ボタン端から端の間隔を等しくしてボタンを円形配置したいです。 ボタンの大きさは大きいサイズと小さいサイズのボタンがあります。 イメージになりますが、図の青の矢印部分を等間隔にしたいです。 以下の記事を参考にして作成しているのですが、私が作りたい配置をする方法がわかりません。 リンク内容 記事の内容で作成すると、以下の図の赤矢印の部分が等しくなります。 この記事を参考にして、図の青の矢印を等間隔にする方法を教えていただきたいです。 質問が抽象的で伝わりにくくて申し訳ありませんが、よろしくお願いいたします。- リスト ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/4dde1180b6886395205646761d91be00.png)説明](4fc1beb78c94d0709e645c65436a76a2.png)
回答: 下記のような図を考えます。 !説明の画像 Aが一番の中心で、Bが中心の円、Dが中心の円のように周りにいくつかの円があるとします。中心Bの円を考えるとき、B-A-Cからなる角度αは、ABとACが中心の半径、BCがBの円の半径なので求める事ができます。そうするとこのBの円がAの円で占める角度は2αとなります。全ての外周円について同じように角度を求めて、合計を得ます。2πからその合計を引いて円の数で割ったものをβとします。そのβからCEのようなは幅をにすれば、中心園と外周の円の交わる点について、隣同士はすべてβにすることできるので、等間隔のように見えるようになります。 なお、この方法は近似的です。Aの半径に比べて各円の半径が十分に小さくないと誤差が目立つようになります。円同士の距離(画像ではBDからそれぞれの半径を引いた長さ)よりも個々で同じにした間隔の距離(画像ではCEの長さ)は異なります。Aの半径が十分に大きければ目だない誤差だとは思いますが、Aの半径に近い値の半径がある円がある場合は、重なってしまうこともあるので注意が必要です。 では、本当の円の距離、BDからそれぞれの半径を引いた距離を等間隔にするにはどうするかですが、わかりませんでした。BADの角度を求めて足した数が2πになるところから求められそうですが、プログラム的に簡単に求める方法があるのかはわかりませんでした。(数学に強い人、教えてください)