当前位置: 首页 > news >正文

长沙理财网站建设网站开发招聘年薪

长沙理财网站建设,网站开发招聘年薪,南通网站建设方案托管,阿里云的wordpress如何设置作者简介#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭#xff1a;低头赶路#xff0c;敬事如仪 个人主页#xff1a;网络豆的主页​​​​​​ 目录 前言 一.所用库 1.random简介 2.math 简介 3.tkinter库的简介 二.实际图 三.… 作者简介一名在校计算机学生、每天分享Python的学习经验、和学习笔记。   座右铭低头赶路敬事如仪 个人主页网络豆的主页​​​​​​ 目录 前言 一.所用库 1.random简介 2.math 简介 3.tkinter库的简介 二.实际图 三.代码部分 1.调用库 2.调整画布 3.爱心生成 4.随机内部扩散 5.抖动 6.自定义曲线函数调整跳动周期 7.爱心类 8.classmethod 装饰的类方法 四.全部源代码 前言 本章将会使用Python实现动态的爱心效果 一.所用库 1.random简介 random库是用于产生并运用随机数的标准库。Python中的主要使用是让其掌握在程序中运用随机数的能力。 random常见随机函数有9个:seed()、random()、randint()、getrandbits()、randrange()uniform()、choice()、shuffle()、sample(). 2.math 简介 math 库是 Python 提供的内置数学类函数库因为复数类型常用于科学计算一般计算并不常用因此 math 库不支持复数类型仅支持整数和浮点数运算。math 库一共提供了 4 个数学常数和 44 个函数。44 个函数分为 4 类包括 16 个数值表示函数、8 个幂对数函数、16 个三角对数函数和 4 个高等特殊函数。 3.tkinter库的简介 Tkinter 是 Python 自带的图形界面库库中包含众多图形界面控件包括 Lable 标签、Button按钮、Radiobutton单选框、Checkbutton复选框、Entry文本框等。借助 Tkinter 库中的各种图形界面控件我们就可以设计出实用的图形界面程序。 二.实际图 三.代码部分 1.调用库 import random from math import sin, cos, pi, log from tkinter import * 2.调整画布 CANVAS_WIDTH 640#画布的宽 CANVAS_HEIGHT 480#画布的宽 CANVAS_CENTER_X CANVAS_WIDTH / 2 CANVAS_CENTER_Y CANVAS_HEIGHT / 2 IMAGE_ENLARGE 11 HEART_COLOR #FFC0CB #ff2121 #引号内修改颜色 3.爱心生成 def heart_function(t, shrink_ratio: float IMAGE_ENLARGE):x 16 * (sin(t) ** 3)y -(13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t))x * shrink_ratioy * shrink_ratiox CANVAS_CENTER_Xy CANVAS_CENTER_Yreturn int(x), int(y)4.随机内部扩散 def scatter_inside(x, y, beta0.15):ratio_x - beta * log(random.random())ratio_y - beta * log(random.random())dx ratio_x * (x - CANVAS_CENTER_X)dy ratio_y * (y - CANVAS_CENTER_Y)return x - dx, y - dy 5.抖动 def shrink(x, y, ratio):force -1 / (((x - CANVAS_CENTER_X) ** 2 (y - CANVAS_CENTER_Y) ** 2) ** 0.6) # 这个参数...dx ratio * force * (x - CANVAS_CENTER_X)dy ratio * force * (y - CANVAS_CENTER_Y)return x - dx, y - dy 6.自定义曲线函数调整跳动周期 def curve(p):return 2 * (2 * sin(4 * p)) / (2 * pi) 7.爱心类 class Heart:def __init__(self, generate_frame20):self._points set() # 原始爱心坐标集合self._edge_diffusion_points set() # 边缘扩散效果点坐标集合self._center_diffusion_points set() # 中心扩散效果点坐标集合self.all_points {} # 每帧动态点坐标self.build(2000)self.random_halo 1000self.generate_frame generate_framefor frame in range(generate_frame):self.calc(frame)def build(self, number):for _ in range(number):t random.uniform(0, 2 * pi)x, y heart_function(t)self._points.add((x, y))for _x, _y in list(self._points):for _ in range(3):x, y scatter_inside(_x, _y, 0.05)self._edge_diffusion_points.add((x, y))point_list list(self._points)for _ in range(4000):x, y random.choice(point_list)x, y scatter_inside(x, y, 0.17)self._center_diffusion_points.add((x, y))8.classmethod 装饰的类方法 staticmethoddef calc_position(x, y, ratio):force 1 / (((x - CANVAS_CENTER_X) ** 2 (y - CANVAS_CENTER_Y) ** 2) ** 0.520) # 魔法参数dx ratio * force * (x - CANVAS_CENTER_X) random.randint(-1, 1)dy ratio * force * (y - CANVAS_CENTER_Y) random.randint(-1, 1)return x - dx, y - dydef calc(self, generate_frame):ratio 10 * curve(generate_frame / 10 * pi) # 圆滑的周期的缩放比例halo_radius int(4 6 * (1 curve(generate_frame / 10 * pi)))halo_number int(3000 4000 * abs(curve(generate_frame / 10 * pi) ** 2))all_points []heart_halo_point set()for _ in range(halo_number):t random.uniform(0, 2 * pi)x, y heart_function(t, shrink_ratio11.6)x, y shrink(x, y, halo_radius)if (x, y) not in heart_halo_point:heart_halo_point.add((x, y))x random.randint(-14, 14)y random.randint(-14, 14)size random.choice((1, 2, 2))all_points.append((x, y, size))for x, y in self._points:x, y self.calc_position(x, y, ratio)size random.randint(1, 3)all_points.append((x, y, size))for x, y in self._edge_diffusion_points:x, y self.calc_position(x, y, ratio)size random.randint(1, 2)all_points.append((x, y, size))for x, y in self._center_diffusion_points:x, y self.calc_position(x, y, ratio)size random.randint(1, 2)all_points.append((x, y, size))self.all_points[generate_frame] all_pointsdef render(self, render_canvas, render_frame):for x, y, size in self.all_points[render_frame % self.generate_frame]:render_canvas.create_rectangle(x, y, x size, y size, width0, fillHEART_COLOR)def draw(main: Tk, render_canvas: Canvas, render_heart: Heart, render_frame0):render_canvas.delete(all)render_heart.render(render_canvas, render_frame)main.after(160, draw, main, render_canvas, render_heart, render_frame 1)if __name__ __main__:root Tk() # 一个Tkcanvas Canvas(root, bgblack, heightCANVAS_HEIGHT, widthCANVAS_WIDTH)canvas.pack()heart Heart()draw(root, canvas, heart)root.mainloop()四.全部源代码 import random from math import sin, cos, pi, log from tkinter import *CANVAS_WIDTH 640 CANVAS_HEIGHT 480 CANVAS_CENTER_X CANVAS_WIDTH / 2 CANVAS_CENTER_Y CANVAS_HEIGHT / 2 IMAGE_ENLARGE 11 HEART_COLOR #FFC0CB #ff2121def heart_function(t, shrink_ratio: float IMAGE_ENLARGE):x 16 * (sin(t) ** 3)y -(13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t))x * shrink_ratioy * shrink_ratiox CANVAS_CENTER_Xy CANVAS_CENTER_Yreturn int(x), int(y)def scatter_inside(x, y, beta0.15):ratio_x - beta * log(random.random())ratio_y - beta * log(random.random())dx ratio_x * (x - CANVAS_CENTER_X)dy ratio_y * (y - CANVAS_CENTER_Y)return x - dx, y - dydef shrink(x, y, ratio):force -1 / (((x - CANVAS_CENTER_X) ** 2 (y - CANVAS_CENTER_Y) ** 2) ** 0.6) # 这个参数...dx ratio * force * (x - CANVAS_CENTER_X)dy ratio * force * (y - CANVAS_CENTER_Y)return x - dx, y - dydef curve(p):return 2 * (2 * sin(4 * p)) / (2 * pi)class Heart:def __init__(self, generate_frame20):self._points set() # 原始爱心坐标集合self._edge_diffusion_points set() # 边缘扩散效果点坐标集合self._center_diffusion_points set() # 中心扩散效果点坐标集合self.all_points {} # 每帧动态点坐标self.build(2000)self.random_halo 1000self.generate_frame generate_framefor frame in range(generate_frame):self.calc(frame)def build(self, number):for _ in range(number):t random.uniform(0, 2 * pi)x, y heart_function(t)self._points.add((x, y))for _x, _y in list(self._points):for _ in range(3):x, y scatter_inside(_x, _y, 0.05)self._edge_diffusion_points.add((x, y))point_list list(self._points)for _ in range(4000):x, y random.choice(point_list)x, y scatter_inside(x, y, 0.17)self._center_diffusion_points.add((x, y))staticmethoddef calc_position(x, y, ratio):force 1 / (((x - CANVAS_CENTER_X) ** 2 (y - CANVAS_CENTER_Y) ** 2) ** 0.520) # 魔法参数dx ratio * force * (x - CANVAS_CENTER_X) random.randint(-1, 1)dy ratio * force * (y - CANVAS_CENTER_Y) random.randint(-1, 1)return x - dx, y - dydef calc(self, generate_frame):ratio 10 * curve(generate_frame / 10 * pi) # 圆滑的周期的缩放比例halo_radius int(4 6 * (1 curve(generate_frame / 10 * pi)))halo_number int(3000 4000 * abs(curve(generate_frame / 10 * pi) ** 2))all_points []heart_halo_point set()for _ in range(halo_number):t random.uniform(0, 2 * pi)x, y heart_function(t, shrink_ratio11.6)x, y shrink(x, y, halo_radius)if (x, y) not in heart_halo_point:heart_halo_point.add((x, y))x random.randint(-14, 14)y random.randint(-14, 14)size random.choice((1, 2, 2))all_points.append((x, y, size))for x, y in self._points:x, y self.calc_position(x, y, ratio)size random.randint(1, 3)all_points.append((x, y, size))for x, y in self._edge_diffusion_points:x, y self.calc_position(x, y, ratio)size random.randint(1, 2)all_points.append((x, y, size))for x, y in self._center_diffusion_points:x, y self.calc_position(x, y, ratio)size random.randint(1, 2)all_points.append((x, y, size))self.all_points[generate_frame] all_pointsdef render(self, render_canvas, render_frame):for x, y, size in self.all_points[render_frame % self.generate_frame]:render_canvas.create_rectangle(x, y, x size, y size, width0, fillHEART_COLOR)def draw(main: Tk, render_canvas: Canvas, render_heart: Heart, render_frame0):render_canvas.delete(all)render_heart.render(render_canvas, render_frame)main.after(160, draw, main, render_canvas, render_heart, render_frame 1)if __name__ __main__:root Tk() # 一个Tkcanvas Canvas(root, bgblack, heightCANVAS_HEIGHT, widthCANVAS_WIDTH)canvas.pack()heart Heart()draw(root, canvas, heart)root.mainloop()创作不易求关注点赞收藏谢谢~
http://www.hkea.cn/news/14257231/

相关文章:

  • 创业给企业做网站开发大连信联科技做的网站怎么样
  • 网站建设saas排名网站开发服务器知识
  • 网站的营销网站怎么添加管理员
  • 英文网站制作 官网网站建设的工作总结
  • 怎么注册网站个人建立网站来网上销售的英文
  • 菏泽网站建设多少钱女生学建筑选择什么专业
  • 学校 网站建设工作小组单片机项目外包网站
  • 杭州做网站哪家便宜wordpress网站有哪些
  • 企业网站流程四川省城乡住房和城乡建设厅网站首页
  • 建站管理后台电子购物网站开发公司
  • 建立校园网站北京装饰公司十大排名
  • 网站建设工作部署会广西网站
  • 网站优化常见的优化技术网站无法做301重定向
  • 深圳住房和建设厅网站山东富泰建设工程有限公司网站
  • 韩国家具网站模板编程网站开发培训
  • 能打开的网站做西点的网站
  • 做的网站怎么申请软件著作权今天山东一例发生在哪里
  • 微信游戏网站源码怎么做湘潭做网站电话磐石网络
  • 博客建站系统做网站就
  • 中国建设银行积分兑换网站网站建设费走什么科目
  • 企业建设企业网站的好处有哪些ip形象设计
  • 2012r2做网站怎样用word2003做网站
  • 假网站怎么做呢网站备案期间如何
  • 制作公司网站的流程浙江建设网查询
  • 友汇网站建设管理后台模板搭建网站
  • 网站关键词指数查询网站建设培训报名
  • 网站做的长图能导出吗东莞seo搜索
  • 深圳有哪些做网站的公司兰州网站seo技术厂家
  • 建网站首选公司凤岗网站建设
  • 建站工具论坛做淘宝网站报告