今日得閒,完善一下之前用python畫的滑稽笑臉的程式碼,附計算過程
現在來補充一下,之前的笑臉畫法
首先,我們來引入兩個接下來畫笑臉需要用到的庫
一分析了,首先看下我們的目標圖形(在文開始),並對其進行簡單的解析
import turtle as t
import math
首先,我們的思路是先畫出一個大圓
然後,分別定義畫大小嘴脣的,左右眼睛的,左右臉頰的函式
最後,在完成了前期的所有基本結構之後,進行顏色的填充
接下來看程式碼
def upmouth():
t.left(90)
t.up()
t.fd(25)
t.down()
t.fillcolor("red")
t.begin_fill()
t.left(90)
x = 1
for i in range(180):
t.pencolor("red")
t.fd(3)
t.right(1)
t.end_fill()
---------------------
作者:gzh_love_python
來源:CSDN
原文:https://blog.csdn.net/gzh_love_python/article/details/88204664
版權宣告:本文為博主原創文章,轉載請附上博文連結!
這是上嘴脣的程式碼,前半部分沒啥稀奇的,就是那個便利迴圈
這裡的遍歷迴圈的數學原理就是微積分基本思想
接下來畫下嘴脣,同樣的方法,實驗它的各項引數,當然實驗之前需要用高中數學進行一定的計算,得出一個比較模糊的數值,隨後再進行多次調整。這裡說下,用到的公式有,弧長 = 圓心角(弧度制) * 半徑, 再根據之前定義的大臉盤子的半徑,進行半徑的求解,需要用到反三角函式。
def down_mouth():
t.fillcolor(“yellow”)
t.begin_fill()
t.right(90 + 80)
for u in range(163):
t.pencolor(“red”)
t.left(1)
t.fd(3)
t.end_fill()
t.up()
t.goto(190, 310)
t.down()
---------------------
作者:gzh_love_python
來源:CSDN
原文:https://blog.csdn.net/gzh_love_python/article/details/88204664
版權宣告:本文為博主原創文章,轉載請附上博文連結!
而後,就是畫眼睛了,經過觀察,不難發現,對於畫兩隻眼睛而言,只需改變turtle的起始位置即可,其他的引數全都一樣,所以,對眼睛的上下弧長求解就變得很重要了。經過觀察,不難看出,眼睛的主體框架其實是兩條圓心角相同,半徑不同的弧。而眼睛的邊角就是半圓。
def eyes():
t.fillcolor(“white”)
t.begin_fill()
for r in range(100):
t.fd(2)
t.left(1)
t.circle(10, 180)
for r in range(100):
t.fd(2 - (math.pi / 9))
t.right(1)
t.circle(10, 180)
t.end_fill()
t.up()
t.circle(10, 90)
t.right(90)
for r in range(90):
t.fd(2 - (math.pi / 13))
t.left(1)
t.down()
t.fillcolor(“black”)
t.begin_fill()
t.circle(10)
t.end_fill()
---------------------
作者:gzh_love_python
來源:CSDN
原文:https://blog.csdn.net/gzh_love_python/article/details/88204664
版權宣告:本文為博主原創文章,轉載請附上博文連結!
接下來就是最後的部分了,畫出臉頰,同樣是用微積分思想,這裡需要強調一下,角度的不斷修正,來自於turtle相對於水平線的相對角度,而得出這個角度的方法就是做切線,還是離不開微積分。
def cheek():
t.pensize(2)
t.fillcolor(“pink”)
t.pencolor(“pink”)
t.begin_fill()
for c in range(90):
t.fd(10 / 8)
t.left(1)
t.left(90)
for c in range(90):
t.fd(10 / 8)
t.left(1)
t.end_fill()
---------------------
作者:gzh_love_python
來源:CSDN
原文:https://blog.csdn.net/gzh_love_python/article/details/88204664
版權宣告:本文為博主原創文章,轉載請附上博文連結!
最後,就是主體框架了
t.begin_fill() t.circle(200,360+90) t.end_fill() # 畫上嘴脣
upmouth() # 畫下嘴脣
down_mouth() # 修正角度
t.left(50) t.pencolor(“black”) # 畫右眼睛 eyes() # 修正角度
t.right(90)
# 修正座標
t.up()
t.goto(-10,310)
t.down()
# 畫左眼睛
eyes()
# 修正角度
t.right(130)
t.left(45)
# 畫右臉頰
t.up()
t.goto(150, 250)
t.down()
cheek()
# 畫左臉頰
t.up()
t.left(90)
t.goto(-50,250)
t.down()
cheek()
t.exitonclick()
12345678910111213141516171819202122232425262728
if name == “main”:
main()
---------------------
作者:gzh_love_python
來源:CSDN
原文:https://blog.csdn.net/gzh_love_python/article/details/88204664
版權宣告:本文為博主原創文章,轉載請附上博文連結!
相關文章
- 使用python的turtle繪畫滑稽臉Python
- Python指令碼檢測笑臉漏洞Python指令碼
- python的個稅計算程式碼Python
- [20211217]滑稽可笑的程式程式碼2.txt
- 設計師的專屬魔法,用SVG動畫重現布林運算的設計過程SVG動畫
- 200 行 Python 程式碼做個換臉程式(附原始碼)Python原始碼
- 用Python程式碼畫世界盃吉祥物拉伊卜(附程式碼)Python
- 用 150 行 Python 程式碼寫的量子計算模擬器Python
- torch.einsum 的計算過程
- 人臉識別的簡要介紹(附例項、Python程式碼)Python
- BERT預訓練模型的演進過程!(附程式碼)模型
- Python 計算程式執行多久程式碼Python
- 笑臉漏洞復現
- 詳解移動和桌面應用程式的程式碼簽名過程
- 用Python開發實用程式 – 計算器Python
- Python程式設計 聖誕樹教程 (附程式碼)程式設計師的浪漫Python程式設計師
- 漫談計算機組成原理(一)之程式執行的過程計算機
- Android 8.0 原始碼分析 (三) 應用程式程式建立到應用程式啟動的過程Android原始碼
- canvas繪製笑臉表情Canvas
- 程式碼提交過程
- 計算機啟動過程計算機
- Python程式碼編寫過程中有哪些重要技巧?Python
- PPT 倒數計時時鐘,用 GIF 動畫實現,可直接使用 -- 附 Python 實現程式碼動畫Python
- 程式設計師的相關笑話(一)程式設計師
- 【圖片+程式碼】:GCC 連結過程中的【重定位】過程分析GC
- 通過修改登錄檔刪 Edge瀏覽器的笑臉反饋標誌瀏覽器
- Python程式設計過程的中的規範!一定要嚴格自己遵循!Python程式設計
- 計算圓的面積程式碼
- 通過PAML中的CODEML模組計算dnds的過程以及踩坑
- 80個讓你笑爆肚皮的程式設計師段子,不好笑算我輸!程式設計師
- 瀏覽器和伺服器之前的加密解密過程瀏覽器伺服器加密解密
- 用python和計算機對話(計算機的語句)Python計算機
- 這是一篇用python畫3D愛心的程式碼Python3D
- 批次計算遙感影像NDVI:Python程式碼Python
- 初識MapReduce的應用場景(附JAVA和Python程式碼)JavaPython
- python ubuntu lib7 -計算人臉特徵向量PythonUbuntu特徵
- 如何將過程程式碼變成物件導向的程式碼? - WLODEK物件
- Python培訓分享:Python程式碼編寫過程中有哪些重要技巧?Python