天秀!花费 200W 设计的新版“小米”logo,看看用Python怎么绘制?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了天秀!花费 200W 设计的新版“小米”logo,看看用Python怎么绘制?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2722字,纯文字阅读大概需要4分钟。
内容图文
![天秀!花费 200W 设计的新版“小米”logo,看看用Python怎么绘制?](/upload/InfoBanner/zyjiaocheng/591/1ac4630219054d8a8e51add5e15ff5ae.jpg)
最终呈现效果
哈哈,咱们在讲述之前,首先看看最终呈现的效果吧,整体来说还是很不错的。
小米 “新” logo背后的数学
前段时间,小米公司发布了一条微博,引发了热议,原来小米换了新logo了。
很多人,都觉得雷总被骗了。说实话,我当时猛地一看,也是很蒙蔽,可能咋们不懂美学,不懂新logo背后蕴藏的文化底蕴吧!
但是,原设计者原研哉说到:最新设计的小米logo,融入了东方哲学的思考,从而提出了一个具有「超椭圆」数学之美的小米新 LOGO,同时还增加了黑色和科技银来作为小米品牌色彩的新搭档。
原研哉还说到:在验证的过程中,用到了一个数学公式。
从上面的公式可以看到,这里有一个n,因此可以知道:上述公式能够绘制出n种类型的超椭圆。而设计者最终推荐使用n=3这一形状。
n=3时的超椭圆公式如下所示,其中x的取值范围为[-1, 1]。
转换以后,可以得到如下公式:
Python绘制新logo流程
① 绘图原理
在正式绘图之前,我们先来讲述一下Python绘制新logo的“绘图原理”。掌握了原理后,剩下的问题就交给代码吧。
- ① 利用 “超椭圆” 公式,绘制一个带填充色的椭圆;
- ② 遍历 “旧logo” 上的像素值,保留白色 “米字” 处的像素值;
- ③ 将带“米字” 的像素值,写入第一步的超椭圆中;
② 重要知识点的普及
关于整个代码,有几个函数需要给大家提一下,为了大家能够很快学习。但是不会讲解得很详细,大家可以根据说明,自行下去查阅相关资料。
- ① plt.fill():用于给图形填充颜色;
- ② plt.axis():用于打开/取消坐标轴展示;
- ③ plt.subplots_adjust()和plt.margins():用于去掉图形外侧多余的留白;
- ④ image.getpixel():用于读取图片的像素值;
- ⑤ image.putpixel():用于在指定坐标位置处,写入像素值;
③ 上代码
首先我们先导入相关库:
import?matplotlib.pyplot?as?plt
import?numpy?as?np
from?PIL?import?Image
接着,利用上面 提到的公式,绘制一个不留白的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')?#?不显示坐标轴
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)?#?设置保存图片的透明值
然后,遍历旧logo的像素值,保留 “米字” 那一块儿。将该像素值,写入上面的 “fill.png” 中。有一点需要注意的是:白色的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')
参考链接:Python画出小米新logo的轮廓曲线
https://blog.csdn.net/frank_haha/article/details/115361238
获取资源
以上图片和代码,均已打包,大家可以自由获取哦!
- 1. 关注小编
- 2. 申请QQ群:705933274 免费领取
内容总结
以上是互联网集市为您收集整理的天秀!花费 200W 设计的新版“小米”logo,看看用Python怎么绘制?全部内容,希望文章能够帮你解决天秀!花费 200W 设计的新版“小米”logo,看看用Python怎么绘制?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。