代码

   1: int radius = 2;

   2: int[] accumys;

   3: int times = 0;

   4:  

   5: float scale = 1;

   6: int origin = 400;

   7:  

   8: float factor = 1;

   9:  

  10: public void setup() {

  11:   size(displayWidth, displayHeight);

  12:   background(0);

  13:   frameRate(2);

  14:  

  15:   accumys = new int[displayWidth];

  16:   

  17:   for(int i=0;i<displayWidth;i++)

  18:   {

  19:       accumys[i] = 0;

  20:   }

  21:   

  22:   scale = 1;

  23:   origin = displayHeight / 2;

  24:   

  25:   factor = (PI * 3/ displayWidth );

  26: }

  27:  

  28: public void draw() {  

  29:  

  30:     fill(0,0,0,50);

  31:     rect(-1,-1,displayWidth + 1, displayHeight+1);

  32:     

  33:     float k = ++times;

  34:     int last_y = 0;

  35:     for (int i=0;i<displayWidth;i++)

  36:     {

  37:         float t = i;

  38:         float up = sin((2 * k - 1) * factor * t);

  39:         float down = (2 * k - 1) * factor;

  40:         

  41:         accumys[i] += (int) ((float)4 * up / (PI * down));

  42:         

  43:         if (i >= 1)

  44:         {

  45:             colorMode(HSB, 255);

  46:             stroke(90, 255, 255);

  47:             line(i-1, last_y * scale + origin, i, accumys[i] * scale + origin);

  48:             line(i, last_y * scale + origin, i+1, accumys[i] * scale + origin);

  49:         }

  50:         

  51:         last_y = accumys[i];

  52:     }

  53:     

  54: }

截图

 

 

processing模拟三角级数合成方波过程的更多相关文章

  1. 我的Android进阶之旅------>Android通过使用Matrix旋转图片来模拟碟片加载过程

    今天实现了一个模拟碟片加载过程的小demo,在此展示一下.由于在公司,不好截取动态图片,因此就在这截取两张静态图片看看效果先. 下面简单的将代码列出来. setp1.准备两张用于旋转的图片,如下:lo ...

  2. 重学 Java 设计模式:实战备忘录模式「模拟互联网系统上线过程中,配置文件回滚场景」

    作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 实现不了是研发的借口? 实现不了,有时候是功能复杂度较高难以实 ...

  3. 编写Java程序,用套接字编程模拟实现银行认证过程

    需求说明: 某银行一核心服务器部署了一个资金交易来往的系统,为了防止黑客入侵窃取数据,该银行专门开发了一款负责安全认证的智能机器人守护服务器,对外来访问做多重身份认证.现在要求你用套接字编程模拟实现这 ...

  4. C#中一道关于多线程的基础练习题——模拟仓库存销过程

    题目:模拟生产.入库.销售(50分) 假设某企业自产.自存.自销,需要将工厂生产的各类产品不定时的运到仓库,与此同时,需要将仓库中的货物运往超市和商场中进行销售,请编写一个程序模拟此过程(主要是存取这 ...

  5. JAVA模拟Spring实现IoC过程(附源码)

    前言:本人大四学生,第一次写博客,如果有写得不好的地方,请大家多多指正 一.IoC(Inversion of Control)反转控制 传统开发都是需要对象就new,但这样做有几个问题: 效率低下,创 ...

  6. Python使用函数模拟“汉诺塔”过程

    运行效果: 源代码: 1 # -*- coding:utf-8 -*- 2 ##汉诺塔游戏开始 3 _times=0 #用于统计移动次数 4 def hannuota(nlist,mfrom,mpas ...

  7. 使用 C# 编写简易 ASP.NET Web 服务器 ---- 模拟IIS的处理过程

    如果你想获得更好的阅读体验,可以前往我在 github 上的博客进行阅读,http://lcomplete.github.io/blog/2013/07/16/use-csharp-write-asp ...

  8. Python模拟人猜数过程(折半查找)

    import random# (0,1000)随机产生一个数key = random.randint(1,1000)# 用来统计猜的次数count = 0 # 定义一个折半查找的函数def BinSe ...

  9. matlab中使用正弦波合成方波(带动画)

    x=:*pi; :: s=; ::step s = s+/i*sin(i*x); end plot(s);set(figure(),'visible','off'); filename=[num2st ...

随机推荐

  1. 测开之路二十七:Flask基础之动态路由

    参数化,用<变量名> 也可以指定变量类型 类型不对的时候会报错

  2. 微众银行c++选择题后记

    一个类的成员可以有:另一个类的对象,类的自身指针,自身类对象的引用(私有的如何初始化呢,所以不行,换成静态的可以),自身类对象(构造时如何初始化呢?) class A{ public: A(){} A ...

  3. ustc FreeBSD / rust 镜像源

    http://mirrors.ustc.edu.cn/help/ Rust Crates 源使用帮助 地址 https://mirrors.ustc.edu.cn/crates.io-index/ 说 ...

  4. 49.求1+2+3+.......+n

    题目描述:   求1+2+3+...+n的值,要求不能使用乘除法,还有,if,while,for等关键字. 思路分析:   使用递归的解法,但是递归的终止条件需要使用if关键字不符合要求,所以我们利用 ...

  5. kubernetes集群的安装异常汇---docker的驱动引擎

    异常[kubelet cgroup driver:cgroupfs跟docker cgroup driver:systemd不一致] 异常描述 error: failed to run Kubelet ...

  6. 初始 vue

    1.js,jQuery编程范式:命令式编程 vue编程范式:声明式编程 v-for   遍历数组内容 v-on: click   监听点击事件,语法糖 @click el: 类型:string | H ...

  7. WPFの多屏幕问题

    public MainWindow(string sysName, int timeState) { InitializeComponent(); //查找当前屏幕数量 ) { Dispatcher. ...

  8. windows开机自启mysql服务(任务计划程序+XAMPP)

    需求:windows开机自启mysql服务 的需求: 相关工具:win10系统中,使用windows自带的任务计划程序 和 XAMPP软件 完成此需求 XAMPP软件介绍:此软件维护了windows中 ...

  9. 解决mac pro 软件损坏

    1,打开终端 2,输入 sudo spctl --master-disable 3,打开系统偏好设置——>安全与隐私——>勾选任何来源

  10. Java缓冲流的优点和原理

    不带缓冲的流的工作原理: 它读取到一个字节/字符,就向用户指定的路径写出去,读一个写一个,所以就慢了. 带缓冲的流的工作原理: 读取到一个字节/字符,先不输出,等凑足了缓冲的最大容量后一次性写出去,从 ...