Проблем с turtle graphic
Есть код на питон :
import turtle as t
t = t.Turtle()
t.screen.setup(800, 800)
t.speed(0)
def cell(): # рисует оси X и Y
t.goto(-400, 0)
t.goto(400, 0)
t.penup()
t.goto(0, -400)
t.pendown()
t.goto(0, 400)
cell()
x1 = -10 # начало графика
x2 = 10 # конец графика
shag = 0.1 # шаг рисовки.
mashtab = 34 # масштаб рисунка.
x = x1
t.penup()
while x <= x2:
y = 1 / x
t.goto(x * mashtab, y * mashtab)
t.pendown()
x += shag
t.screen.mainloop()
Почему он не рисует часть графика? и только ли у меня такая проблема?
Ответы (1 шт):
Автор решения: Amgarak
→ Ссылка
Когда X устремляется к 0, то значение Y улетает в бесконечность, а черепашка такой резкой смены координат не вывозит. Так что предлагаю просто отфильтровать этот резкий скачек и поднять в этом моменте перо, что бы не пытаться соединить эти две точки.
import turtle as t
t = t.Turtle()
t.screen.setup(800, 800)
t.speed(0)
def cell(): # рисует оси X и Y
t.goto(-400, 0)
t.goto(400, 0)
t.penup()
t.goto(0, -400)
t.pendown()
t.goto(0, 400)
cell()
x1 = -10 # начало графика
x2 = 10 # конец графика
shag = 0.1 # шаг рисовки.
mashtab = 34 # масштаб рисунка.
x = x1
t.penup()
while x <= x2:
y = 1 / x
if abs(y * mashtab ) > 400: # слишком большой Y -> пропускаем
print(y) # -53218311697140.28
print(x) # -1.8790524691780774e-14
x += shag
t.penup()
continue
t.goto(x * mashtab , y * mashtab )
t.pendown()
x += shag
t.screen.mainloop()