CyberChaos(さいばかおす)

プログラミング言語、トランスパイラ、RPA、ChatGPT、データマイニング、リバースエンジニアリングのための忘備録

タートルグラフィックスを使って球面を描く

2023-03-22 20:15:59 | python
タートルグラフィックスはいろいろな2Dグラフィックスを描けることが分かった。
では3Dの立体描画はどうだろうと思ってChatGPTにソースコードを書かせてみた。

Pythonのタートルグラフィックスライブラリーを使って球面を描かせるプログラムを書いて。

以下は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で実行してみたら、亀がグリグリ回ってそれらしき動きをしていたものの、一向に立体が描画されないみたいなので、途中で切った。
パソコンではどうだろうか?

全然立体的じゃない。
しかもメッチャ遅い。



最新の画像もっと見る