学计算机的男生发这个给我看是什么意思?​www.zhihu.com

原理其实挺简单的. 代码网上也有. 最难的部分前人都告诉我们了, 心形可画. 要自己推导通过泰勒各种扭也可以. 通过肉眼扭我感觉也不是不可..

我们理一下思路.怎么画心形曲线

怎么填满心形曲线

怎么用 python 画

怎么画心形曲线

这个 google 一下就行了. heart curve equation

我们选用中上那个.

怎么填满心形曲线

naive 的想法, 函数=0 是一根线, 那线的两侧就是大于 0 跟小于 0.

取x, y = 0 , 发现 函数 <=0 是成立的. 先试试

怎么用 python 画

我们先测试一下公式, 把公式放到 python 里去. 借助 sympy 这个库,确认这个公式长的可靠.

from sympy import var, plot_implicit

var('x y ')

plot_implicit((x**2+(-y)**2-1)**3+x**2*(-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((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.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 轴的缩放,

((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0

下面这段的意思是, 从 ' I love U' 里挑字符出来拼行. 为毛 x-y ? 只为了斜一点, 但要求是保证它的增速为 1 . 你用 x 也行 但画出来就是耿直的 I love U了.

' I love U'[(x-y)%9]

我们只需要将字符当作坐标刻度.去填满

就行.

最后就是 print 控制颜色

\033[91m

基本就这样. 有兴趣的同学可以将画心的函数都试一下.理论上都可以画出来. 只不过有一些是极坐标,要做一些转换才行.

PS: 有些朋友想要用中文. 那就要确认几件事你 python 里中文"我爱你"的编码字节宽度.

你在 terminal 里的中文"我爱你"的编码字节宽度.

import time

[(time.sleep(0.0009), print("\033[91m"+i,end="",flush=True)) for i in ('\n'.join([''.join([(u'我爱你'[(x-y)%3]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30,2)])for y in range(15,-15,-1)]))]

如何用python画爱心代码_用 python 画爱心代码讲解相关推荐

  1. python编程爱心编码_用python画爱心及代码演示

    程序员在爱情方式上表达上展现的多种多样,其中现在大火的用编程去编写个表白内容,最受欢迎了,今天小编也尝试了下,一起来看看吧~ 准备工具:python3 画爱心实施步骤: 打开编译器,写上code,代码 ...

  2. python画pr曲线代码_利用Python中的numpy包实现PR曲线和ROC曲线的计算

    闲来无事,边理解PR曲线和ROC曲线,边写了一下计算两个指标的代码.在 python 环境下,sklearn里有现成的函数计算ROC曲线坐标点,这里为了深入理解这两个指标,写代码的时候只用到numpy ...

  3. 用python画星空的代码_用python画星空源代码是什么?_后端开发

    用python画星空源代码是什么? 用python画星空源代码是 from turtle import * from random import random,randint screen = Scr ...

  4. python画交互式地图_使用Python构建交互式地图-入门指南

    python画交互式地图 Welcome to The Beginner's Guide to Building Interactive Maps in Python 欢迎使用Python构建交互式地 ...

  5. python樱花树画法图片_用Python敲出樱花绽放 | 附代码

    今年武汉大学的樱花依然开得灿烂,但受疫情影响,少了很多去赏花的朋友. (图源 武汉大学微博) 为了让大家看到樱花开放,各路高手纷纷亮出了自己的绝技.要说最秀的,当属用Python让樱花开放. 一时间, ...

  6. python樱花代码_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例

    今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态 ...

  7. python编写代码_用 Python 编写干净、可测试、高质量的代码

    用 Python 编写干净.可测试.高质量的代码 Noah Gift 2010 年 12 月 20 日发布 简介 编写软件是人所承担的最复杂的任务之一.AWK 编程语言和 "K and R ...

  8. python简单图画程序_用Python的Turtple画图形

    不知道各位是否还记得在小学或者初中的时候,我们接触过一种语言叫做logo语言,这个语言可以画正方形,画三角形,画圆.而用Python画图形也有点类似logo语言的意思. 在画图之前,我们需要启动一个模 ...

  9. python输出图形效果的代码_使用Python实现图像标记点的坐标输出功能

    使用Python实现图像标记点的坐标输出功能 Sometimes we have need to interact with an application,for example by marking ...

  10. python好看图案的编程代码_利用Python绘制了一些有意思的图案

    下载W3Cschool手机App,0基础随时随地学编程导语 花了点时间利用Python绘制了一些有意思的图案,也算是发掘了一下Python的可视化功能吧... PS: 部分图案参考了一些博客的一部分源 ...

最新文章

  1. 近几年前端技术盘点以及 2016 年技术发展方向
  2. java内部错误2755_内部错误2755.(安装软件出问题啦)
  3. C语言浮数据范围和字节,C语言各种数据类型在系统中占的字节和取值范围.docx...
  4. HDU - 5015 233 Matrix(矩阵快速幂)
  5. LRU算法及Java实现
  6. 如何绘制业务架构图 — 3.分解图
  7. MFC + Access 用户验证程序(初级数据库编程)
  8. 谷歌浏览器安卓_用谷歌服务更安全了,安卓手机可充当物理安全密匙
  9. memcache服务应用实践
  10. 计算机类和数学与应用数学哪个好,数学与应用数学专业怎么样 好不好找工作...
  11. 计算机二级省份,【计算机二级】这些省份发布报名时间!调整前的最后一次考试!...
  12. MySQL06:变量、存储过程和函数、流程控制结构
  13. 【Python学习日记】迭代器
  14. Jquery实现的几款漂亮的时间轴
  15. Windows中MySQL主从数据库搭建(二)
  16. java线程cpu 1000_CPU突然飙升到300%,Dubbo活动线程数直接飙到1000
  17. 广告管理系统-数据库表设计
  18. Tobii Eye Tracker 4C 入门教程(一)
  19. LCR测试仪与阻抗分析仪有何不同?测试软件怎么选?
  20. 美团点评校招前端方向笔试题

热门文章

  1. static 修饰方法
  2. 如何在 R 中创建 3D 绘图(附示例)
  3. Android 11.0 Launcher3 去掉底部箭头布局
  4. 情报分析师助力打破大数据泡沫
  5. android进程重启及activity恢复
  6. CSDN官方Markdown编辑器的使用教程
  7. 【EMC专题】静电放电抗扰度测试
  8. 耳鸣的治疗方法_耳鸣治疗
  9. A glimpse of Support Vector Machine
  10. 对象数组转成字符串数组 java_如何在Java中将对象数组转换为字符串数组