以下はGeoGebraによる作図です。スライダーを動かしてみてください。左下のボタンで自動再生もできます。


検索用コード
原点を中心とする半径$a$の円に巻かれた糸をピンと張ったままほどいていくとき,\ 糸の \\[.2zh] \hspace{.5zw}端点の描く曲線を考える.\ 糸と円の接点をB,\ $\angle\mathRM{AOB}=\theta$として,\ 点Pの座標を求めよ. \\ 題意より,\ \mathRM{BP}の長さは弧\mathRM{BA}の長さに等しい.\ 半径r,\ 中心角\,\theta\,の扇形の弧長はr\theta\,である. \\[.2zh] よって,\ \bm{\mathRM{BP}=a\theta\ かつ\ \angle\mathRM{OBP}=90\Deg\,を満たす点が\mathRM{P}}である. \\[.2zh] 点\mathRM{B}は円運動で,\ 点\mathRM{P}は点\mathRM{B}からの相対的な距離が\ \theta\ に比例して大きくなる. \\[.2zh] 点\mathRM{P}は移動する点\mathRM{B}から相対的に見た位置であるから,\ ベクトルの出番である. \\[1zh] 点\mathRM{B}は半径aの円周上のx軸正方向から\,\theta\,回転した点なので,\ \text{\scalebox{1}[.97]{\bekutoru{OB}}}=(a\cos\theta,\ a\sin\theta)\ である. \\[.2zh] これを元に\ \text{\scalebox{1}[.97]{\bekutoru{BP}}}\ を成分表示する.\ まず,\ \text{\scalebox{1}[.97]{\bekutoru{OB}}}\ の長さ(大きさ)はa,\ \text{\scalebox{1}[.97]{\bekutoru{BP}}}\ の長さはa\theta\ である. \\[.2zh] よって,\ \bm{\text{\scalebox{1}[.97]{\bekutoru{OB}}}\,の大きさを\ \theta\ 倍すると,\ \text{\scalebox{1}[.97]{\bekutoru{BP}}}\ と大きさが一致}する.\ つまり,\ \zettaiti{\text{\scalebox{1}[.97]{\bekutoru{BP}}}}=\theta\,\zettaiti{\text{\scalebox{1}[.97]{\bekutoru{OB}}}}\ である. \\[1zh] また,\ \text{\scalebox{1}[.97]{\bekutoru{BP}}}\,は\ \bm{\text{\scalebox{1}[.97]{\bekutoru{OB}}}\ の向きを-90\Deg\,回転した向き}である(反時計回りを正). \\[.2zh] このとき,\ 「反時計回りに+90\Deg\,回転」と考えてはいけない. \\[.2zh] \bm{\text{\scalebox{1}[.97]{\bekutoru{OB}}}\ と\ \text{\scalebox{1}[.97]{\bekutoru{BP}}}\ の始点を一致させて考える}必要があるので,\ \bm{「時計回りに90\Deg\,回転」}なのである. \\[.2zh] 図のように,\ \text{\scalebox{1}[.97]{\bekutoru{OB}}}\ を平行移動して\ \text{\scalebox{1}[.97]{\bekutoru{OB}}}\ の\mathRM{O}と\ \text{\scalebox{1}[.97]{\bekutoru{BP}}}\ の\mathRM{B}\ を一致させなければならないのである. \\[1zh] 一般に,\ \text{\scalebox{1}[.97]{\bekutoru*p}}=(a,\ b)\ を-90\Deg\,回転したベクトル\,\text{\scalebox{1}[.97]{\bekutoru*q}}\,は,\ \text{\scalebox{1}[.97]{\bekutoru*q}}=(-\,b,\ a)\ である. \\[.2zh] これを利用すると,\ \text{\scalebox{1}[.97]{\bekutoru{OB}}}\ を-90\Deg\,回転した(-\,a\sin\theta,\ a\cos\theta)\ を\,\theta\,倍して\ \text{\scalebox{1}[.97]{\bekutoru{BP}}}\ が得られる. \\[.2zh] なお,\ \text{\scalebox{1}[.97]{\bekutoru*p}}=(a,\ b)を+90\Deg\,回転したベクトル\,\text{\scalebox{1}[.97]{\bekutoru*q}}\,は,\ \text{\scalebox{1}[.97]{\bekutoru*q}}=(b,\ -\,a)\ である. \\[.2zh] よって,\ \text{\scalebox{1}[.97]{\bekutoru{BO}}}=(-\,a\cos\theta,\ -\,a\sin\theta)\ を+90\Deg\ 回転させた\ (-\,a\sin\theta,\ a\cos\theta)\ を\,\theta\,倍しても得られる. \\[1zh] \text{\scalebox{1}[.97]{\bekutoru*p}}=(a,\ b)を\pm90\Deg\,回転したベクトルが\ \text{\scalebox{1}[.97]{\bekutoru*q}}=(\mp\,b,\ \pm\,a)\ となることは複素数平面で考えられる. \\[.2zh] 複素数平面上では\,\text{\scalebox{1}[.97]{\bekutoru*p}}=(a,\ b)は\Cnum{a}+{b}\ である.\ また,\ \pm\,90\Deg\,の回転は\times (\pm\,i)\ に相当する. \\[.2zh] (\Cnum{a}+{b})\times(\pm\,i)=\Cnum{\mp\,b}\pm{a}\ より,\ \text{\scalebox{1}[.97]{\bekutoru*q}}=(\mp\,b,\ \pm\,a)\ となるわけである.\ 当然,\ \text{\scalebox{1}[.97]{\bekutoru*p}}\cdot\text{\scalebox{1}[.97]{\bekutoru*q}}=0\ が成立する.