码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python跳动的爱心(双爱心版)


    目录

    系列文章

    前言

    Turtle简介

    Python跳动的爱心

    尾声


    系列文章

    序号文章目录直达链接
    表白系列
    1无法拒绝的表白界面https://want595.blog.csdn.net/article/details/134744894
    2满屏飘字表白代码https://want595.blog.csdn.net/article/details/135037388
    3无限弹窗表白代码https://want595.blog.csdn.net/article/details/134744711
    4李峋同款可写字版跳动的爱心https://want595.blog.csdn.net/article/details/134744191
    5流星雨https://want595.blog.csdn.net/article/details/134747408
    6漂浮爱心https://want595.blog.csdn.net/article/details/134744929
    7爱心光波https://want595.blog.csdn.net/article/details/134747365
    8玫瑰花https://want595.blog.csdn.net/article/details/134747447
    节日系列
    1新春/跨年烟花秀(2022)https://want595.blog.csdn.net/article/details/128727394
    烟花秀(2023)https://want595.blog.csdn.net/article/details/135042880
    粒子烟花https://want595.blog.csdn.net/article/details/136029420
    2圣诞节圣诞礼物https://want595.blog.csdn.net/article/details/135336583
    圣诞树(2022)https://want595.blog.csdn.net/article/details/128428985
    绿色圣诞树(2023)https://want595.blog.csdn.net/article/details/135048607
    粉色圣诞树(2023)https://want595.blog.csdn.net/article/details/135043042
    3冬至大雪纷飞https://want595.blog.csdn.net/article/details/128806017
    4生日生日蛋糕https://want595.blog.csdn.net/article/details/128739755
    5儿童节五彩气球https://want595.blog.csdn.net/article/details/128741043
    6国庆节国庆祝福https://want595.blog.csdn.net/article/details/128740923
    7万圣节万圣礼物https://want595.blog.csdn.net/article/details/128734395
    8愚人节愚人代码https://want595.blog.csdn.net/article/details/128696990
    9中秋节浪漫星空https://want595.blog.csdn.net/article/details/128737284
    10植树节樱花树https://want595.blog.csdn.net/article/details/128700178
    动漫系列
    1名侦探柯南系列柯南https://want595.blog.csdn.net/article/details/134777613
    2喜羊羊与灰太狼系列喜羊羊https://want595.blog.csdn.net/article/details/134778583
    懒羊羊https://want595.blog.csdn.net/article/details/134847642
    灰太狼https://want595.blog.csdn.net/article/details/135335303
    小灰灰https://want595.blog.csdn.net/article/details/135335445
    小香香https://want595.blog.csdn.net/article/details/135056783
    3海绵宝宝系列海绵宝宝https://want595.blog.csdn.net/article/details/134847364
    4哆啦A梦系列哆啦A梦https://want595.blog.csdn.net/article/details/135037884
    5HelloKitty系列hellokittyhttps://want595.blog.csdn.net/article/details/135337732
    6Tom&Jerry系列Tom&Jerryhttps://want595.blog.csdn.net/article/details/135337775
    7草莓熊系列草莓熊https://want595.blog.csdn.net/article/details/135337832
    8皮卡丘系列迷你皮卡丘https://want595.blog.csdn.net/article/details/135337911
    高级皮卡丘https://want595.blog.csdn.net/article/details/135337937
    豪华皮卡丘https://want595.blog.csdn.net/article/details/135337947
    9猪猪侠系列猪猪侠https://want595.blog.csdn.net/article/details/136340111
    10超级英雄系列蜘蛛侠https://want595.blog.csdn.net/article/details/129080659
    炫酷系列
    1  一闪一闪亮星星系列张万森下雪了https://want595.blog.csdn.net/article/details/135336915
    一闪一闪亮星星https://want595.blog.csdn.net/article/details/135337049
    2代码雨https://want595.blog.csdn.net/article/details/135054341
    3七彩花朵https://want595.blog.csdn.net/article/details/135056670
    43D星空https://want595.blog.csdn.net/article/details/135056516
    5金榜题名https://want595.blog.csdn.net/article/details/135056150
    6满天星https://want595.blog.csdn.net/article/details/135056305
    ……

    前言

    今天博主给大家带来了有趣的跳动的爱心(双心版),一起来看看吧!

    Turtle简介

    Turtle 是 Python 标准库中的一个模块,用于绘制简单的图形和创建基本的图形用户界面。它借用了 Logo 编程语言中的概念,通过控制一个“海龟”在屏幕上的移动来绘制图形。这个模块非常适合初学者学习编程,因为它提供了一个直观且有趣的方式来理解基本的编程概念,如循环、函数和事件处理。

    Turtle 的基本概念

    Turtle 模块中的“海龟”其实是一个小箭头,它可以在屏幕上移动,并根据指令绘制路径。以下是一些基本的命令:

    •  `forward(distance)`:让海龟向前移动指定距离。
    •  `backward(distance)`:让海龟向后移动指定距离。
    •  `right(angle)`:让海龟向右转动指定角度。
    •  `left(angle)`:让海龟向左转动指定角度。
    •  `penup()` 和 `pendown()`:抬起或放下笔,抬起笔时移动不会绘制线条。

    简单示例

    以下是一个使用 Turtle 模块绘制正方形的简单示例:

    1. import turtle
    2. # 创建一个屏幕对象
    3. wn = turtle.Screen()
    4. wn.title("Turtle 示例")
    5. # 创建一个海龟对象
    6. t = turtle.Turtle()
    7. # 绘制正方形
    8. for _ in range(4):
    9.     t.forward(100)
    10.     t.right(90)
    11. # 完成绘图
    12. wn.mainloop()

    这个示例代码展示了如何创建一个窗口和一个海龟对象,然后使用循环指令绘制一个正方形。`wn.mainloop()` 用于保持窗口打开状态,以便查看绘制结果。

    高级功能

    除了基本的移动和绘图命令,Turtle 模块还支持更高级的功能,如:

    •  **颜色和填充**:使用 `color()` 设置绘图颜色,使用 `begin_fill()` 和 `end_fill()` 创建填充图形。
    • **形状**:海龟的形状可以更改为箭头、圆形、正方形等,使用 `shape()` 方法。
    • **速度**:通过 `speed()` 方法控制海龟的移动速度。
    • **事件处理**:Turtle 支持事件处理,如键盘和鼠标事件,可以使用 `onscreenclick()` 和 `onkey()` 方法进行绑定。 

    应用场景

    Turtle 模块广泛应用于教育领域,尤其是编程入门和算法教学。它通过图形化的方式帮助学生理解抽象的编程概念,同时增加了学习的趣味性。此外,Turtle 也可以用于简单的图形设计和数据可视化,尽管功能较为基础,但它为进一步学习更复杂的图形编程打下了良好的基础。

    总的来说,Turtle 模块是 Python 学习者不可多得的工具,它不仅易于上手,而且功能丰富,能够激发学习者的创造力和编程兴趣。通过不断尝试和练习,学习者可以掌握编程的基本技能,并为深入学习打下坚实的基础。

    Python跳动的爱心

    程序设计

    1. import random
    2. from math import sin, cos, pi, log
    3. from tkinter import *
    4. # Constants
    5. IMAGE_ENLARGE = 11
    6. INNER_HEART_COLOR = "pink"
    7. OUTER_HEART_COLOR = ""
    8. SCATTER_BETA = 0.15
    9. SHRINK_RATIO = 15
    10. CURVE_RATIO = 10
    11. FRAME_DELAY = 160
    12. NUM_POINTS = 2000
    13. NUM_HALO_POINTS = 3000
    14. NUM_EDGE_DIFFUSION_POINTS = 3
    15. HALO_RANDOM_FACTOR = 14
    16. class HeartParameters:
    17. def __init__(self):
    18. self.points = set()
    19. self.edge_diffusion_points = set()
    20. self.center_diffusion_points = set()
    21. self.all_points = {}
    22. # Heart Function
    23. def heart_function(t, shrink_ratio=IMAGE_ENLARGE):
    24. x = 16 * (sin(t) ** 3)
    25. y = -(13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t))
    26. x, y = x * shrink_ratio + CANVAS_CENTER_X, y * shrink_ratio + CANVAS_CENTER_Y
    27. return int(x), int(y)
    28. # Scatter Points
    29. def scatter_points(x, y, beta=SCATTER_BETA):
    30. ratio_x, ratio_y = -beta * log(random.random()), -beta * log(random.random())
    31. dx, dy = ratio_x * (x - CANVAS_CENTER_X), ratio_y * (y - CANVAS_CENTER_Y)
    32. return x - dx, y - dy
    33. # Shrink Points
    34. def shrink_points(x, y, ratio):
    35. force = -1 / (((x - CANVAS_CENTER_X) ** 2 + (y - CANVAS_CENTER_Y) ** 2) ** 0.6)
    36. dx, dy = ratio * force * (x - CANVAS_CENTER_X), ratio * force * (y - CANVAS_CENTER_Y)
    37. return x - dx, y - dy
    38. # Curve Function
    39. def curve(p):
    40. return 2 * (3 * sin(4 * p)) / (2 * pi)
    41. ……

    运行效果

      

    尾声

    我是一只有趣的兔子,感谢你的喜欢!

  • 相关阅读:
    Unity-WebGL基于JS实现网页录音
    asisctf 2023 web hello wp
    手把手带你玩转Spark机器学习-使用Spark进行文本处理
    深入理解JVM(十八)GC日志分析
    进程管理命令 动态监控进程 rpm yum
    全光谱台灯对孩子眼睛好吗有辐射吗?普通台灯和LED灯哪个辐射大
    uniapp微信小程序 new Date() 在ios设备无效问题解决
    图片懒加载
    18.备忘录模式(Memento)
    Java中如何在两个线程间共享数据
  • 原文地址:https://blog.csdn.net/m0_68111267/article/details/139646662
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号