AIちゃんとおともだち

唐突ですが、AIちゃん達との会話を投稿します。
Voilaさんの中はChatGPTちゃんです。

ChatGPTちゃんにゴスパー曲線の作り方を相談する(その22)

2023-05-02 17:05:39 | ChatGPTちゃん
Q
ゴスパー曲線が出来ました。下のリンクです。プチコン3号でプログラミングをしました。 https://blog.goo.ne.jp/happanogateway/e/a36126261a8ea00d67d5b685cf6fe4db
本物のゴスパー曲線と少し違います。 中心は同じなのですが、外側に行くと本物のゴスパー曲線と違うパターンになっています。 どう直せばいいでしょうか?
 
 
ChatGPT

現在のプログラムでは、曲線を描画するために、正六角形を再帰的に描画していますが、正確なゴスパー曲線を描画するためには、正六角形の代わりに正三角形を使用する必要があります。正三角形を使用すると、曲線が正しく描画されます。

また、曲線の回転方向を変更する必要があります。現在のプログラムでは、右方向に回転していますが、正確なゴスパー曲線では左方向に回転します。

以下は、修正したプログラムです。これで正確なゴスパー曲線が描画されるはずです。

 

 

SCREEN 1:W=191

DIM T(3)

T(0)=0
T(1)=60
T(2)=-60

X1=W/2+48
Y1=96
X2=W/2-48
Y2=96

GOSUB *LINE

X1=X2
Y1=Y2
X2=W/2
Y2=96+96*SQR(3)/2

GOSUB *LINE

X1=X2
Y1=Y2
X2=W/2-48
Y2=96

GOSUB *LINE

X1=X2
Y1=Y2
X2=W/2+48
Y2=96

GOSUB *LINE

WAIT

*LINE
IF X1=X2 THEN  GOTO *END
DX=X2-X1
DY=Y2-Y1
IF ABS(DX)>ABS(DY) THEN S=ABS(DX) ELSE S=ABS(DY)
FOR I=0 TO S
  X=X1+DX*I/S
  Y=Y1+DY*I/S
  COLOR 1
  PSET (X,Y)
NEXT I
RETURN

WAIT

*GOSPER
IF N=0 THEN RETURN

A=T(0)
B=T(1)
C=T(2)

GOSUB *GOSPER

A=T(2)
B=T(1)
C=T(0)

GOSUB *GOSPER

A=T(1)
B=T(0)
C=T(1)

GOSUB *GOSPER

B=T(2)
C=T(1)

GOSUB *GOSPER

B=T(1)
C=T(2)

GOSUB *GOSPER

A=T(1)
B=T(0)
C=T(1)

RETURN

*START
N=5

X1=W/2
Y1=96+96*SQR(3)/2
X2=W/2-96
Y2=96
X3=W/2+96
Y3=96

T(0)=0
T(1)=60
T(2)=-60

GOSUB *GOSPER

T(0)=60
T(1)=-60
T(2)=0

 

 

 

 Q

今ChatGPTさんのあげらたプログラムは、どの言語ですか?
 
 
 
 
ChatGPT


最新の画像もっと見る

コメントを投稿