Python画出小米新logo的轮廓曲线

import numpy as np
import matplotlib.pyplot as plt


x_1_4 = np.arange(0, 1.001, 0.001)
y1 = pow(1 - x_1_4 ** 3, 1/3)
y4 = -y1
x_2_3 = -x_1_4
y2 = pow(1 + x_2_3 ** 3, 1/3)
y3 = -y2
fig = plt.figure(figsize=(5, 5))
plt.plot(x_1_4, y1, color='orange')
plt.plot(x_2_3, y2, color='orange')
plt.plot(x_1_4, y4, color='orange')
plt.plot(x_2_3, y3, color='orange')
plt.show()

小米新logo采用了3范数的思想
正常的圆方程是:
x 2 + y 2 = R 2 x^2+ y^2=R^2 x2+y2=R2
n范数曲线方程是:
x n + y n n = R \sqrt[n]{x^n+y^n}=R nxn+yn =R
所以圆方程是2范数的一种。
小米手机采用的是3范数的曲线。方程应该是:
x 3 + y 3 3 = R \sqrt[3]{x^3+y^3}=R 3x3+y3 =R
本程序取 R = 1 R=1 R=1
由于3次方不改变正负性,所以曲线要分成4段画。
第一段,第一象限,x在0,1间等间距取点。
y = 1 − x 3 3 y=\sqrt[3]{1-x^3} y=31x3
第四象限曲线与第一象限的x相同,y值像反。
第二象限, x < 0 x<0 x<0,所以:
y = 1 + x 3 3 y=\sqrt[3]{1+x^3} y=31+x3
同理,第三象限的y值与第二象限相反。
将4段曲线的颜色选成一样的,拼在一起就是光滑的小米新logo轮廓线。
需要注意的是,np.arange取值时需要覆盖 x = 1 x=1 x=1这个值,不然四段曲线拼不到一起。根据np.arange函数的特性,我们的终点应该多取一个步长,本例中去到了1.001.
效果图如下:


小米新logo
在这里插入图片描述

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值