import turtle
from sprites import Screen,inverting_points
def draw_circle(center,radius):
turtle.penup();turtle.goto(center);turtle.fd(radius);turtle.left(90)
turtle.pd();turtle.circle(radius);turtle.pu();turtle.right(90);turtle.bk(radius)
def draw_line(p1,p2):
turtle.penup();turtle.goto(p1);turtle.pd();turtle.goto(p2);turtle.penup()
screen = Screen()
screen.tracer(0,0)
screen.xy_grid() # 显示坐标格子图
turtle.ht()
turtle.pensize(2)
k = 100*100 # 反演幂
O = (-40,-40) # 反演圆中心,绿色
draw_circle(O,k**0.5)
turtle.goto(O);turtle.dot(10,'green')
A = (120,80) # 一个定点,待反演的点,红色
turtle.goto(A);turtle.dot(10,'red')
draw_line(O,A )
m = inverting_points([A],O,k) # 返回A点以O为反演中心,k为反演幂的反演点
turtle.goto(m[0]);turtle.dot(10,'blue') # 反演点,蓝色
draw_line(A,m[0])
|