作為我正在學習的課程的一部分,我創建了一個隨機點畫生成器程式。我的代碼涉及使用該turtle.dot()函式在烏龜去的任何地方創建點。實際的邏輯似乎作業正常,但它正在創建像素化的點,如模糊影像。
課程視頻具有完美的輸出 - 圓應該是怎樣的。
我從 VSCode 切換到 PyCharm,但這沒有幫助。我還創建了許多其他 Turtle Graphics 程式 - Spirograph 生成器、隨機游走,但它們都不會在螢屏上產生銳利的物體,正如您對 21 世紀機器所期望的那樣。
我無法弄清楚問題是什么。是代碼嗎?顯示驅動程式?或一些錯誤?
這是代碼:
import turtle
turtle.colormode(255)
t = turtle.Turtle()
s = turtle.Screen()
t.penup()
t.speed(0)
t.setpos(-200, -200)
for m in range(10):
for n in range(10):
t.dot(20, 'red')
t.forward(50)
t.setx(-200)
t.sety(t.ycor() 50)
s.exitonclick()
注意這些點看起來像多邊形而不是圓形:

uj5u.com熱心網友回復:
如果你想要 RTX 級別的圖形,我很確定你應該使用 python 海龜以外的東西。烏龜就是這樣,它就像有史以來發明的第一個機器人一樣。名為烏龜。
如果我們仔細觀察,它們會很好地反鋸齒:

您的老師可能只是擁有更好的圖形子系統和/或顯示幕。我們可以試試turtle的circle()方法:
turtle.begin_fill()
turtle.circle(10)
turtle.end_fill()
但這看起來并不比dot():

特寫證實了這一點:

但是circle()對于小半徑并沒有非常努力,我們可以使用steps引數覆寫它:
turtle.circle(10, steps=180)

再次特寫:

@RobertMcNeil 的stamp()建議在我的系統上產生了更糟糕的結果:

最后附上一張特寫:

我會說堅持你的原始設計并在不同的系統上測驗它。
from turtle import Screen, Turtle
from random import random
screen = Screen()
turtle = Turtle()
turtle.hideturtle()
turtle.speed('fastest')
turtle.penup()
turtle.setposition(-200, -200)
for _ in range(10):
for _ in range(10):
turtle.dot(20, (random(), random(), random()))
turtle.forward(50)
turtle.setx(-200)
turtle.sety(turtle.ycor() 50)
screen.exitonclick()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/328888.html
下一篇:在多行之間復制一個值R
