首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

手把手教你使用Python语言的Pygame绘制动图

推上看到一张有意思的图片,黑点在多个交叉的上做圆周运动,看上去会有波浪的效果。想这个Python的Pygame就可以实现啊。马上动手,下面是程序运行的效果: ?...新建文件输入以下内容: # 引入pygame和sys模块 import pygame, sys from pygame.locals import * # 设置窗口宽度和高度 WIDTH = 500...下面是设置窗口的尺寸和标题,这个例子设置的尺寸为宽度500、高度400。接下来设置了两个颜色常量BLACK和WHITE,设置常量为了便于修改。...注意,range的3个参数,第一个表示起始,第二个表示结束,第三个表示步长。第二个参数如果不加上RADIUS,窗口右边和下边的将显示不完成。...第二个pygame.draw.cirlce下增加一行,注意缩进与for x in xs:相同: angle += 0.2 我们让程序每刷新一次,角度增加0.2。

1.9K20

还不会用SQL对数值结果进行格式化?

最近的项目开发,有个业务需求是界面显示的数字需要保留两位小数,目前想到的解决方法有两种: (1)写SQL的时候,直接保留两位小数 (2)java代码里面将查询出来的数进行格式化处理,保留两位小数...先说第一种方案:SQL的处理 使用的oracle数据库,所以有3个函数可以选择,分别是: (1)ROUND(A/B,2) ROUND()函数是会将计算结果进行四舍五入的,如果所需要的值需要进行四舍五入...,第一个是你的计算表达式,第二个是需要保留的小数位数。...例子如下: 3)TO_CHAR(A/B,‘FM99990.99’) TO_CHAR()是一个格式化函数,第一个参数是计算表达式,第二个参数是指定格式化的格式,如果保留两位小数则小数点后写两个99,这里的数字...9代表的数字,也是一个占位符,表示该位置上以后会是一个数字,为什么小数点前面会是一个0,而不是9,是因为如果计算结果小于1,那么只会显示小数点和小数点之后的部分,前面的0会忽略掉 SQL计算,比如

76720
您找到你想要的搜索结果了吗?
是的
没有找到

为什么贝叶斯是量化工作者最常用的工具

举个例子:生病的几率 一种癌症,得了这个癌症的人被检测出为阳性的几率为 90%,未得这种癌症的人被检测出阴性的几率为 90%,而人群这种癌症的几率为 1%,一个人被检测出阳性,问这个人癌症的几率为多少...这个例子到了可能的后验分布是 Beta 分布,看起来感觉有点像正态分布啊,那我们用正态分布作为先验分布可以吗?这个是可以的(所以要学会观察)。...第二个MC:蒙特卡洛方法 虽然蒙特卡洛方法是 MCMC 第二个 MC,但先解释蒙特卡洛方法会更加容易理解。蒙特卡洛方法也称蒙特卡洛抽样方法,其基本思想是通过大量取样来近似得到想要的答案。...有一个经典的试验就是计算圆周率,一个边上为1的正方形画一个内切圆,的面积就是 π,圆面积比上整体的正方形面积也是 ππ, 现在在正方形内产生大量随机数,最后我们只需要计算在内点的个数比上总体点的个数...随便举一例子: 现有一个转换矩阵: 可以看出状态 i 的一个观测值转移到下个状态 j 的分别三个观测值的概率和为1。

49710

canvas进阶——实现Undo和Redo

不知不觉又到了周末,又到了Fly写文章的日子,今天给大家介绍下一个「web」很常见的功能, 就是撤销和复原这样一个功能,对于任何一个画图软件,或者是建模软件。没有撤销和复原。..., 举个例子: 图形相交 首先看上面这张图,如果只改变了圆形的颜色, 那我去做裁剪的时候,首先的裁剪路径肯定是是这个, 但是同时又包含了 黑色矩形的一部分, 如果只对做颜色变化的, 你会发现黑色矩形少了一部分...给你看下 图片: clip裁剪结果 你会发现有点奇怪对吧, 这个时候有人提出了一个问题, 为什么整个呢, 3/4个不好嘛。OK是可以的, 你杠就要在给你举一个例子。...或者说这里为什么要给大家讲一下Boundbox 的概念呢? anyShape 假设在这样的情况下:想做局部渲染, 同时画布还有一个绿色的三角形。那你怎么去计算路径呢 ???..., 首先我们已经画布已经有了这个这是对再一次改变,所以我将这一次的改变用一个map 记录, 重画这个方法 主要是区域裁剪, 但是裁剪我们要去判断 当前图形是不是和其他图形有相交的,如果有相交的

77140

保留两位小数_java怎么保留小数点后两位

最近的项目开发,有个业务需求是界面显示的数字需要保留两位小数,目前想到的解决方法有两种: (1)写SQL的时候,直接保留两位小数 (2)java代码里面将查询出来的数进行格式化处理,保留两位小数...param,第一个是你的计算表达式,第二个是需要保留的小数位数。...例子如下: (3)TO_CHAR(A/B,‘FM99990.99’) TO_CHAR()是一个格式化函数,第一个参数是计算表达式,第二个参数是指定格式化的格式,如果保留两位小数则小数点后写两个...---- 2019年7月25日更新 评论中有人提到一个问题,SQL计算,比如1/10的结果是0.1,但是实际需要得到的结果是0.10,那么用上面的那些方法得到的结果只可以是0.1,不可以是0.10...0和9的区别,具体没找到相关的信息,暂时说一下的想法,0和9应该都是类似于占位符,你实际除的结果的数字一般会替换掉9,但是当你整数部分只有一位且是0的时候,那么你需要在格式化的时候用0来指定格式化的模型

3.7K30

浅谈贝叶斯和MCMC

举个例子:生病的几率 一种癌症,得了这个癌症的人被检测出为阳性的几率为 90%,未得这种癌症的人被检测出阴性的几率为 90%,而人群这种癌症的几率为 1%,一个人被检测出阳性,问这个人癌症的几率为多少...可以看出上面这个例子,B 事件的分布是离散的,所以分母用的是求和符号 ∑ 。那如果我们的参数 θ 的分布是连续的呢?没错,那就要用积分,于是我们终于得到了真正的贝叶斯公式 : ?...这个例子到了可能的后验分布是 Beta 分布,看起来感觉有点像正态分布啊,那我们用正态分布作为先验分布可以吗?这个是可以的(所以要学会观察)。...有一个经典的试验就是计算圆周率,一个边上为1的正方形画一个内切圆,的面积就是 π,圆面积比上整体的正方形面积也是 ππ, 现在在正方形内产生大量随机数,最后我们只需要计算在内点的个数比上总体点的个数...其实这个转移概率 pij 指的只是状态 i 的一个观测值 Xn 到状态 j 的另一个观测值 Xn+1 的概率,其实我们每个状态下许许多多的观测值。随便举一例子: 现有一个转换矩阵: ?

1.4K30

聊一聊贝叶斯和MCMC......

举个例子:生病的几率 一种癌症,得了这个癌症的人被检测出为阳性的几率为 90%,未得这种癌症的人被检测出阴性的几率为 90%,而人群这种癌症的几率为 1%,一个人被检测出阳性,问这个人癌症的几率为多少...可以看出上面这个例子,B 事件的分布是离散的,所以分母用的是求和符号 ∑ 。那如果我们的参数 θ 的分布是连续的呢?没错,那就要用积分,于是我们终于得到了真正的贝叶斯公式 : ?...这个例子到了可能的后验分布是 Beta 分布,看起来感觉有点像正态分布啊,那我们用正态分布作为先验分布可以吗?这个是可以的(所以要学会观察)。...有一个经典的试验就是计算圆周率,一个边上为1的正方形画一个内切圆,的面积就是 π,圆面积比上整体的正方形面积也是 ππ, 现在在正方形内产生大量随机数,最后我们只需要计算在内点的个数比上总体点的个数...其实这个转移概率 pij 指的只是状态 i 的一个观测值 Xn 到状态 j 的另一个观测值 Xn+1 的概率,其实我们每个状态下许许多多的观测值。随便举一例子: 现有一个转换矩阵: ?

1K30

热议:CSS为什么这么难学?一定是你的方法不对

大家好,是零一。前段时间知乎刷到这样一个提问:为什么CSS这么难学?...场景三:决定了,要好好学CSS,打开购物网站搜索:CSS书籍,迅速下单!等书到了,开始每天翻阅学习。...为什么会变成这个样子,似乎还没找到什么规律,再把值改一下试试clip-path: circle(80% at top) 看样子圆心挪到了元素最上方的中间,然后以圆心到最下面边缘长度的80%为半径画了个进行了裁剪...至此我们似乎明白了circle()语法at 后面的数据类型是干什么的了,大概就是用来控制裁剪时画的的圆心位置 剩下的时间就交给你自己来一个一个试验所有的语法了,再举个简单的例子,比如你再试一下clip-path...那么我们此时就可以放心得得出一个结论了,对于像30px、33em这样的 数据类型的值,其对应的坐标是如图所示的 好了,本文篇幅也已经很长了,就不继续介绍其它语法的使用了,刚才纯粹是用来举个例子,因为本文我们本来就不是介绍

45440

热议:CSS为什么这么难学?一定是你的方法不对

大家好,是零一。前段时间知乎刷到这样一个提问:为什么CSS这么难学?...场景三:决定了,要好好学CSS,打开购物网站搜索:CSS书籍,迅速下单!等书到了,开始每天翻阅学习。...为什么会变成这个样子,似乎还没找到什么规律,再把值改一下试试clip-path: circle(80% at top) 看样子圆心挪到了元素最上方的中间,然后以圆心到最下面边缘长度的80%为半径画了个进行了裁剪...至此我们似乎明白了circle()语法at 后面的数据类型是干什么的了,大概就是用来控制裁剪时画的的圆心位置 剩下的时间就交给你自己来一个一个试验所有的语法了,再举个简单的例子,比如你再试一下clip-path...那么我们此时就可以放心得得出一个结论了,对于像30px、33em这样的 数据类型的值,其对应的坐标是如图所示的 好了,本文篇幅也已经很长了,就不继续介绍其它语法的使用了,刚才纯粹是用来举个例子,因为本文我们本来就不是介绍

39810

浅谈贝叶斯和MCMC

举个例子:生病的几率 一种癌症,得了这个癌症的人被检测出为阳性的几率为 90%,未得这种癌症的人被检测出阴性的几率为 90%,而人群这种癌症的几率为 1%,一个人被检测出阳性,问这个人癌症的几率为多少...这个例子到了可能的后验分布是 Beta 分布,看起来感觉有点像正态分布啊,那我们用正态分布作为先验分布可以吗?这个是可以的(所以要学会观察)。...第二个MC:蒙特卡洛方法 虽然蒙特卡洛方法是 MCMC 第二个 MC,但先解释蒙特卡洛方法会更加容易理解。蒙特卡洛方法也称蒙特卡洛抽样方法,其基本思想是通过大量取样来近似得到想要的答案。...有一个经典的试验就是计算圆周率,一个边上为1的正方形画一个内切圆,的面积就是 π,圆面积比上整体的正方形面积也是 ππ, 现在在正方形内产生大量随机数,最后我们只需要计算在内点的个数比上总体点的个数...随便举一例子: 现有一个转换矩阵: 可以看出状态 i 的一个观测值转移到下个状态 j 的分别三个观测值的概率和为1。

81630

机器学习 —— 浅谈贝叶斯和MCMC

举个例子:生病的几率 一种癌症,得了这个癌症的人被检测出为阳性的几率为 90%,未得这种癌症的人被检测出阴性的几率为 90%,而人群这种癌症的几率为 1%,一个人被检测出阳性,问这个人癌症的几率为多少...这个例子到了可能的后验分布是 Beta 分布,看起来感觉有点像正态分布啊,那我们用正态分布作为先验分布可以吗?这个是可以的(所以要学会观察)。...第二个MC:蒙特卡洛方法 虽然蒙特卡洛方法是 MCMC 第二个 MC,但先解释蒙特卡洛方法会更加容易理解。蒙特卡洛方法也称蒙特卡洛抽样方法,其基本思想是通过大量取样来近似得到想要的答案。...有一个经典的试验就是计算圆周率,一个边上为1的正方形画一个内切圆,的面积就是 π,圆面积比上整体的正方形面积也是 ππ, 现在在正方形内产生大量随机数,最后我们只需要计算在内点的个数比上总体点的个数...随便举一例子: 现有一个转换矩阵: 可以看出状态 i 的一个观测值转移到下个状态 j 的分别三个观测值的概率和为1。

1.6K30

快速傅里叶变换(FFT)详解

,首先介绍一些可能会用到的东西 向量 同时具有大小和方向的量 几何通常用带有箭头的线段表示 的弧度制 等于半径长的圆弧所对的圆心角叫做1弧度的角,用符号rad表示,读作弧度。...那么当我们枚举第一个式子的时候,我们可以O(1)的得到第二个式子的值 又因为第一个式子的k取遍 时, 取遍了 所以我们将原来的问题缩小了一半!...但是平常的学习和研究很少用点值表示法来表示一个多项式。...然后根据复数的两条性质(这个思维跨度比较大)得到了一种分治算法。 最后又推了一波公式,找到了点值表示法与系数表示法之间转换关系。...就是按找我们上面说的过程,不断把要求的序列分成两部分,再进行合并 c++的STL中提供了现成的complex类,但是不建议大家用,毕竟手写也就那么几行,而且万一某个毒瘤卡STL那岂不是很GG?

3.8K81

深度学习笔记之奇异值分解及几何意义

经过 M 矩阵变换以后co-domain单位会变成一个椭圆,它的长轴(Mv1)和短轴(Mv2)分别对应转换后的两个标准正交向量,也是椭圆范围内最长和最短的两个向量。 ?...换句话说,定义单位上的函数|Mx|分别在v1和v2方向上取得最大和最小值。这样我们就把寻找矩阵的奇异值分解过程缩小到了优化函数|Mx|上了。...在这个例子第二个奇异值为 0,因此经过变换后只有一个方向上有表达。 M =u1σ1 v1T. 换句话说,如果某些奇异值非常小的话,其相对应的几项就可以不同出现在矩阵 M 的分解式。...经过奇异值分解后,得到 σ1 = 6.04 σ2 = 0.22 由于第一个奇异值远比第二个要大,数据中有包含一些噪声,第二个奇异值原始矩阵分解相对应的部分可以忽略。...之前算是能够运用矩阵分解技术于个性化推荐系统,但理解起来不够直观,阅读原文后醍醐灌顶,想就从SVD能够发现数据的主要信息的思路,就几个方面去思考下如何利用数据中所蕴含的潜在关系去探索个性化推荐系统

1.5K21

JavaScript性能故事:选择可视化方法

结合Chrome堆配置文件的输出和我自己的经验,知道节点自身大小和保留大小至关重要。 也知道需要找出一些代表保留者的方法,因为它们解决内存问题方面发挥了关键作用。   第一个猜测?...结合Chrome堆配置文件的输出和我自己的经验,知道节点自身大小和保留大小至关重要。 也知道需要找出一些代表保留者的方法,因为它们解决内存问题方面发挥了关键作用。   第一个猜测?...渲染force layout的过程,大多数的难题都是来自于需要绘制出节点之间的关联性。如果能找到一个类似的布局,但没有明确地绘制边缘,那么就可以渲染所有需要的节点。   进入包。   ...接下来说一下第二个问题。喜欢圆形布局,认为需要展示给用户的唯一指示是文本列表,以及节点上的数字。...image.png (图片来源:MDN)   来讲一下为什么当初没有选择Treemap的真实原因吧:   Treemaps看起来并不像圆形布局那样具有视觉吸引力;   它太简单了!

48020

为什么 Pi 会出现在正态分布的方程

本篇文章将介绍钟形曲线是如何形成的,以及π为什么会出现在一个看似与它无关的曲线的公式。...自己也看过很多次了,但这次重新看,立刻想到了两个问题: 这东西究竟是如何形成正态分布的? π在那里做什么? 第一个问题似乎很简单也很容易弄清楚:只需要学习方程产生的历史然后将其逐个拼凑起来。...但第二个问题绝对让人感到困惑:正态分布的钟形曲线与有什么关系?在做了一些自己的研究之后,尝试通过这篇文章解释这种联系。 什么是钟形曲线?...事实证明这两个数字几个方面是相关的,包括它们复数系统通过数学中最漂亮的方程之一的关系:e^{iπ} + 1 = 0。虽然这个等式在这里并没有被用到。...希望这篇文章可以让你直观地理解为什么 π 似乎突然出现在与它无关的曲线的公式

96920

TDD 一个简单的例子

我们按照 TDD的1个准备步骤+关键5步来看做一个小例子。 需求: 假设有一个叫Dollar的class, 那它有个方法叫做Times. 现在的目的是要实现这个Times的方法。...,换句话说 也是就如果这些测试都通过的话,就说Times的功能达到了 ?...下面看一下关键5步,我们先测test list的第一个吧,测试的先后顺序一般是 先挑最简单的测 然后再挑难点的 1....那是为什么呢?答案是 我们第二步是稍微跨了一大步,不仅达到了第二步的目的,还做了更多的事情(因为经验让我们写出了这个代码)。那这个时候怎么办呢?...觉得 第三test case的代码保留(第一:因为测试代码另一个目的就是就是作为需求文档,上面单单从一,二两个test case是看不出一般性的需求的,虽然代码实现的是按一般性的需求实现的,可能以后会给其他程序员带来误会

79480

微软阿里实习面经(offer)微软三面阿里面试(6面)

面试过程,面试官非常的nice,非常有耐心,给时间让不断思考优化~ 二面 1.自我介绍 基本情况前面了解差不多了,直接代码 2.(手撕代码)单链表的快速排序 3....二面就手撕两个算法,因为过程中出现网络不太好,第二个算法只写了伪代码。 三面(Leader面) 1.自我介绍 2.问了做过的论文 3....4.聊了聊过去蹉跎的岁月。 三面面试官很温和,nice,面试过程引导,提醒。最后非常感谢面试官对的肯定!...阿里面试(6面) 一面(简历评估面试) 1.自我介绍 2.笔试算法题为什么没有做出来?现在有不有思路? 3.一个先单调递增再单调递减的数组,给一个目标值,判断目标值是否在数组。...4.一个上随机取3个点,这3个点组成锐角三角形的概率。 概率题都是白板上面现场算。

2.4K00

随笔编程杂谈录:

下面的例子希望你可以好好理解一下:怎么逻辑上实现一位二进制的加法的逻辑运算单元 如果你看不下去,就直接return到第6小点 1.与门(AND)和非门(NOT) 你觉得很简单?...5.小结 对使用者而言:哥管你里面什么逻辑,给输入,你给我想要的输出就行了 确实一个封装体就做到了,隐藏内部的逻辑实现,将最简洁的使用方式告诉使用者 下面的一幅图和上面的封装体能完成相同的功能...好了,引入完成,下面进入正文 二、编程初遇封装 1.与class的初遇 两年前,一开始class 以及它 的 private 是非常难理解的 对类的认识是C++里,印象最深的是这个类,从获取的面积开始...,当时疑问: 为什么一行代码解决的事要拆成一个类?...setRadius(double radius); 设置的半径 ----------------------------------------------- 当你非Circle中使用的时候,你的角色就变成了

39520

另一个角度看量子计算:与弹球碰撞的惊人关联

第二个操作不需要有关该目标的任何信息。Grover 发现每次重复该序列时,该目标在混合结构的权重都会增大(尽管这无法被观测到)。...但是,Brown 研究与 Grover 算法相关的问题时看到了数学科普者 Grant Sanderson 做的一个动画,让他注意到了两者之间的相似性。...除了在这两种如此不同的系统之间存在惊人的联系之外,π 在这两种情况究竟发挥了怎样的作用?当然,π 这个无理数最出名的地方是它是的周长与其直径的比,不过它也出现在椭圆以及球等更高维对象的对应比值。...球的碰撞或操作量子系统对应于由这些限定条件定义的上的旋转。 例如,对于两个质量为 m(速度为 v_m)和 M(速度为 v_M)的弹性球,弹性碰撞会保留两者的总动能 ? 。...完全保留大球的动能需要在坐标 v_m 和 v_M 的平面中进行 180° 转向,而 180° 就等于 π 弧度。 类似地,量子系统,观察到某个特定结果的概率正比于对应该结果的「波函数」的平方。

53320

Android 自定义View 画圆(奥运五环)

怎么把画出来的图形显示页面上呢?你会不会思考这些呢?下面一一揭晓,Android通过 Paint 和 Canvas 来画画,啥玩意儿?怎么都没有听说过呢?触及到我的知识盲区!...Paint 这个就是笔,Android也叫画笔,你可以设置画笔的颜色,下面通过表格来看看这个画笔有哪些属性 属性 说明 setAntiAlias 设置画笔的锯齿效果, true是去除,false是不去除...不过你运行之后会是一片空白,因为什么都没有。...* 参数四:画笔对象 */ canvas.drawCircle(150,150,100,paint);//完成 } 相信注释已经很清楚了...我们试着画两个挨着,如果是横向挨着就要使一个的圆心横坐标位置等于另一个的圆心横坐标加上直径的和,刚才我们看到一个横坐标是150,半径是100,那么结果很明显第二个的圆心的位置就是350,这次我们不改变半径大小

1.4K41
领券