CyberChaos(さいばかおす)

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

pythonのタートルグラフィックスでサイクロイドを描画するプログラムを書いてください

2023-03-07 03:06:23 | python
三度目の正直?ChatGPTへの質問。
「pythonのタートルグラフィックスでサイクロイドを描画するプログラムを書いてください」





ChatGPTからの回答の通りにPydroidでやってみたら、お見事!!!

以下はPythonのタートルグラフィックスを使用してサイクロイドを描画するプログラムです。

import math
import turtle

# サイクロイドのパラメータ
R = 100 # 固定円の半径
r = 50 # 周回円の半径
d = 100 # 周回円の中心と固定円の距離

# タートルの初期化
t = turtle.Turtle()
t.speed(0)
t.penup()
t.goto(-300, 0)
t.pendown()

# サイクロイドの描画
theta = 0
x = (R - r) * math.cos(theta) + d * math.cos((R - r) / r * theta)
y = (R - r) * math.sin(theta) - d * math.sin((R - r) / r * theta)
t.goto(x, y)
t.pendown()
for i in range(360):
theta = math.radians(i)
x = (R - r) * math.cos(theta) + d * math.cos((R - r) / r * theta)
y = (R - r) * math.sin(theta) - d * math.sin((R - r) / r * theta)
t.goto(x, y)

# 終了処理
turtle.done()

このプログラムでは、サイクロイドのパラメータを定義し、タートルを初期化して、サイクロイドを描画します。具体的には、固定円の半径 R、周回円の半径 r、周回円の中心と固定円の距離 d を設定し、タートルを初期位置に移動させて、サイクロイドを描画します。math モジュールを使用して、サイクロイドの座標を計算し、タートルを移動させます。サイクロイドの座標は、次の式で計算されます。

x = (R - r) * cos(theta) + d * cos((R - r) / r * theta) y = (R - r) * sin(theta) - d * sin((R - r) / r * theta)

最後に、turtle.done() を呼び出して、描画を終了します。

次はアステロイドとかカージオイド、カテナリーでもやってみようかな?









最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。