Art

Teaching

Studies

Samfundsdebat

## Teaching.Processing History

September 03, 2008, at 10:06 AM by 130.226.173.87 -
Changed lines 34-46 from:

void setup( ) { background(0); size(400, 400); } void draw( ) { float radius = random(70); fill(random(255), random(255), random(255)); if (dist(mouseX,mouseY,pmouseX,pmouseY) > 1)‏ ellipse(mouseX, mouseY, radius, radius); if (mouseX-pmouseX > 25)‏

```  background(0);
```

}

to:
``` void setup( ) {
background(0);
size(400, 400);
}
void draw( ) {
fill(random(255), random(255), random(255));
if (dist(mouseX,mouseY,pmouseX,pmouseY) > 1)‏
if (mouseX-pmouseX > 25)‏
background(0);
}
```
Changed line 64 from:

to:
``` float radius = random(70);
```
Changed lines 78-84 from:

if (dist(mouseX,mouseY,pmouseX,pmouseY) > 25) {

``` for (int i = 1; i < 11; i = i+1) {
int dx=mouseX-pmouseX;
int dy=mouseY-pmouseY;
```

}};

to:
``` if (dist(mouseX,mouseY,pmouseX,pmouseY) > 25) {
for (int i = 1; i < 11; i = i+1) {
int dx=mouseX-pmouseX;
int dy=mouseY-pmouseY;
}
};
```
September 03, 2008, at 10:04 AM by 130.226.173.87 -
Changed lines 3-4 from:
to:

### Hent og installere

Changed lines 10-11 from:
to:

Changed lines 27-30 from:

to:

### Opgaver og eksempelkode

Introduktion til kode

Denne opgave går ud på at eksperimentere med processing. Start med at kopiere nedenstående kode og kør den som en sketch i processing. Prøv herefter at forklare og modificere koden som angivet nedenfor.

void setup( ) { background(0); size(400, 400); } void draw( ) { float radius = random(70); fill(random(255), random(255), random(255)); if (dist(mouseX,mouseY,pmouseX,pmouseY) > 1)‏ ellipse(mouseX, mouseY, radius, radius); if (mouseX-pmouseX > 25)‏

```  background(0);
```

}

1) Bemærk at sketchen starter med at være helt sort og at man kan male hele sketchen over ved at køre rundt med musen, men at man også kan komme ud for at sketchen bliver sort påny. Hvad skal der til for at sketchen bliver sort?

2) Funktionskaldet fill(x,y,z) indstiller farven, der bruges til udfyldning af efterfølgende figurer. Farven angives i RGB-formatet, dvs. med 3 værdier x, y og z, der angiver hhv. hvor meget rød, grøn og blå, der blandes i farven. Værdierne kan variere fra 0 til 255. Funktionskaldet random(x) giver et tilfældigt tal imellem 0 og x. Hvad gør kaldet fill(random(255), random(255), random(255))?

3) Omskriv programmet så kun en bevægelse imod nederste højre hjørne kan gøre sketchen sort. (Tip overvej at bruge et "logisk og" der angives med to og-tegn, som fx i "if { && } ...")‏

4) Omskriv så der kun varieres imellem blå nuancer og der males på grå baggrund.

5) Bemærk at der er "konteksthjælp" når man bruger processing således at man kan højreklikke på en kommando og derved få en forklaring til denne. Hvad gør ellipse og hvilke argumenter tager den?

6) Med float radius = random(70); sættes en variabel "radius" til en tilfældig værdi imellem 0 og 70. Vil man få det samme resultat, hvis denne linie slettes og der i stedet males med

```  ellipse(mouseX, mouseY, random(70), random(70)); ?
```

(Prøv det (for at være sikre) og kom med et bud på en begrundelse af svaret)‏

7) I processing er der også andre figurer fx rektangler (rect). Prøv at omskrive programmet så der males med kvadrater/rektangler i stedet for cirkler/ellipser.

8) Prøv at komme med et bud på hvordan man kan få sketchen til at male med en tilfældig blanding af kvadrater og cirkler. Hvis I ikke lige kan ryste koden ud af ærmet, så nøjes evt. med at overveje hvad princippet kan være?

9) Et sidste problem vedrører et "kast" - dvs. en hurtig bevægelse med musen. Med udgangspunkt i programmet ovenfor kan man indføre et simpelt kast med følgende kode:

if (dist(mouseX,mouseY,pmouseX,pmouseY) > 25) {

``` for (int i = 1; i < 11; i = i+1) {
int dx=mouseX-pmouseX;
int dy=mouseY-pmouseY;
```

}};

Prøv at indsætte denne kode før det sidste "if" i programmet. Giv et bud på hvordan denne kode virker. Hvorfor fås den rigtige retning med kastet? Sporet for kastet varierer med afstanden imellem cirklerne. Hvorfor? Hvordan kan man simpelt få sporets længde (i antal figurer) til at variere?

September 03, 2008, at 09:54 AM by 130.226.173.87 -
Changed lines 10-14 from:

http://isl.ruc.dk/~troels/eksempel2

to:

Opgavesiden med eksporteret applet: http://isl.ruc.dk/~troels/humtek/opgave/

Kode til programmet (linkes også på opgavesiden): http://isl.ruc.dk/~troels/humtek/opgave/sketch_080901b.pde

Tilføjelse vedr spørgsmål 9 (linkes også på opgavesiden): http://isl.ruc.dk/~troels/humtek/opgave/tilfoj_080901b.pde

Hele opgaveteksten i pdf (linkes også på opgavesiden): http://isl.ruc.dk/~troels/humtek/opgave/opgave.pdf

Manual, API http://processing.org

September 02, 2008, at 09:11 AM by 130.226.173.87 -

## Undervisning i programmering på HUM-TEK

Hent det fra http://processing.org eller http://padfield.org/nicolas/div/undervisning/tools/processing-0148.zip (hurtigere)

Lave en mappe uden mellemrum, danske tegn m.v. F.eks. c:\processing Pak zip filen ud (højreklik på filen og vælg Udpak) i mappen.

http://isl.ruc.dk/~troels/eksempel2

## Avanceret:

July 24, 2008, at 12:53 AM by 87.53.225.123 -
Changed line 3 from:
to:
July 24, 2008, at 12:48 AM by 87.53.225.123 -
Changed line 3 from:
to:
July 24, 2008, at 12:44 AM by 87.53.225.123 -
Changed line 3 from:
to:
July 24, 2008, at 12:41 AM by 87.53.225.123 -
Changed line 3 from:
to:
July 24, 2008, at 12:40 AM by 87.53.225.123 -
Changed line 3 from:
to:
July 24, 2008, at 12:39 AM by 87.53.225.123 -
Changed lines 1-3 from:
to:
July 24, 2008, at 12:14 AM by 87.53.225.123 -