タートルグラフィックスはいろいろな2Dグラフィックスを描けることが分かった。
では3Dの立体描画はどうだろうと思ってChatGPTにソースコードを書かせてみた。
以下はPythonのタートルグラフィックスライブラリーを使用して球面を描くプログラムの例です。
import turtle
import math
# 半径と分割数を指定
radius = 100
num_divisions = 36
# タートルを作成
t = turtle.Turtle()
# 球面を描画する関数を定義
def draw_sphere():
# 経度と緯度のループを回す
for i in range(num_divisions):
for j in range(num_divisions):
# 緯度と経度の角度を計算
lat = math.pi * (i / num_divisions - 0.5)
lon = 2 * math.pi * (j / num_divisions)
# 球面上の座標を計算
x = radius * math.cos(lat) * math.cos(lon)
y = radius * math.cos(lat) * math.sin(lon)
z = radius * math.sin(lat)
# 座標に移動
t.penup()
t.goto(x, y)
# 球面上の点を描画
t.pendown()
t.dot(2)
# 終了処理
t.hideturtle()
turtle.done()
# 球面を描画
draw_sphere()
このプログラムでは、半径と分割数を指定して、球面上の点を描画しています。経度と緯度のループを回して、緯度と経度の角度を計算し、球面上の座標を計算しています。計算された座標にタートルを移動して、球面上の点を描画しています。最後に、タートルを非表示にして、プログラムを終了しています。
Pydroidで実行してみたら、亀がグリグリ回ってそれらしき動きをしていたものの、一向に立体が描画されないみたいなので、途中で切った。
パソコンではどうだろうか?
全然立体的じゃない。
しかもメッチャ遅い。