用processing画李萨如曲线
李萨如曲线
有没有对示波器上变化曲线产生过兴趣,它叫做李萨如曲线:
数学上,利萨茹(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画李萨如曲线的更多相关文章
- JavaScript动画实例:李萨如曲线
在“JavaScript图形实例:阿基米德螺线”和“JavaScript图形实例:曲线方程”中,我们学习了利用曲线的方程绘制曲线的方法.如果想看看曲线是怎样绘制出来的,怎么办呢?编写简单的动画,就可以 ...
- 简单而粗暴的方法画任意阶数Bezier曲线
简单而粗暴的方法画任意阶数Bezier曲线 虽然说是任意阶数,但是嘞,算法原理是可以到任意阶数,计算机大概到100多阶就会溢出了 Bezier曲线介绍] [本文代码] 背景 在windows的Open ...
- 用matlab画漂亮的sin曲线
Technorati 标记: matlab,plot 相信大部分用过matlab的人都画过sin曲线,直接plot就可以了,不过呢,plot出来的曲线自然不那么好看,本着绳命在于折腾的原则,小弟学习了 ...
- 画caffe训练loss曲线
Linux下操作 1. 将loss值存储到lossInf.txt中 fName1='loss.txt' cat loss.log | grep "solver.cpp:218] Iterat ...
- caffe-windows画loss与accuracy曲线
参考博客: http://blog.csdn.net/sunshine_in_moon/article/details/53541573 进入tools/extra/文件夹中,修改plot_train ...
- JavaScript图形实例:阿基米德螺线
1.阿基米德螺线 阿基米德螺线亦称“等速螺线”.当一点P沿动射线OP以等速率运动的同时,该射线又以等角速度绕点O旋转,点P的轨迹称为“阿基米德螺线”. 阿基米德螺线的笛卡尔坐标方程式为: r=10*( ...
- 数学图形(2.19) 利萨茹3D曲线
在前面的章节数学图形(1.13) 利萨茹曲线中,写的是二维的利萨茹曲线,这一节,将其变为3D图形. #http://www.mathcurve.com/courbes3d/lissajous3d/li ...
- 精确率与召回率,RoC曲线与PR曲线
在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口 ...
- koch曲线与koch雪花的MATLAB实现
代码 % -- function koch(Ax, Ay, Bx, By) % 控制递归深度 Deepth = ; % 控制图画大小 Size = ; + (By-Ay)^) < Deepth ...
随机推荐
- javascript获取网页宽高,屏幕宽高,屏幕分辨率等
<script> var s = ""; s += "\r\n网页可见区域宽:"+ document.body.clientWidth; s + ...
- 洛谷P2387 [NOI2014]魔法森林(LCT)
魔法森林 题目传送门 解题思路 把每条路按照\(a\)的值从小到大排序.然后用LCT按照b的值维护最小生成树,将边按照顺序放入.如果\(1\)到\(n\)有了一条路径,就更新最小答案.这个过程就相当于 ...
- The Stream of Corning 2( 权值线段树/(树状数组+二分) )
题意: 有两种操作:1.在[l,r]上插入一条值为val的线段 2.问p位置上值第k小的线段的值(是否存在) 特别的,询问的时候l和p合起来是一个递增序列 1<=l,r<=1e9:1< ...
- elementUI table宽度自适应fit
:fit='true' 或者直接为 fit
- DB2 SQL error: SQLCODE: -668, SQLSTATE: 57016, SQLERRMC: 3
在对表load数据之后,表出现如下错误: DB2 SQL error: SQLCODE: -668, SQLSTATE: 57016, SQLERRMC: 3; 错误解释:表处于"装入暂挂& ...
- React-Native实战项目-导航器篇(一)
前言:官方文档已经看了一遍,但印象不是很深,于是在mooc上找了个实战学习项目做一做. 本篇目录: 基础导航练习√ 1.ReactNavigation之createStackNavigator导航器案 ...
- elasticsearch relevance score相关性评分的计算
一.多shard场景下relevance score不准确问题 1.问题描述: 多个shard下,如果每个shard包含指定搜索条件的document数量不均匀的情况下,会导致在某个shard上doc ...
- linux 系统管理--进程管理
目录 linux 系统管理--进程管理 一.进程基本概述 二.监控进程状态 三.进程的优先级[进阶] 四.企业案例,Linux假死是怎么回事 五.后台进程管理 六.系统平均负载[进阶] linux 系 ...
- SP2-0618: Cannot find the Session Identifier.
[oracle@trade1 ~]$ sqlplus user1/user1 SQL*Plus: Release 11.2.0.3.0 Production on Tue Aug 6 14:31:1 ...
- Kaggle数据集下载
Kaggle数据集下载步骤: 安装Kaggle库: 注册Kaggle账户: 找到数据集,接受rules: 在My Account>>API中,点击Create New API Token, ...