等長線分で作る閉曲線

  • 等長線分で作る閉曲線。例えば、正n角形

f:id:ryamada:20191202133217j:plain

  • きちんと閉じるための条件などを考えたい
  • n本の線分を連結し、その両端点間距離がゼロであることが「閉じる」ということ
  • n=1のとき、両端点間距離は1(長さが1の線分で作る場合)
  • n=2のとき、両端点間距離は0-2
  • n=3のとき、両端点間距離は0-3
  • n=nのとき、両端点間距離は0-n
  • ただし、はじめのn-1本の連結線分の両端点間距離がLのとき、n本目を連結すると、最短|1-L|、最長1+Lとなる
  • また、n本目を連結して、ちょうど閉じるためには、n-1本の両端点間距離はちょうど1である必要がある
  • n-1本目までの距離に対して、n本目を連結したときに取りうる距離は連結角の関数として\sqrt{1+L^2 + 2L \cos{\theta}}と表される

f:id:ryamada:20191202134357j:plain

2個の等長線分を連結し、その両端を固定する

  • このとき、両端点間距離は0~2
  • 長さがいずれの値であるにしろ、いったん平面に置いてしまうと、動かせない
  • 両端点間距離が2より短いときには、上に凸と下に凸との2つの対称的な置き方が可能だが、その2つの置き方を連続的に行き来することができない、ということである
  • では3個の等長線分を連結し、その両端を固定する
  • 中間に2つの関節がある、これらはぐねぐねと動かせる
  • 今、両端点間距離をLとし、両端点座標を(0,0),(L,0)とする
  • 中間の2点の座標を(x_1,y_1) = (\cos{\theta_1},\sin{\theta_1})(L-x_2,y_2) = (z_2,y_2) = (L-\cos{\theta_2},\sin{\theta_2})とする
  • このとき式変形をすることにより
  • x_2 = \frac{1}{2}(L-x_1) \pm y_1 \sqrt{\frac{3+2x_1 \times L - L^2}{L^2 - 2 * x_1 L +1}} が得られる
  • これをRで実装し、お絵描きしてみる

f:id:ryamada:20191203110048j:plain

  • 緑と赤の線分が対称的になって少しスペースの空いたところがある。ここは「上凸・下凸変換可能性箇所」とでも呼ぶ領域になる。その説明を以下にする
  • 緑の線分と赤の線分とは、二次方程式の解のペアに相当する。この2つの階が重解になるときは、緑の線分と赤の線分が一致し、そのときには、2線分が上にも下にも凸ではない平坦になる
  • 逆に言うと、この重解のときは、上に凸と下に凸との入れ替えがスムーズに可能であることとなる
  • したがって、緑の線分を徐々に変化させ、緑と赤とが一致するところで色を変え、赤の線分を徐々に変化させることによって、中間2関節位置が同じで、上に凸と下に凸の2状態との間を行き来することができる

f:id:ryamada:20191203110059j:plain
f:id:ryamada:20191203110112j:plain
f:id:ryamada:20191203104707j:plain