我的processing学习笔记

合集下载

Processing介绍PPT学习课件

Processing介绍PPT学习课件
始.
上海大学
范乐明
// set the size of the display size(200, 200);
// set the background color to white background(255);
// draw three points along the horizontal axis int spacing = 20; int xPos = width/2; int yPos = height/2; point(xPos-spacing, yPos); point(xPos, yPos); point(xPos+spacing, yPos);
范乐明
built-in functions 内在函数
➢很多内在函数, ➢参考Reference
上海大学
范乐明
shapes
// draw a line from (200,10) to (210,380) line(200, 10, 210, 380);
// use fill() to specify what color should be inside the shape fill(100, 100, 200); // blue // draw a rectangle with the upper left-hand corner at (25,50) // and its width and height both equal to 100 rect(25, 50, 100, 100);

《r语言实战》菜鸟学习笔记(一)

《r语言实战》菜鸟学习笔记(一)

《r语⾔实战》菜鸟学习笔记(⼀)

打算学习⼀下r语⾔(windows),不知道从什么地⽅开始学习,加上本⼈的数理统计基础⽐较薄弱,所以就漫⽆⽬的的从⽹上找教程。

其实我逛的最多的⽹站还是知乎,读了好多很好的答案后,我选择了两本书,《153分钟学会r》《》。前者⼤概扫了⼀眼,不太适合边看书边敲代码(我个⼈⽐较喜欢这种),所以后者就⽐较适合我,这套书还是⽐较适合菜鸟看的,我还看过《集体智慧编程》,很不错。

下⾯开始了第⼀段程序。(博客园没有r语⾔选项,只好⽤plain txt了)

age <- c(1,3,5,2,11,9,3,9,12,3)

weight <- c(4.4,5.3,7.2,5.2,8.5,7.3,6.0,10.4,10.2,6.1)

mean(weight)

plot(age,weight)

q()

代码很简单,不多说了。

这段代码要注意的地⽅有:正斜杠,⼩数点后三位,均匀分布。

setwd("F:/R Code") #如果不存在需要使⽤dir.create()创建⽬录

options()

options(digits=3)

x<-runif(20)

#摘要统计量

summary(x)

#直⽅图

hist(x)

savehistory()

save.image()

q()

接下来就要讨论r语⾔的数据结构了

r语⾔包含了4中数据结构:向量,矩阵,数组和数据框。

1.向量是⼀维的

a <- c(1,2,5,3,6,-2,4)

2.矩阵是⼆维的

cells <- c(1,26,24,68)

rnames <- c("R1","R2")

用processing画一个机器人

用processing画一个机器人

绘制机器人

学习processing的行家都知道有这么一个机器人,名叫P5,在《爱上Processing》这本书里,编者用了8个不同的程序来绘制它。今天我先教大家最简单的一个,同时也是最死板的一个。一不能跑,而不能跳,只是一个静止的机器人的摸样,下面我将给大家展示有关机器人绘制的相关代码以及结果图。

源代码:

size(720,480);

smooth(0);

strokeWeight(2);

background(204);

ellipseMode(RADIUS);

//脖子

stroke(102); //设置画笔为灰色

line(266,257,266,162); //左

line(276,257,276,162); //中

line(286,257,286,162); //右

//天线

line(276,155,246,112); //小

line(276,155,306,56); //中

line(276,155,342,170); //大

//身体

noStroke(); //隐藏画笔

fill(102); //设置填充为灰色ellipse(264,377,33,33); //无重力球体fill(0); //设置填充为黑色

rect(219,257,90,120); //主躯干

fill(102); //设置填充为灰色

rect(219,274,90,6); //灰色条纹

//头部

fill(0); //设置填充为黑色

ellipse(276,155,45,45); //头

fill(255); //设置填充为白色ellipse(288,150,14,14); //大眼睛fill(0); //设置填充为黑色ellipse(288,150,3,3); //瞳孔

linux操作系统课程学习笔记,我的Linux学习笔记·Linux操作系统基础

linux操作系统课程学习笔记,我的Linux学习笔记·Linux操作系统基础

linux操作系统课程学习笔记,我的Linux学习笔记·Linux操作系

统基础

今天的笔记主要是关于Linux操作系统根底的相关学问。那就从我⾯前的电脑开端讲起。

计算机和操作系统

计算机主要包括五个部分:运算器,控制器,存储器,输⼊设备和输出设备。通常,运算器,控制器再加上其他⼀些部件如寄存器等构成了我们通常所说的CPU(central processing unit),存储器则主要是内存。运算器,控制器和存储器可以实现数据的处理.

但是数据从何⽽来,运算之后的结果去往哪⾥?

这就需要输⼊设备和输出设备(I/O设备)。我们通常⽤到的输⼊设备包括键盘⿏标等,输出设备为屏幕,打印机等。值得⼀提的是,计算机中有个叫做硬盘的东西,它并不是存储器,⽽是⼀个I/O设备。在将数据读取到内存时,它是⼀个输⼊设备;⽽将结果保存到磁盘时,它就变成了⼀个输出设备。

这么多设备整合在⼀起,就成了⼀台计算机。它可以接收我们的指令(键盘⿏标),通过运算(CPU),把结果展⽰给我们(屏幕,硬盘等)。

但是这么多硬件是如何协调作⽤,共同完成⼀个任务⽽不会我⾏我素地乱来呢?我们需要⼀个东西,它可以控制硬件有序地⼯作,各⾃执⾏⾃⼰的任务,这个东西就是操作系统(Operating System)。

操作系统是⼀个特殊的软件,它的任务就是硬件管理—控制CPU的运算,控制内存的分配,控制计算机的⼏乎⼀切。假如⼀台电脑没有操作系统,它可能只是⼀个艺术品,或者⼀堆废铁。

⼀个完整的操作系统包括内核和⼀些辅助软件。

内核的主要任务就是进⾏硬件管理,它是⼀个操作系统最基础最底层的东西。内核若想很好地控制硬件并使其发挥相应的功能,需要和硬件相识相知相爱,他俩可以成为完美的⼀对,全都仰仗于驱动的帮忙。驱动是硬件的灵魂,它向操作系统提供了访问和使⽤硬件的接⼝,以便在某项任务中最⾼效地调⽤硬件。

processing的基础语法

processing的基础语法

processing的基础语法processing由两个基本函数构成,setup和draw函数

窗⼝

窗⼝

size();

背景

background()

帧速率

frameRate( );

循环

loop

基本形状

point(x1, y1);

基本形状

线

line(x1, y1, x2, y2);

三⾓形

triangle(x1, y1, x2, y2, x3, y3);

四边形

quad(x1, y1, x2, y2, x3, y3, x4, y4);

矩形

rect(x, y, width, height);

ellipse(x, y, width, height);

扇形

arc(x, y, width, start, stop);

start QUARTER_PI PI HALF_PI

⾃定义图形

⾃定义图形

beginShape();

vertex(x, y);

vertex(x, y);

endShape(CLOSE);

笔触

平滑

smooth() nosmooth()

画笔粗细

strokeWeight()

画笔属性

线线之间的连接模式 strokeJoin(ROUND/BEVEL)

线 strokeCap(ROUND/SQUARE)

颜⾊

颜⾊

fill(r, g, b, alpha);

noFill();

stroke();

noStroke();

图⽚

PImage img;

img = loadImage(“地址”);

image(img,0,0)

保存图⽚

save("a.jpg");

saveFrame("a.gif");

字体

字符

textSize( );

我的processing学习笔记

我的processing学习笔记

楼主作为一个纯粹的工科男,却阴差阳错到了机关坐办公室,沦落为天天写材料为生,内心实在是千万个草泥马在狂奔。为了保持工科男的本性,也为了不被这些无聊的材料压成神经病,决定给自己找点乐趣。去年先是接触了一下arduino,编程完成了一个遥控小车,利用appinventor编了个手机遥控软件,基本实现了在手机屏幕上画图形,小车就在地上按画的路径行走。开始心挺大,想进一步学习做个小四轴,自平衡小车,激光雕刻机等,但是由于现在每天下班第一任务是陪孩子玩,加之学习硬件还是比较烧钱,结果就荒废了。上个月无意中发现了processing,又看了一些大神的作品,觉得很有意思,而且学习软件比学习硬件时间上比较灵活(比如每天中午可以学习半小时),所以决定学习一下,丰富一下自己的业余生活。为了避免再次半途而废特开此贴记录过程(不过还是很难说,哈哈)。

今天先补上前段时间零星学习的内容:

学习用教材:《爱上processing》、《代码本色》。

一、已学习的常用简单命令

1.设置屏幕尺寸:size(宽,高);

2.画点:point(x,y);

3.划线:line(x1,y1,x2,y2);

4.画三角形:triangle(x1,y1,x2,y2,x3,y3);

5.四边形:quad(x1,y1,x2,y2,x3,y3,x4,y4);

6.角度换算为弧度:radians(角度);

7.长方形:rect(x,y,宽,高);

8.椭圆:ellipse(x,y,宽,高);//目前用这个命令用的最多,嘿嘿

9.平滑曲线:smooth();

10.关闭平滑曲线:noSmooth();

详细的processing学习笔记讲解

详细的processing学习笔记讲解

processing 学习第一天笔记

Processing Month第一天连接点第一部分

这篇文章中,我们来看一下如何计算一个圆周上的点的坐标,并将他们连接起来。我们将用灵活的方式来实现基于6个点和18个点的图像

计算

要计算这些点的坐标,必须知道圆上的点数量和圆的半径。本例中,我们将画12个点。

int numPoint = 12;

float radius = 150;

下一步,我们来算一下每个点之间的角度。众所周知一个整圆的角度是360度或2π弧度,所以用360度除以圆上的点数,就得到两点之间的角度。例子中使用了弧度而不是角度,是因为cos()和sin()函数的形参是弧度数,不是角度数。Processing中有一些关于圆和半圆的常量,TWO_PI就代表了常量PI*2。(这里的PVector其实是类型,代表这一个点)

float angle = TWO_PI / numPoint;

for(int i=0 ; i<numberPoints;i++){

float x = cos(angle * i ) * radius;

float y = sin(angle * i ) * radius;

point[i] = new PVector(x,y );

}

我把计算的部分放在了setup()里面,把结果存在了PVector数组里,这样我们就不用在draw 函数里一遍又一遍的计算点的x、y坐标。我还用了一个for循环,用来计算每个点的坐标,**angle*i** 会在每个循环中计算出一个点的坐标。

绘制

Processing

Processing

Processing学习笔记(一)

一、相关介绍:

Processing是一门用来生成图片、动画和交互软件的编程语言。它的思想是简单地谢一行代码,就会在屏幕上生成一个圆。再增加一些代码,圆便能跟着鼠标走。在增加一些代码,圆便会随着鼠标的点击而改变颜色。我们把这称为用代码做草稿(Sketching).你写一行,再加一行,效果随之增加。结果就是用一个个片段合成的程序。

Processing是一种具有革命前瞻性的新兴计算机语言,它的概念是在电子艺术的环境下介绍程序语言,并将电子艺术的概念介绍给程序设计师。她是Java 语言的延伸,并支持许多现有的Java 语言架构,不过在语法(syntax) 上简易许多,并具有许多贴心及人性化的设计。Processing 可以在Windows、MAC OS X、MAC OS 9 、Linux 等操作系统上使用。本软件目前是处于初版测试的阶段,试用版听说最近真的快要出了!以Processing 完成的作品可在个人本机端作用,或以Java Applets 的模式外输至网络上发布。

虽然图形用户界面(GUI)早在二十年前成为主流,但是基础编程语言的教学到今天仍是以命令行接口为主,学习编程语言为什么要那么枯燥呢?人脑天生擅长空间辨识,图形用户界面利用的正是这种优势,加上它能提供各种实时且鲜明的图像式反馈(feedback),可以大幅缩短学习曲线,并帮助理解抽象逻辑法则。举例来说,计算机屏幕上的一个像素(pixel) 就是一个变量值(the value of a variable) 的可视化表现。Processing将Java的语法简化并将其运算结果“感官化”,让使用者能很快享有声光兼备的交互式多媒体作品。

【RNotebook】R学习笔记

【RNotebook】R学习笔记

【RNotebook】R学习笔记

Intro

R为数据分析提供了⽅便的统计功能,可⽤于创建⾼级数据可视化。查看这些资源以了解有关 R 的更多信息:

:下载 R、⽂档和帮助的⽹站

:R 核⼼团队⼿册的链接,包括介绍、管理和帮助

:R 的编码教程集合

:帮助您在 R 中处理数据、图形和统计数据

Python是⼀种通⽤语⾔,可⽤于创建数据分析所需的内容。以下是开始学习 Python 的⼀些资源:

:⼀个⽹站,提供帮助您⼊门的指南

:来⾃ PSF 站点的 Python 3 教程

:Python 的编码教程合集

RStudio

: This web page explains some of the reasons why RStudio is many analysts’ preferred choice for interfacing with R. You’ll learn about the advantages of using RStudio for data analysis, from ease of use to accessibility of graphics and more.

: This online introduction to data analysis and R programming is a good starting point for R and RStudio users. It also includes a list of detailed explanations about the advantages of using R and RStudio. You’ll also find a helpful guide for getting set up with RStudio. Online communities

Python学习笔记4

Python学习笔记4

Python学习笔记4:编写一个窗口程序

上节我们主要学习的是Python的数据和变量。关于Python的逻辑控制、运算符等在没有“应用”这个层面上起作用的话,不足以引发我们对程序的热情,所以我们就不循规蹈矩了,而是直捣黄龙,敲开应用程序的大门:编写一个窗口程序,并以此为突破开,来学习Python的一些基础知识。

Python是一个模块化的脚本语言,所以要想编写一个“窗口”自然离不开安装“窗口模块”(图形用户界面-->GUI)。

Python“安装”模块用到的命令是:pip。这个命令在Python目录下的Scripts 目录中。以我的计算机为例的完整目录是:

C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts

pip命令的使用格式是:

pip install 模块文件的完整路径及文件名

下面我们把安培wxPython(Python的一种“窗口”模块)的完整过程写出来,以供参考。

1、确定你的Python版本号(版本不对,安装不上)

看它的图标上定着:IDLE (Python 3.8 64-bit),这里的“3.8”就是版本号。如果不信,你可以运行它:

2、下载

网址:https:///project/wxPython/#files

选择对应版本的whl文件下

之后把下载的文件考贝到一好输入的路径下(为了输入方便,我是把它放在D:根目录下了)。

3、安装

Win(键)+R (运行)cmd回车

输入:cd C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts

八年级下册英语第一单元3a笔记

八年级下册英语第一单元3a笔记

八年级下册英语第一单元3a笔记

I believe note-taking is an important skill for students to master. By taking effective notes, students can better understand and remember the content they are learning. For example, when a teacher is giving a lecture, taking notes allows students to capture key points and important information for later review and study. It also helps them stay engaged and focused during the lesson.

我相信做笔记是学生必须掌握的重要技能。通过有效地做笔记,学生可以更好地理解和记住他们正在学习的内容。例如,当老师在讲课时,做笔记可以帮助学生抓住关键点和重要信息,供以后复习和学习之用。它还能帮助他们在课堂上保持专注和投入。

In addition, note-taking can improve students' critical thinking skills. When students take notes, they are actively processing information and deciding what is important to include. This process requires them to analyze and evaluate the content, which can help them develop their critical thinking abilities. By organizing information and creating their own summaries, students are engaging with the material in a deeper way.

Processing学习笔记(三)

Processing学习笔记(三)

5/响应

那些响应鼠标、键盘和其他设备输入的代码应该连续地运行。要做到这样,在draw()函数中写下这些更新的代码。

示例5-1:draw()函数

要看看draw()函数是怎么运行的,试着运行这个程序:

void draw()

{

//在控制台显示帧数

println("I'm drawing");

println(frameCount);

}

将会看到:

它是动态的

示例5-2:setup()函数

为了完成循环的draw()函数,Processing有一个setup()函数,在程序运行开始时运行一遍。

void setup()

{

println("I'm drawing");

}

void draw()

{

println("I'm running");

}

代码运行时,在控制台上会有如下输出:

文本“I’m running”会一直持续地被写到控制台上,直到程序结束。

示例5-3:当setup()遇到draw()函数

下面的例子把以上讲的两个函数都放在一起:

int x=280;

int y=-100;

int diameter=380;

void setup()

{

size(480,120);

smooth();

fill(102);

}

void draw()

{

background(204);

ellipse(x,y,diameter,diameter);

}

图示:

跟随

既然我们可以让我们的程序持续地运行了,那么我们就可以跟踪鼠标的位置然后使用得到的这些数值来移动屏幕上的元素。

示例5-4:跟踪鼠标

mouseX变量保存着X轴的值,mouseY变量保存着Y轴的值。

SAPPP学习笔记

SAPPP学习笔记

SAPPP学习笔记

MRP控制参数–计划⽂件与处理代码(Processing key)

花⼏个篇幅研究下运⾏MPS/MRP的控制参数,这些很关键的控制参数,但⼜很少有⼈能把逻辑关联弄的很清楚。

NETCH(净变化计划):即只计划上次计划以后计划相关内容发⽣变动的物料(注意,某些物料的参数发⽣变动了,系统也认为计划内容没发⽣变动)

NETPL(计划周期内的净变化计划):即只在计划周期内执⾏净变化计划,周期外将不进⾏计划

NEUPL(重新计划)所有的物料不管有没有变动都再次计划。

⾸先要介绍两个概念:

1. 运⾏类型(Planning run type): 即处理代码(Processing key),决定了那些物料参与MRP运算

2. 计划⽂件(Planning file):是⼀个包含所有物料清单的⽂件,⼀旦物料的变更与需求计划相关,与⾃动更新⽂件中的字段. 简单来说,计划⽂件决定了每次MPS/MRP运算时,有哪些物料

参与,以何种运算逻辑(MPS/MRP)等等.

所以,SAP在运⾏MPS/MRP运算时的第⼀个步骤就是读取计划⽂件.有很多SAP顾问可能

还不知道有计划⽂件这个东东吧,嘿嘿, 讲到这⾥,介绍和计划⽂件相关的4个事务代码:

1.MD20–创建计划⽂件

2.MD21 –显⽰计划⽂件

3.MDAB –在后台创建计划⽂件

4.MDRE –计划⽂件⼀致性检查

以上4个事务代码看名字就知道⽤途,不再赘述,这⾥稍微提⼀下MDRE(计划⽂件⼀致性检查)的⽤途. 计划⽂件⼀旦创建,在SAP中是永久存在的,对物料主数据的更新等动作只会更

SAPPP学习笔记

SAPPP学习笔记

SAPPP学习笔记

花几个篇幅研究下运行MPS/MRP的操纵参数,这些很关键的操纵参数,但又很少有人能把逻辑关联弄的很清晰。

➢NETCH(净变化计划):即只计划上次计划以后计划有关内容发生变动的物料(注意,某些物料的参数发生变动了,系统也认为计划内容没发生变动)

➢NETPL(计划周期内的净变化计划):即只在计划周期内执行净变化计划,周期外将不进行计划

➢NEUPL(重新计划)所有的物料不管是否具有变动都再次计划。

首先要介绍两个概念:

1. 运行类型(Planning run type): 即处理代码(Processing key),决定了那些物料参与MRP运算

2. 计划文件(Planning file):是一个包含所有物料清单的文件,一旦物料的变更与需求计划有关,与自动更新文件中的字段. 简单来说,计划文件决定了每次MPS/MRP运算时,有什么物料

参与,以何种运算逻辑(MPS/MRP)等等.

以上4个事务代码看名字就明白用途,不再赘述,这里略微提一下MDRE(计划文件一致性检查)的用途. 计划文件一旦创建,在SAP中是永久存在的,对物料主数据的更新等动作只会更

新相应计划文件中的字段,因此一旦有计划物料变为非计划物料,这些物料的计划文件就是

垃圾资料,不但会影响MPS/MRP运行的速度,还有可能造成错误,MDRE的作用就是一致性检查后删除这些无用的计划文件.

接下来我们来看看计划文件毕竟是啥样的,丑媳妇总要见公婆.

记录类型: 虚拟件为D,其他物料为B

低层代码:由物料主数据与在BOM中的层次决定,属于MRP展开逻辑的理论知识,有兴趣的自己研究吧,能够不用过多关注.

processing !的用法

processing !的用法

processing !的用法

Processing是一种编程语言和开发环境,被广泛应用于艺术、设计和互动媒体的创作中。它是一种基于Java的开发工具,专注于可视化和互动设计,主要用于创建图形、动画和交互式作品。在这篇文章中,我将详细介绍Processing的用法,以及它在创作中的重要性和应用领域。

一、Processing的基本介绍

Processing是由Casey Reas和Ben Fry于2001年创建的一种开源编程语言和开发环境。它的目标是使编程更加易学易用,同时提供丰富的图形和交互功能。

Processing的开发环境提供了一个称为Processing IDE的集成开发环境。它包含一个文本编辑器、编译器和运行时环境,可以直接在其中编写、运行和调试Processing代码。

Processing的语法和Java非常相似,这使得学习Processing对于已经熟悉Java的开发者来说相对容易。同时,Processing还提供了一系列简化的函数和库,使得可视化和互动设计更加直观和便捷。

二、Processing的基本语法和函数

1. 变量和数据类型:和大多数编程语言一样,Processing支持各种常见的数据类型,例如整数(int)、浮点数(float)、字符串(String)等。变量的声明和赋值也非常简单直接。

2. 条件语句和循环:Processing支持常见的条件语句(if-else语句)和循环结构(for循环、while循环等),这使得程序可以根据不同的条件执行不同的操作,或者重复执行一段代码块。

Matlab数学建模学习笔记——插值与拟合

Matlab数学建模学习笔记——插值与拟合

Matlab数学建模学习笔记——插值与拟合

⽬录

插值与拟合

插值和拟合的区别

图⽚取⾃知乎⽤户yang元祐的回答

插值:函数⼀定经过原始数据点。

假设f(x)在某区间[a,b]上⼀系列点上的值

y_i=f(x_i),i=0,1,\dots,n。

插值就是⽤较简单、满⾜⼀定条件的函数\varphi(x)去代替f(x)。插值函数满⾜条件

\varphi(x_i)=y_i,i=0,1,\dots,n

拟合:⽤⼀个函数去近似原函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最⼩。

插值⽅法

分段线段插值

分线段插值就是将每两个相邻的节点⽤直线连起来,如此形成的⼀条折线就是就是分段线性插值函数,记作I_n(x),它满⾜I_n(x_i)=y_i,且I_n(x)在每个⼩区

间[x_i,x_{i+1}]上是线性函数(i=0,1\dots,n-1)。

I_n(x)可以表⽰为I_n(x)=\sum_{i=0}^n y_il_i(x),其中

l_i(x)= \begin{cases} \frac{x-x_{i-1}}{x_i-x_{i-1}},&x\in [x_{i-1},x_i],i \neq 0,\\ \frac{x-x_{i+1}}{x_i-x_{i+1}},&x\in [x_i,x_{i+1}],i \neq n,\\ 0,&其他 \end{cases}

I_n(x)有良好的收敛性,即对x\in [a,b],有

\lim _{n \rightarrow \infin}I_n(x)=f(x)

⽤I_n(x)计算x点的插值的时候,只⽤到x左右的两个点,计算量与节点个数n⽆关。但是n越⼤,分段越多,插值误差越⼩。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

楼主作为一个纯粹的工科男,却阴差阳错到了机关坐办公室,沦落为天天写材料为生,内心实在是千万个草泥马在狂奔。为了保持工科男的本性,也为了不被这些无聊的材料压成神经病,决定给自己找点乐趣。去年先是接触了一下arduino,编程完成了一个遥控小车,利用appinventor编了个手机遥控软件,基本实现了在手机屏幕上画图形,小车就在地上按画的路径行走。开始心挺大,想进一步学习做个小四轴,自平衡小车,激光雕刻机等,但是由于现在每天下班第一任务是陪孩子玩,加之学习硬件还是比较烧钱,结果就荒废了。上个月无意中发现了processing,又看了一些大神的作品,觉得很有意思,而且学习软件比学习硬件时间上比较灵活(比如每天中午可以学习半小时),所以决定学习一下,丰富一下自己的业余生活。为了避免再次半途而废特开此贴记录过程(不过还是很难说,哈哈)。

今天先补上前段时间零星学习的内容:

学习用教材:《爱上processing》、《代码本色》。

一、已学习的常用简单命令

1.设置屏幕尺寸:size(宽,高);

2.画点:point(x,y);

3.划线:line(x1,y1,x2,y2);

4.画三角形:triangle(x1,y1,x2,y2,x3,y3);

5.四边形:quad(x1,y1,x2,y2,x3,y3,x4,y4);

6.角度换算为弧度:radians(角度);

7.长方形:rect(x,y,宽,高);

8.椭圆:ellipse(x,y,宽,高);//目前用这个命令用的最多,嘿嘿

9.平滑曲线:smooth();

10.关闭平滑曲线:noSmooth();

11.设置线宽:strokeWeight(x);

12.背景颜色:background(x,x,x);//只填一个参数为灰度,0为黑255为白;填三个参

数为RGB颜色

13.fill(x,x,x,x)//颜色同上,第四个参数为透明度

14.鼠标当前坐标:mouseX,mouseY

15.上一帧鼠标坐标:pmouseX,pmouseY

16.测量两点之间的距离:dist(x1,y1,x2,y2);

17.mousePressed:布尔量,鼠标按下后为真(true,false)

18.mouseButton:返回值:LEFT,CENTER,RIGHT 用来判断哪个键按下

。。。。。

还有一些图形命令,目前用的还很少,暂时没学。

二、编程格式

1.首先创建不在setup()和draw()函数的变量(全局变量)

2.setup(){…};内的命令执行一遍

3.draw(){…}; 内的命令持续执行

三、面向对象编程

由于《代码本色》完全用的是面向对象的编程方式,而本人大学时学的计算机语言是老掉牙的FORTRAN,基本上就没听说过面向对象的编程,只有重新学习面向对象的编程方法,不过学习了两天,试着编了几个小程序,发现这种编程方法确实很强大。这里就照搬一下《爱上processing》里的描述,具体的还是得自己编几个程才能体会:

class xxx //1.创建一个类

{

int x;//2.添加值域

。。。

float y;

xxx(参数1,参数2.。。。。)//3.添加构建函数

{

…..

}

void xxxx() //4.添加方法

{

…..

}

void yyyyy() //

{

…..

}

}

5.用类声明一个对象:

xxx aa;

6.创建对象并传递参数

aa=new xxx;

先发几个前段时间练习的小程序:

1.弹球:一个小球在屏幕里弹来弹去:

class BouncBall

{

float x;

float y;

int d;

float xspeed;

float yspeed;

BouncBall(float tempX,float tempY,int tempD,float tempXspeed,float tempYspeed) {

x=tempX;

y=tempY;

d=tempD;

xspeed=tempXspeed;

yspeed=tempYspeed;

}

void move()

{

y+=yspeed;

if(x>width||x

{

xspeed=xspeed*-1;

}

if(y>height||y

{

yspeed=yspeed*-1;

}

}

void display()

{

ellipse(x,y,d,d);

}

}

BouncBall ball;

void setup()

{

size(480,480);

smooth();

ball=new BouncBall(width/2,height/2,20,2,2.5);

}

void draw()

{

ball.move();

fill(255,10);

rect(0,0,width,height);

fill(255,0,0);

ball.display();

}

2.加强版弹球,想起以前玩的一个弹砖块的游戏,试着编了一个不完全版的class BouncBall

{

float x;

float y;

int d;

float xspeed;

float yspeed;

BouncBall(float tempX,float tempY,int tempD,float tempXspeed,float tempYspeed) {

x=tempX;

y=tempY;

相关文档
最新文档