欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

看看如何用Python繪制小米新版天價(jià)logo

 更新時(shí)間:2021年04月19日 16:23:25   作者:數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)之美  
這篇文章主要介紹了看看如何用Python繪制小米新版天價(jià)logo,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下

最終呈現(xiàn)效果

哈哈,咋們?cè)谥v述之前,首先看看最終呈現(xiàn)的效果吧,整體來說還是很不錯(cuò)的。

小米 “新” logo背后的數(shù)學(xué)

前段時(shí)間,小米公司發(fā)布了一條微博,引發(fā)了熱議,原來小米換了新logo了。

很多人,都覺得雷總被騙了。說實(shí)話,我當(dāng)時(shí)猛的一看,也是很蒙蔽,可能咋們不懂美學(xué),不懂新logo背后蘊(yùn)藏的文化底蘊(yùn)吧!

但是,原設(shè)計(jì)者原研哉說到:最新設(shè)計(jì)的小米logo,融入了東方哲學(xué)的思考,從而提出了一個(gè)具有「超橢圓」數(shù)學(xué)之美的小米新 LOGO,同時(shí)還增加了黑色和科技銀來作為小米品牌色彩的新搭檔。

原研哉還說到:在驗(yàn)證的過程中,用到了一個(gè)數(shù)學(xué)公式。

從上面的公式可以看到,這里有一個(gè)n,因此可以知道:上述公式能夠繪制出n種類型的超橢圓。而設(shè)計(jì)者最終推薦使用n=3這一形狀。

Python繪制新logo流程

① 繪圖原理
在正式繪圖之前,我們先來講述一下Python繪制新logo的“繪圖原理”。掌握了原理后,剩下的問題就交給代碼吧。

  • ① 利用 “超橢圓” 公式,繪制一個(gè)帶填充色的橢圓;
  • ② 遍歷 “舊logo” 上的像素值,保留白色 “米字” 處的像素值;
  • ③ 將帶“米字” 的像素值,寫入第一步的超橢圓中;

② 重要知識(shí)點(diǎn)的普及
關(guān)于整個(gè)代碼,有幾個(gè)函數(shù)需要給大家提一下,為了大家更夠很快學(xué)習(xí)。但是不會(huì)講解的很詳細(xì),大家可以根據(jù)說明,自行下去查閱相關(guān)資料。

  • ① plt.fill():用于給圖形填充顏色;
  • ② plt.axis():用于打開/取消坐標(biāo)軸展示;
  • ③ plt.subplots_adjust()和plt.margins():用于去掉圖形外側(cè)多余的留白;
  • ④ image.getpixel():用于讀取圖片的像素值;
  • ⑤ image.putpixel():用于在指定坐標(biāo)位置處,寫入像素值;

③ 上代碼
首先我們先導(dǎo)入相關(guān)庫:

import matplotlib.pyplot as plt
import numpy as np
from PIL import Image

接著,利用上面 提到的公式,繪制一個(gè)不留白的n=3的超橢圓。

x = np.linspace(-1, 1, 1000)
y = + pow(1-abs(pow(x, 3)), 1/3) # 注意公式的寫法
z = - pow(1-abs(pow(x, 3)), 1/3) # 注意公式的寫法
plt.figure(figsize=(12, 12)) # 畫布大小

plt.plot(x, y, color=(255/255, 103/255, 0))
plt.plot(x, z, color=(255/255, 103/255, 0))
plt.fill(x, y, color=(255/255, 103/255, 0)) # 填充顏色
plt.fill(x, z, color=(255/255, 103/255, 0)) # 填充顏色
plt.axis('off') # 不顯示坐標(biāo)軸
plt.subplots_adjust(top=1, bottom=0, right=1, left=0, hspace=0, wspace=0)
plt.margins(0, 0)
plt.savefig('fill.png', transparent=True, dpi=100) # 設(shè)置保存圖片的透明值

然后,遍歷舊logo的像素值,保留 “米字” 那一塊兒。將該像素值,寫入上面的 “fill.png” 中。有一點(diǎn)需要注意的是:白色的rgb值是255, 255, 255。

image_1 = Image.open('old.png')
image_2 = Image.open('fill.png')

w, h = image_1.size

for i in range(w):
    for j in range(h):
        data = image_1.getpixel((i, j))
        if data == (255,)*4:
            image_2.putpixel((i, j), (255,)*4)

image_2.save('new.png')

獲取資源

以上圖片和代碼,均已打包,大家可以自由獲取哦!

鏈接:https://pan.baidu.com/s/1K1Kjmwnsj8NFtZRqWbZW6g
提取碼:deoy

以上就是看看如何用Python繪制小米新版天價(jià)logo的詳細(xì)內(nèi)容,更多關(guān)于python繪制小米logo的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python使用graphviz畫流程圖過程解析

    Python使用graphviz畫流程圖過程解析

    這篇文章主要介紹了Python使用graphviz畫流程圖過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python使用lambda拋出異常實(shí)現(xiàn)方法解析

    Python使用lambda拋出異常實(shí)現(xiàn)方法解析

    這篇文章主要介紹了Python使用lambda拋出異常實(shí)現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python Flask 轉(zhuǎn)換器的使用詳解

    Python Flask 轉(zhuǎn)換器的使用詳解

    這篇文章主要介紹了Python_Flask 轉(zhuǎn)換器的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 不知道這5種下劃線的含義,你就不算真的會(huì)Python!

    不知道這5種下劃線的含義,你就不算真的會(huì)Python!

    Python是一種高級(jí)程序語言,其核心設(shè)計(jì)哲學(xué)是代碼可讀性和語法,能夠讓程序員用很少的代碼來表達(dá)自己的想法。這篇文章主要介紹了不知道這5種下劃線的含義,你就不算真的會(huì)Python!對(duì)此標(biāo)題感興趣的朋友一起閱讀本文吧
    2018-10-10
  • PyQt5 控件字體樣式等設(shè)置的實(shí)現(xiàn)

    PyQt5 控件字體樣式等設(shè)置的實(shí)現(xiàn)

    這篇文章主要介紹了PyQt5 控件字體樣式等設(shè)置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Python中Async語法協(xié)程的實(shí)現(xiàn)

    Python中Async語法協(xié)程的實(shí)現(xiàn)

    這篇文章主要介紹了Python中Async語法協(xié)程的實(shí)現(xiàn),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • Python 使用 raise 語句拋出異常的流程分析

    Python 使用 raise 語句拋出異常的流程分析

    在Python編程中,異常處理是至關(guān)重要的一部分,本文將探討 Python 中 raise 語句的使用方法以及如何通過 raise 語句來拋出各種類型的異常,從而有效地進(jìn)行異常處理,感興趣的朋友跟隨小編一起看看吧
    2021-02-02
  • 解決pycharm運(yùn)行時(shí)interpreter為空的問題

    解決pycharm運(yùn)行時(shí)interpreter為空的問題

    今天小編就為大家分享一篇解決pycharm運(yùn)行時(shí)interpreter為空的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • pyftplib中文亂碼問題解決方案

    pyftplib中文亂碼問題解決方案

    這篇文章主要介紹了pyftplib中文亂碼問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python如何查看兩個(gè)數(shù)據(jù)庫的同名表的字段名差異

    Python如何查看兩個(gè)數(shù)據(jù)庫的同名表的字段名差異

    這篇文章主要介紹了Python如何查看兩個(gè)數(shù)據(jù)庫的同名表的字段名差異,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評(píng)論