Python中的turtle.setworldcoordinates()函数
turtle 模块以面向对象和面向过程的方式提供了Turtle图形原语。因为它使用 tkinter 作为底层图形,它需要安装一个支持 Tk 的 Python 版本。
turtle.setworldcoordinates()
该函数用于设置一个用户定义的坐标系。这将执行一次重置。如果 “世界 “模式已经激活,所有的绘图都将根据新的坐标重新绘制。
注意:在用户定义的坐标系中,角度可能会出现失真。
语法: turtle.setworldcoordinates(llx, lly, urx, ury)
参数:
- llx:一个数字,画布左下角的X坐标。
- lly: 一个数字,画布左下角的Y坐标。
- urx: 一个数字,画布右上角的X坐标。
- ury: 一个数字,画布右上角的y坐标。
下面是上述方法的实现和一些例子。
例子1 :
# importing package
import turtle
# make screen object and
# set screen mode to world
sc = turtle.Screen()
sc.mode('world')
# set world coordinates
turtle.setworldcoordinates(-20, -20, 20, 20)
# loop for some motion
for i in range(20):
turtle.forward(1+1*i)
turtle.right(90)
输出:
Part A
示例 2:
# importing package
import turtle
# make screen object and
# set screen mode to world
sc = turtle.Screen()
sc.mode('world')
# set world coordinates
turtle.setworldcoordinates(-40, -40, 40, 40)
# loop for some motion
for i in range(20):
turtle.forward(1+1*i)
turtle.right(90)
输出 :
在上述两个例子中,代码是相同的,只有世界坐标的不同,输出才会不同,如下所示。
例子3 :
# importing package
import turtle
# make screen object and
# set mode to world
sc = turtle.Screen()
sc.mode('world')
# set world coordinates
turtle.setworldcoordinates(-50, -50, 50, 50)
# do some motion
for i in range(16):
turtle.forward(1+1*i)
turtle.right(90)
# set world coordinates
turtle.setworldcoordinates(-40, -40, 40, 40)
# do some motion
for i in range(16):
turtle.forward(1+1*(i+16))
turtle.right(90)
# set world coordinates
turtle.setworldcoordinates(-30, -30, 30, 30)
# do some motion
for i in range(16):
turtle.forward(1+1*(i+32))
turtle.right(90)
输出 :
在这里,我们可以看到,所有以前的绘图都被设置为新的世界坐标(绘图放大)。