turtle.py で self._newline() を制御する方法を理解する必要があります。これについては、python Mandelbrot set プログラム中に奇妙なことを始めたときにわかりました。なぜタートルはピクセルを明るくするのですか?を参照してください。詳細については。しかし、複素数の正接をグラフ化する非常によく似たプログラムを作成しようとすると、同じことは起こりませんでした...しかし、プログラムは時間の経過とともにかなり遅くなりました。
基本的に、私は3つの質問をしています:
この不一致を引き起こすこれらのプログラムの違いは何ですか? (知的な探究)
self._newline() をアクティブ化/停止するにはどうすればよいですか? (必須、主な質問)
self._newline() で色ずれが発生しないようにするにはどうすればよいですか (DSM は、self._pencolor() 参照を turtle.py に挿入することを提案しましたが、これを行う方法がわかりません)。(必須ではありませんが、望ましい)
真ん中の質問に答えなくても、ご意見をお待ちしております。
複雑な正接コード:
import turtle
import math
import cmath
turtle.speed(0)
def bengant(size, onelen):
turtle.left(90)
for x in range(-size*onelen, size*onelen+1):
turtle.up()
turtle.goto(x, -size*onelen-1)
turtle.down()
for y in range(-size*onelen, size*onelen+1):
c = complex(x*1.0/onelen,y*1.0/onelen)
k = cmath.tan(c)
turtle.pencolor(0,math.atan(k.real)/math.pi+1/2,math.atan(k.imag)/math.pi+1/2)
turtle.forward(1)
bengant(2,100)
x = raw_input("Press Enter to Exit")