python turtle库setpos_Python内置海龟(turtle)库绘图命令详解(二)
繼續談利用海龜庫(turtle庫)做圖。在這篇文章(Python內置海龜(turtle)庫繪圖命令詳解(一))中已經介紹了turtle的一些基本畫圖命令,包括畫布的設計、畫筆屬性與狀態的設置以及畫筆的運動命令。今天我們重點談一談如何利用turtle直角坐標系繪制一些比較復雜的圖形。
1.turtle庫直角坐標系的相關知識
turtle海龜庫直角坐標系中點坐標的尋找方法與數學中的笛卡爾平面直角坐標系是一致的,它的坐標原點在turtle的home(即畫布的中間位置),故,其坐標系的具體形式如下:
當turtle畫布上的坐標系確定以后,我們就可以去定位畫布上的任何點,通過控制畫筆的移動,讓畫筆按坐標點的位置來做精確的移動,從而就可以來實現繪制一些比較復雜的圖形了。
關于按坐標點,實現畫筆移動的相關命令主要包括:
命令說明
turtle.goto(x,y)讓畫筆沿直線移動到坐標點(x,y)處
turtle.setpos(x,y)與goto命令一樣,作用也是讓畫筆沿直線移動到坐標點(x,y)處
turtle.sex(x)只改變x坐標,讓畫筆產生移動
turtle.sex(y)只改變y坐標,讓畫筆產生移動
x,y=turtle.pos()返回畫筆當前位置的坐標
turtle.seth(degree)用于設置畫筆的方向,參數degree為畫筆方向與海龜坐標系x軸正向的夾角度數。
2.用turtle庫直角坐標系繪圖實例
為了讓大家進一步熟悉用海龜庫的坐標系畫圖,現在開始利用海龜庫直角坐標系繪制幾個常見的圖形。
(1).繪制直角三角形
上圖可見,此直角三角形繪制在第一象限,所以三角形每個頂點的坐標全部為正。三個點的坐標分別選擇為A(100,100)、B(200,100)、C(100,200)。可見所繪制的直角三角形AC=100,AB=100,所以為一個等腰直角三角形。由于A點的y坐標與B點的y坐標相等,所以,AB平行于x軸,由于A點的x坐標與C點的x坐標相等,所以,AC平行于y軸。
代碼為:
turtle.up()
turtle.goto(100,100)
turtle.down()
turtle.fillcolor('red')
turtle.begin_fill()
turtle.goto(200,100)
turtle.goto(100,200)
turtle.goto(100,100)
turtle.end_fill()
(2).繪制梯形
上圖可見,此梯形繪制在第四象限,所以梯形形每個頂點的坐標中,x坐標為正,y坐標為負。四個點的坐標分別選擇為D(100,-100)、E(200,-100)、F(250,-200)、G(50,-200)。可見所繪制的直角三角形DE=100,GF=200。由于D點的y坐標與E點的y坐標相等,所以,DE平行于x軸,由于G點的y坐標與F點的y坐標相等,所以,GF也平行于x軸。
代碼為:
turtle.up()
turtle.fillcolor('yellow')
turtle.begin_fill()
turtle.goto(100,-100)
turtle.down()
turtle.goto(200,-100)
turtle.goto(250,-200)
turtle.goto(50,-200)
turtle.goto(100,-100)
turtle.end_fill()
(3). 畫扇形
上圖可見,此扇形繪制橫跨第一與第四象限,該扇形的半徑是200像素,頂點主要由點O、點H與點J構成,其中點O是坐標的原點,點H坐標為(0,-200),點J坐標由參數方程來確定,坐標為:
(200*math.cos(30*math.pi/180),200*math.sin(30*math.pi/180))
代碼為:
import math
turtle.up()
turtle.goto(0,-200)
turtle.seth(0)
turtle.down()
turtle.fillcolor('blue')
turtle.begin_fill()
turtle.circle(200,120)
turtle.goto(0,0)
turtle.goto(0,-200)
turtle.end_fill()
(-end-)
掃碼關注公眾號
推薦閱讀:
Python內置海龜(turtle)庫繪圖命令詳解(一)
python海龜庫(turtle)中顏色的表示方法
總結
以上是生活随笔為你收集整理的python turtle库setpos_Python内置海龟(turtle)库绘图命令详解(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 索尼 LinkBuds S / WF-1
- 下一篇: jar 反编译_Java加密jar包流程