網(wǎng)站首頁 編程語言 正文
python用turtle庫寫六角形獨(dú)特代碼(新手向)
思路
1.選定適宜規(guī)格畫筆
2.選落腳及其初始偏轉(zhuǎn)角度(可不偏轉(zhuǎn))
3.開始繪制兩個三角形
?? ??? ?(1)其中第一個三角形繪制完畢需重新選擇落腳點(diǎn)
?? ??? ?(2)第二個三角落腳點(diǎn)可由第一個推算,詳細(xì)代碼后有圖文解釋!!!
代碼
import turtle #導(dǎo)入turtle庫
turtle.color("pink") #畫筆顏色
turtle.pensize(5) #畫筆粗細(xì)
turtle.seth(30) #畫筆落腳角度,可忽略
turtle.penup()
turtle.goto(-200,50) #選擇合適下筆處
turtle.pendown()
for i in range(3): #繪制第一個等邊三角形
turtle.forward(200) #等邊三角形邊長
turtle.left(120)
turtle.penup()
turtle.goto(-84.5299461620748,50) #此處由等邊三角形邊長計算:200-200/3*(根號3)
turtle.pendown()
for i in range(1): #繪制第二個等邊三角形
turtle.left(60)
turtle.forward(200)
for i in range(2):
turtle.left(120)
turtle.forward(200)
turtle.end_fill()
其中第二個落腳點(diǎn)計算原理:
其中ac=200/3
故得ab=200/3*(根3)=115.4700538379252
由a定點(diǎn)(第一個三角形落筆點(diǎn))為(-200,50)
且b在a的正方向上
所以b定點(diǎn)(第二個三角形落筆點(diǎn))為(-84.5299461620748,50)
根據(jù)修改落腳點(diǎn)及角度還可以畫出旋轉(zhuǎn)不同角度的六角形哦**!!!**
下面補(bǔ)充一些可方便繪圖的turtle庫函數(shù)
1.turtle.setx( ):將當(dāng)前x軸移動到指定位置;
2.turtle.sety( ):將當(dāng)前y軸移動到指定位置;
3.turtle.right(x):順時針偏轉(zhuǎn)x°;
4.turtle.left(x):逆時針偏轉(zhuǎn)x°;
5.turtle.penup():不需填充數(shù)據(jù),僅代表提筆;
6.turtle.pendown():表示落筆,與penup搭配時兩者之間需要使用goto移動筆尖位置;
補(bǔ)充:python繪制等邊三角形,四邊形,五角形
等邊三角形代碼如下:
import turtle
for i in range(3):
turtle.seth(i*120)
turtle.fd(100)
四邊形的繪制,我們用fd函數(shù)和seth函數(shù)進(jìn)行繪制
代碼如下:
import turtle
for i in range(4):
turtle.seth(i*90)
turtle.fd(100)
五邊形的繪制同樣也是使用fd函數(shù)和seth函數(shù)進(jìn)行繪制
代碼如下:
import turtle
for i in range(5):
turtle.seth(i*72)
turtle.fd(100)
總結(jié)
原文鏈接:https://blog.csdn.net/qq_45361790/article/details/120558275
相關(guān)推薦
- 2022-07-13 CentOS上Autofs自動掛載iso光盤鏡像-Linux
- 2023-04-06 OpenMP中For?Construct對dynamic的調(diào)度方式詳解_C 語言
- 2022-09-14 Flutter?iOS開發(fā)OC混編Swift動態(tài)庫和靜態(tài)庫問題填坑_Swift
- 2022-03-31 Python基礎(chǔ)中的列表你了解嗎_python
- 2022-10-10 AOSP源碼下載示例代碼_Android
- 2022-09-28 SQLServer常見數(shù)學(xué)函數(shù)梳理總結(jié)_MsSql
- 2023-11-11 Flask 表單form.validate_on_submit()什么情況下會是false——解決辦
- 2022-05-28 利用For循環(huán)遍歷Python字典的三種方法實(shí)例_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支