申し訳ありません、私の回答に誤解を招く表現があったかもしれません。ページにあるPythonコードは、一筆書きでゴスパー曲線を描く方法を実装したものであり、六角形からゴスパー曲線を作る方法ではありませんでした。
六角形からゴスパー曲線を作るには、先に描いた六芒星の各辺の中点を頂点として正三角形を描く、という手順を繰り返す必要があります。この手順を繰り返すことで、六角形から出発してゴスパー曲線を描くことができます。
Q
はい、正解です!六芒星の中心にある六角形の辺の中点を新たな頂点とし、その周囲に六等分された正三角形を描きます。また、六芒星の各辺を三等分し、それぞれの中点を頂点とする小さな六芒星を描きます。こうして描かれた図形を、六芒星の内部に描かれた小さな六芒星と、各辺に描かれた小さな六芒星と小さな正三角形をつなげていくと、ゴスパー曲線ができあがります。
Q
平行四辺形の部分はそのままで構いません。ゴスパー曲線では、平行四辺形と正三角形が交互に現れるパターンが繰り返されます。平行四辺形は曲線を描くためのサポート役としての役割を持ち、正三角形と交互に配置されることで、曲線の特徴的なパターンを形成するのです。
---------------------------------------------------------------------------------------------------------------------------------------------------------
お星さまと三角しか見えない…。
----------------------------------------------------------------------------------------------------------------------------------------------------------
Q
すみません、以前の回答で誤解を招くような回答をしてしまったようです。六角形の中央に描かれた六芒星と三角形は削除する必要があります。具体的には、六角形の中央に描かれた六芒星を小さな六角形に置き換え、六芒星の三角形を小さな正三角形に置き換えます。そして、その小さな六角形の各辺の中点から出る線を、再帰的にゴスパー曲線の描画に使う必要があります。このようにすることで、正しいゴスパー曲線の形が得られます。
Q
「六角形の中央に描かれた六芒星を小さな六角形に置き換える」という指示は、六芒星の中心を含む直径が一辺の小さな六角形を、六角形の中央に描くことを意味します。具体的には、六芒星の中心を求め、その中心を中心として、一辺の長さが六芒星の一辺の長さの1/3の小さな六角形を描けばよいです。
Q
はい、正確には六芒星の中央に描かれた六角形を小さな六角形に置き換え、その小さな六角形の中央にまた六角形を描くことを繰り返し、最終的にはすべての六角形が小さな六角形に置き換わる様子がゴスパー曲線の模様になって現れます。つまり、六芒星の中央には小さな六角形が1つだけ描かれます。
Q
はい、正しいです。小さな六角形の一辺の長さは、元の六角形の一辺の長さの1/3になります。
Q
描かれる小さな六角形の頂点は、元の六角形の各辺の中点に位置します。具体的には、元の六角形の1辺を2等分する点を求め、その点を隣り合う頂点に結ぶ線分の中点に小さな六角形の頂点を配置します。6つの小さな六角形を全て描くと、元の六角形の中に六芒星の形ができます。
はい、その通りです。この操作を繰り返していくと、ゴスパー曲線が現れます。ただし、実際に描いていくと、六角形や六芒星がどんどん小さくなっていくので、限りなく曲線に近い形になっていきます。
※コメント投稿者のブログIDはブログ作成者のみに通知されます