ぽちログ

プログラミング歴3年目元文系大学院生のぽちと申します。 とりあえずは自分用のメモなどを残して行くつもりですが、ご要望・意見・感想などを頂けたらそれによって内容も変化していくと思います。 よろしくお願いします。

【Sample】正多角形の図形の頂点を計算式で生成

正多角形の図形を計算式で生成するサンプルを作ってみた。

f:id:twilightdve:20140725191014p:plain
http://www2.itc.kansai-u.ac.jp/~k544790/Polygon/index.html

自分の研究で使っただけなんで他に使い道ないかもだけどね。

作成したい図形の「頂点数」「座標の数」「角度」「大きさ」を

マウスクリックかドラッグで変更できます。

f:id:twilightdve:20140725191343p:plain
f:id:twilightdve:20140725192237p:plain

ソースコードは今あんまり時間ないので解説しないけど、作り方のメモだけ。
■ 頂点の座標は、図形の外接円の一点をそれぞれ角度から計算した
  頂点の角度 = 傾き + ( 360 ÷ 頂点数 ) × 頂点番号;
  頂点座標 = 中心点 + cos( 角度 ) × 図形の大きさ;

■ 頂点間の座標は、各頂点座標間の線形補間によって計算

■ キャンバスは使わず ● のimgをいっぱい使ってる

■ Numeric StepperのUIはjQuery

こんな感じ。