Python3使用turtle繪制超立方體圖形示例
本文實例講述了Python3使用turtle繪制超立方體圖形。分享給大家供大家參考,具體如下:
利用Python3中turtle的繪制超立方體。

繪圖思路:
1)求出邊長100的超立方體的點坐標(biāo);
以豎直線為依據(jù),將點分為上下兩組:
a為上邊點列表,b為下邊點列表:
a = [[120.71, 50], [50, 120.71], [-50, 120.71], [-120.71, 50], [-50, -20.71], [50, -20.71], [20.71, 50],[-20.71, 50]] b = [[120.71, -50], [50, 20.71], [-50, 20.71], [-120.71, -50], [-50, -120.71], [50, -120.71], [20.71, -50],[-20.71, -50]]
2)編寫繪制直線函數(shù);
3)編寫主程序:繪制點,繪制六角形直線,繪制豎直直線,繪制斜線
代碼片段如下,可能不是最簡潔的,如有好的建議,請不吝指正。
import turtle
# 創(chuàng)建繪制直線函數(shù)
def drawLine(p1, p2, size=3, color="black"):
turtle.penup()
turtle.goto(p1)
turtle.pensize(size)
turtle.pencolor(color)
turtle.pendown()
turtle.goto(p2)
def main():
# 求取點后,將超立方體點分為上下兩個部分,兩個列表
a = [[120.71, 50], [50, 120.71], [-50, 120.71], [-120.71, 50], [-50, -20.71], [50, -20.71], [20.71, 50],
[-20.71, 50]]
b = [[120.71, -50], [50, 20.71], [-50, 20.71], [-120.71, -50], [-50, -120.71], [50, -120.71], [20.71, -50],
[-20.71, -50]]
# 繪制點
turtle.pencolor("red")
turtle.penup()
for i in range(len(a)):
turtle.goto(a[i])
turtle.down()
turtle.dot(10, "red")
turtle.penup()
for i in range(len(b)):
turtle.goto(b[i])
turtle.down()
turtle.dot(10, "red")
turtle.penup()
# 繪制六邊形直線
for i in range(6):
if i <= 4:
drawLine(a[i], a[i + 1])
drawLine(b[i], b[i + 1])
else:
drawLine(a[i], a[0])
drawLine(b[i], b[0])
# 繪制豎直線
for i in range(len(a)):
drawLine(a[i], b[i])
# 繪制斜線
drawLine(a[6], a[0])
drawLine(a[6], a[2])
drawLine(a[6], a[4])
drawLine(a[7], a[1])
drawLine(a[7], a[3])
drawLine(a[7], a[5])
drawLine(b[6], b[0])
drawLine(b[6], b[2])
drawLine(b[6], b[4])
drawLine(b[7], b[1])
drawLine(b[7], b[3])
drawLine(b[7], b[5])
turtle.done()
if __name__ == '__main__':
main()
pass
運行結(jié)果:

注:使用eclipse+pyDev結(jié)合Python3環(huán)境開發(fā)時,會提示:Undefined variable from import: penup及Undefined variable from import: goto等錯誤,無需理會直接運行仍可繪制出該圖形。
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)學(xué)運算技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Python使用MoviePy實現(xiàn)編輯音視頻并添加字幕
MoviePy是一個用于視頻編輯的Python模塊,它可被用于一些基本操作,本文主要介紹了如何使用編輯音視頻并添加字幕,感興趣的小伙伴可以了解下2024-01-01
django 基于中間件實現(xiàn)限制ip頻繁訪問過程詳解
這篇文章主要介紹了django 基于中間件實現(xiàn)限制ip頻繁訪問過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
Python學(xué)習(xí)之str重要函數(shù)
這篇文章主要介紹了Python str重要函數(shù),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10
Python實現(xiàn)從多表格中隨機抽取數(shù)據(jù)
這篇文章主要介紹了如何基于Python語言實現(xiàn)隨機從大量的Excel表格文件中選取一部分?jǐn)?shù)據(jù),并將全部文件中隨機獲取的數(shù)據(jù)合并為一個新的Excel表格文件的方法,希望對大家有所幫助2023-05-05
Django框架orM與自定義SQL語句混合事務(wù)控制操作
這篇文章主要介紹了Django框架orM與自定義SQL語句混合事務(wù)控制操作,結(jié)合實例形式分析了同一個方法里面既有ORM又有自定義SQL 語句的情況下事務(wù)控制相關(guān)操作技巧,需要的朋友可以參考下2019-06-06
解決Pyinstaller打包為可執(zhí)行文件編碼錯誤的問題
這篇文章主要介紹了解決Pyinstaller打包為可執(zhí)行文件編碼錯誤的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03

