当前位置:   article > 正文

python动态心形代码简单,python动态爱心代码简单_python爱心代码编程教学

python爱心代码编程教学

大家好,小编来为大家解答以下问题,python动态爱心代码怎么运行,python动态爱心代码怎么弄?,今天让我们一起来看看吧!

在这里插入图片描述
python中有很多方法去画心形图用来表白,其中最典型的就是数学中心型曲线:r=a(1-sinθ),下面就总结以下python中那些画心形图的方法。末尾有一个完美的表白工具,可以直接使用python创意turtle作品

 

点击免费领取《CSDN大礼包》:

最新全套【Python入门到进阶资料 & 实战源码 &安装工具】

 

数学中美丽的心形线:r=a(1-sinθ)

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. T = np.linspace(0, 2 * np.pi, 1024) # 角度范围 0-2*pi,划为1024等份
  4. plt.axes(polar=True) # 开启极坐标模式
  5. plt.plot(T, 1. - np.sin(T), color="r")
  6. plt.show()

在这里插入图片描述

1、利用python的turtle教你动态的爱心图表白

  1. import turtle
  2. turtle.color('red', 'pink')
  3. turtle.pensize(2)
  4. turtle.pendown()
  5. turtle.setheading(150)
  6. turtle.begin_fill()
  7. turtle.fd(50)
  8. turtle.circle(50 * -3.745, 45)
  9. turtle.circle(50 * -1.431, 165)
  10. turtle.left(120)
  11. turtle.circle(50 * -1.431, 165)
  12. turtle.circle(50 * -3.745, 45)
  13. turtle.fd(50)
  14. turtle.end_fill()

在这里插入图片描述

2、利用python的plt教你画渐变颜色爱心图表白

  1. import matplotlib.pyplot as plt
  2. from matplotlib import animation
  3. import numpy as np
  4. import math
  5. t = np.linspace(0, math.pi, 1000)
  6. x = np.sin(t)
  7. y = np.cos(t) + np.power(x, 2.0 / 3) # 心型曲线的参数方程
  8. plt.scatter(x, y, c=y, cmap=plt.cm.Reds, edgecolor='none', s=40)
  9. plt.scatter(-x, y, c=y, cmap=plt.cm.Reds, edgecolor='none', s=40) # 渐变颜色曲线
  10. # 填充曲线
  11. plt.fill(x, y, 'r', alpha=0.6)
  12. plt.fill(-x, y, 'r', alpha=0.6)
  13. plt.axis([-2, 2, -2, 2]) # 坐标轴范围
  14. plt.title("I love you", fontsize=30)
  15. # 取消坐标轴显示
  16. plt.axis('off')
  17. # 保存文件
  18. plt.savefig("❤图1.png") # 在 plt.show() 之前调用 plt.savefig()
  19. plt.show()
  20. alpha=0

在这里插入图片描述

alpha=0.3

在这里插入图片描述

alpha=0.6

在这里插入图片描述

3、利用python的plt教你画3D爱心图表白

  1. # coding=utf-8
  2. # 3D心形
  3. import matplotlib.pyplot as plt
  4. import numpy as np
  5. import matplotlib
  6. matplotlib.rcParams['axes.unicode_minus'] = False
  7. def heart_3d(x, y, z):
  8. return (x**2+(9/4)*y**2+z**2-1)**3-x**2*z**3-(9/80)*y**2*z**3
  9. def plot_implicit(fn, bbox=(-1.5, 1.5)):
  10. xmin, xmax, ymin, ymax, zmin, zmax = bbox*3
  11. fig = plt.figure()
  12. ax = fig.add_subplot(111, projection='3d')
  13. A = np.linspace(xmin, xmax, 100) # 轮廓分辨率
  14. B = np.linspace(xmin, xmax, 40) # 切片数量
  15. A1, A2 = np.meshgrid(A, A) # 绘制等高线的网格
  16. for z in B: # 在XY平面绘制等高线
  17. X, Y = A1, A2
  18. Z = fn(X, Y, z)
  19. cset = ax.contour(X, Y, Z+z, [z], zdir='z', colors=('r',))
  20. for y in B: # 在XZ平面绘制等高线
  21. X, Z = A1, A2
  22. Y = fn(X, y, Z)
  23. cset = ax.contour(X, Y+y, Z, [y], zdir='y', colors=('red',))
  24. for x in B: # 在YZ平面绘制等高线
  25. Y, Z = A1, A2
  26. X = fn(x, Y, Z)
  27. cset = ax.contour(X+x, Y, Z, [x], zdir='x',colors=('red',))
  28. ax.set_zlim3d(zmin, zmax)
  29. ax.set_xlim3d(xmin, xmax)
  30. ax.set_ylim3d(ymin, ymax)
  31. # 标题
  32. plt.title("I love you", fontsize=30)
  33. # 取消坐标轴显示
  34. plt.axis('off')
  35. # 保存文件
  36. plt.savefig("3D_❤图.png") # 在 plt.show() 之前调用 plt.savefig()
  37. plt.show()
  38. if __name__ == '__main__':
  39. plot_implicit(heart_3d)

在这里插入图片描述

4、利用python一行代码教你画爱心图表白

print('\n'.join([''.join([('ILOVEYOUWP'[(x-y) % 10]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(-60,60)])for y in range(30,-30,-1)]))

在这里插入图片描述

5、利用python几行代码教你画爱心图表白

  1. import time
  2. ILY = input('请输入你想对她说的话:')
  3. for item in ILY.split():
  4. print('\n'.join([''.join([(item[(x-y) % len(item)] 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(-60, 60)]) for y in range(30, -30, -1)]))
  5. time.sleep(3);

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、完美表白工具

  1. import turtle
  2. import time
  3. # 清屏函数
  4. def clear_all():
  5. turtle.penup()
  6. turtle.goto(0, 0)
  7. turtle.color('white')
  8. turtle.pensize(800)
  9. turtle.pendown()
  10. turtle.setheading(0)
  11. turtle.fd(300)
  12. turtle.bk(600)
  13. # 重定位海龟的位置
  14. def go_to(x, y, state):
  15. turtle.pendown() if state else turtle.penup()
  16. turtle.goto(x, y)
  17. # 画爱心
  18. def draw_heart(size):
  19. turtle.color('red', 'pink')
  20. turtle.pensize(2)
  21. turtle.pendown()
  22. turtle.setheading(150)
  23. turtle.begin_fill()
  24. turtle.fd(size)
  25. turtle.circle(size * -3.745, 45)
  26. turtle.circle(size * -1.431, 165)
  27. turtle.left(120)
  28. turtle.circle(size * -1.431, 165)
  29. turtle.circle(size * -3.745, 45)
  30. turtle.fd(size)
  31. turtle.end_fill()
  32. # 画出发射爱心的小人
  33. def draw_people(x, y):
  34. turtle.penup()
  35. turtle.goto(x, y)
  36. turtle.pendown()
  37. turtle.pensize(2)
  38. turtle.color('black')
  39. turtle.setheading(0)
  40. turtle.circle(60, 360)
  41. turtle.penup()
  42. turtle.setheading(90)
  43. turtle.fd(75)
  44. turtle.setheading(180)
  45. turtle.fd(20)
  46. turtle.pensize(4)
  47. turtle.pendown()
  48. turtle.circle(2, 360)
  49. turtle.setheading(0)
  50. turtle.penup()
  51. turtle.fd(40)
  52. turtle.pensize(4)
  53. turtle.pendown()
  54. turtle.circle(-2, 360)
  55. turtle.penup()
  56. turtle.goto(x, y)
  57. turtle.setheading(-90)
  58. turtle.pendown()
  59. turtle.fd(20)
  60. turtle.setheading(0)
  61. turtle.fd(35)
  62. turtle.setheading(60)
  63. turtle.fd(10)
  64. turtle.penup()
  65. turtle.goto(x, y)
  66. turtle.setheading(-90)
  67. turtle.pendown()
  68. turtle.fd(40)
  69. turtle.setheading(0)
  70. turtle.fd(35)
  71. turtle.setheading(-60)
  72. turtle.fd(10)
  73. turtle.penup()
  74. turtle.goto(x, y)
  75. turtle.setheading(-90)
  76. turtle.pendown()
  77. turtle.fd(60)
  78. turtle.setheading(-135)
  79. turtle.fd(60)
  80. turtle.bk(60)
  81. turtle.setheading(-45)
  82. turtle.fd(30)
  83. turtle.setheading(-135)
  84. turtle.fd(35)
  85. turtle.penup()
  86. # 第一个画面,显示文字
  87. def page0():
  88. turtle.penup()
  89. turtle.goto(-350, 0)
  90. turtle.color('red')
  91. turtle.write('有你生活成缤纷多彩', font=('宋体', 60, 'normal'))
  92. turtle.penup()
  93. turtle.goto(-160, -180)
  94. draw_heart(30)
  95. turtle.penup()
  96. turtle.goto(0, -180)
  97. draw_heart(30)
  98. turtle.penup()
  99. turtle.goto(160, -180)
  100. draw_heart(30)
  101. time.sleep(3)
  102. # 第二个画面,显示发射爱心的小人
  103. def page1():
  104. turtle.speed(10)
  105. turtle.penup()
  106. turtle.goto(-200, -200)
  107. turtle.color('red')
  108. turtle.pendown()
  109. turtle.write('WYJ WP', font=('wisdom', 50, 'normal'))
  110. turtle.penup()
  111. turtle.goto(0, -180)
  112. draw_heart(10)
  113. draw_people(-250, 20)
  114. turtle.penup()
  115. turtle.goto(-150, -30)
  116. draw_heart(14)
  117. turtle.penup()
  118. turtle.goto(-20, -60)
  119. draw_heart(25)
  120. turtle.penup()
  121. turtle.goto(250, -100)
  122. draw_heart(45)
  123. turtle.hideturtle()
  124. # 写送给谁
  125. turtle.pencolor("PINK")
  126. turtle.penup()
  127. turtle.goto(300, 200)
  128. turtle.write(str, move=False, align='center', font=("方正舒体", 30, 'normal'))
  129. time.sleep(3)
  130. def main():
  131. turtle.setup(900, 500)
  132. page0()
  133. clear_all()
  134. page1()
  135. clear_all()
  136. turtle.done()
  137. if __name__ == '__main__':
  138. str = input('请输入表白语:')
  139. main()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
 

心形代码就分享到这里,完整的源码已经打包好了,需要的朋友可以扫描下方二维码免费自取!

文章知识点与官方知识档案匹配,可进一步学习相关知识
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/660242
推荐阅读
相关标签
  

闽ICP备14008679号