李萨如曲线

有没有对示波器上变化曲线产生过兴趣,它叫做李萨如曲线:

数学上,利萨茹(Lissajous)曲线(又称利萨茹图形、李萨如图形或鲍迪奇(Bowditch)曲线)是两个沿着互相垂直方向的正弦振动的合成的轨迹

(参见http://zh.wikipedia.org/wiki/%E5%88%A9%E8%90%A8%E8%8C%B9%E6%9B%B2%E7%BA%BF

代码

   1: //int n=4;

   2: int p=17;

   3: int q=15;

   4:  

   5: int a = displayWidth /2 ;

   6: int b = a;//displayHeight /2 ;

   7:  

   8: int radius = 2;

   9: float miu = 0;//PI / 2 / p;

  10: float miu_max = TWO_PI;

  11: float miu_delta = miu_max / 100;

  12:  

  13: public void setup() {

  14:   size(displayWidth, displayHeight);

  15:   background(0);

  16:   frameRate(2);

  17:   

  18:   a = displayWidth / 5 ;

  19:   b = a ;

  20: }

  21:  

  22: public void draw() {  

  23:  

  24:     miu += miu_delta;

  25:     if (miu >= miu_max)

  26:         miu = 0;

  27: //    if (miu >= miu_max)

  28: //    {

  29: //        miu_delta = -miu_delta;

  30: //        miu += miu_delta;

  31: //    }

  32: //    else if (miu < 0)

  33: //    {

  34: //        miu_delta = -miu_delta;

  35: //        miu += miu_delta;

  36: //    }

  37:     

  38:     fill(0,0,0,250);

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

  40:     

  41:     int last_x = -1;

  42:     int last_y = -1;

  43:     

  44:     for (float theta=0;theta<TWO_PI;theta+=TWO_PI/360)

  45:     {

  46:         int x = (int) (a * sin(p * theta)) + displayWidth /2;

  47:         int y = (int) (b * sin(q * theta + (miu))) + displayHeight /2;

  48:         

  49:         colorMode(HSB, 255);

  50:         stroke(90, 255, 255);

  51:         fill(90, 255, 255);

  52:         

  53:         if (last_x != -1 >> last_y != -1)

  54:         {

  55:             line(last_x, last_y, x, y);

  56:             line(last_x-1, last_y, x-1, y);

  57:         }

  58:         

  59:         last_x = x;

  60:         last_y = y;

  61:  

  62:         //ellipse(x, y, radius, radius);

  63:     }

  64:     

  65: }

截图

 

用processing画李萨如曲线的更多相关文章

  1. JavaScript动画实例:李萨如曲线

    在“JavaScript图形实例:阿基米德螺线”和“JavaScript图形实例:曲线方程”中,我们学习了利用曲线的方程绘制曲线的方法.如果想看看曲线是怎样绘制出来的,怎么办呢?编写简单的动画,就可以 ...

  2. 简单而粗暴的方法画任意阶数Bezier曲线

    简单而粗暴的方法画任意阶数Bezier曲线 虽然说是任意阶数,但是嘞,算法原理是可以到任意阶数,计算机大概到100多阶就会溢出了 Bezier曲线介绍] [本文代码] 背景 在windows的Open ...

  3. 用matlab画漂亮的sin曲线

    Technorati 标记: matlab,plot 相信大部分用过matlab的人都画过sin曲线,直接plot就可以了,不过呢,plot出来的曲线自然不那么好看,本着绳命在于折腾的原则,小弟学习了 ...

  4. 画caffe训练loss曲线

    Linux下操作 1. 将loss值存储到lossInf.txt中 fName1='loss.txt' cat loss.log | grep "solver.cpp:218] Iterat ...

  5. caffe-windows画loss与accuracy曲线

    参考博客: http://blog.csdn.net/sunshine_in_moon/article/details/53541573 进入tools/extra/文件夹中,修改plot_train ...

  6. JavaScript图形实例:阿基米德螺线

    1.阿基米德螺线 阿基米德螺线亦称“等速螺线”.当一点P沿动射线OP以等速率运动的同时,该射线又以等角速度绕点O旋转,点P的轨迹称为“阿基米德螺线”. 阿基米德螺线的笛卡尔坐标方程式为: r=10*( ...

  7. 数学图形(2.19) 利萨茹3D曲线

    在前面的章节数学图形(1.13) 利萨茹曲线中,写的是二维的利萨茹曲线,这一节,将其变为3D图形. #http://www.mathcurve.com/courbes3d/lissajous3d/li ...

  8. 精确率与召回率,RoC曲线与PR曲线

    在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口 ...

  9. koch曲线与koch雪花的MATLAB实现

    代码 % -- function koch(Ax, Ay, Bx, By) % 控制递归深度 Deepth = ; % 控制图画大小 Size = ; + (By-Ay)^) < Deepth ...

随机推荐

  1. 关于tomcat中的三个端口的作用及其相关细节

    [一]端口内容 tomcat的端口号相关信息: Tomcat admin port——管理端口,允许你远程配置tomcat HTTP——正常的http协议 AJP——Apache JServ Prot ...

  2. md5加密 和拉钩网的登录

    #使用requests模块 #1.登录lagou #2.登录人人,保存个人首页 import requests from urllib import parse #hashlib是MD5加密的一个py ...

  3. pyppeteer模块的基本使用

    pyppeteer模块的基本使用 引言 Selenium 在被使用的时候有个麻烦事,就是环境的相关配置,得安装好相关浏览器,比如 Chrome.Firefox 等等,然后还要到官方网站去下载对应的驱动 ...

  4. IE兼容模式下样式分离错乱,求CSS高手

    IE正常模式下访问正常 兼容模式右边图片切换区域样式错乱,求CSS高手! 详细参考网址:www.javams.com

  5. 【BZOJ2138】stone

    题目 好厉害的题啊 这道题不难看成一个二分图模型,但是给人一种求最大匹配的感觉,这实在不是很好求的样子,于是自闭了 但是不妨这样来考虑,对于一个需求\(k_i\),我们求一个最大的\(x\leq k_ ...

  6. /etc/fstab自动挂载文件

    装了Windows 10和Ubuntu双系统,想把win10下的“文娱“盘自动开机挂载到Ubuntu上. 首先你看一下/etc/fstab这个文件喽: 依葫芦画瓢呗.首先看看你要挂载的硬盘是哪一块: ...

  7. C#解惑:HashSet<T>类

    原贴: https://blog.csdn.net/X_X_OO/article/details/52529548 https://www.cnblogs.com/refuge/p/9465466.h ...

  8. iview 分割面板效果(一)基本原理

    方法一: 基本点就是:利用“子绝父相(子元素相对于父元素进行定位)”, 左侧的pane设置为left:0;right:a%, 则右侧的设置为right:0;left:(100-a)%. 如果左右之间有 ...

  9. SQL数据库—<5>视图、索引…简单学习

    视图 掌握:1.视图是个什么东西?2.会建视图,会查视图3.知道视图的主要功能是查询,不是增删除改. 视图的定义: 视图可以认为是从一个数据表或者多个数据表中导出的表,视图本身没有任何数据,它是用来存 ...

  10. js确认末尾字符算法挑战

    检查一个字符串(str)是否以指定的字符串(target)结尾. 如果是,返回true;如果不是,返回false. 这个挑战可以通过在ES2015中引入的.endsWith()方法来解决.但是出于这个 ...