共计 992 个字符,预计需要花费 3 分钟才能阅读完成。
还能用 python 代码画爱心?还有这种操作?这是什么原理?,不置信 python 代码能够画爱心?先来一张效果图来看看成果吧!
用 python 代码画爱心的思路是怎么的?
1、怎么画心形曲线
2、怎么填满心形曲线
3、怎么用 python 画出爱心
接下来看好了,满满的都是干货,不珍藏将是遗憾哦!
1、怎么画心形曲线?
这个最难的局部,前人已将大树栽好,咱们只有记住公式,即可在大树下纳凉哦!
明天咱们选用中上的那个图形,一起来看看吧!
2、怎么填满爱心曲线?
简略说:函数 =0 是一根线, 那线的右边跟左边就是大于 0 跟小于 0. 取 x, y = 0 , 发现 函数 <=0 是成立的,先试试!
3、怎么用 python 画出爱心?
咱们先测试一下公式:
把公式放到 python 中,借助 sympy 这个库, 确认这个公式是否可行。
from sympy import var, plot_implicitvar(‘x y ‘)plot_implicit((x2+(-y)2-1)3+x2(-y)*3)成果如下图所示:(如同还不错哦)。
咱们把一行画心的代码解析一下,是这样:l2=[]# 将纵向每个字符当作 y 坐标的刻度 for y in range(15,-15,-1): l3 = [] # 将横向每个字符当作 x 坐标的刻度 for x in range(-30,30): # 如果 x,y 点在心形内, 则将一个字符退出到行, 否则退出空字符 l3.append((‘ I love U'[(x-y)%9]if((x0.05)2+(y0.1)2-1)3-(x0.05)2(y0.1)*3<=0 else’ ‘)) l2.append(”.join(l3))l1 =’\n’.join(l2) for i in l1: print(“\033[91m”+i,end=””,flush=True)
上面这段代码,是不是跟咱们用的公式很像,只不过做了 x y 轴的缩放:((x0.05)2+(y0.1)2-1)3-(x0.05)2(y0.1)*3<=0
上面这段代码的意思是:从 ‘ I love U’ 里挑字符进去拼行. 为毛 x-y ? 只为了斜一点, 但要求是保障它的增速为 1 . 你用 x 也行 但画进去就是正直的 I love U 了。’ I love U'[(x-y)%9] 咱们只须要将字符当作坐标刻度。去填满即可!
最初就是 print 管制色彩:\033[91m 根本就这样,有趣味的同学能够将画心的函数都试一下. 实践上都能够画进去。只不过有一些是极坐标,要做一些转换才行。