@@ -12,16 +12,19 @@ var frequency = 0;
1212var fillGap = 2.5 ;
1313var c ;
1414
15+ var gradient ;
16+
1517function setup ( ) {
1618 var canvas = createCanvas ( 640 , 360 ) ;
1719 pixelDensity ( 1 ) ;
1820 canvas . parent ( "p5container" ) ;
1921 background ( 200 ) ;
22+ gradient = createImage ( width , height , RGB ) ;
2023 noLoop ( ) ;
2124}
2225
2326function draw ( ) {
24- // loadPixels();
27+ gradient . loadPixels ( ) ;
2528 for ( var i = - 75 ; i < height + 75 ; i ++ ) {
2629 // Reset angle to 0, so waves stack properly
2730 angle = 0 ;
@@ -30,14 +33,37 @@ function draw() {
3033 for ( var j = 0 ; j < width + 75 ; j ++ ) {
3134 py = i + sin ( radians ( angle ) ) * amplitude ;
3235 angle += frequency ;
33- c = color ( abs ( py - i ) * 255 / amplitude , 255 - abs ( py - i ) * 255 / amplitude , j * ( 255.0 / ( width + 50 ) ) ) ;
36+ // c = color(abs(py-i)*255/amplitude;, 255-abs(py-i)*255/amplitude, j*(255.0/(width+50)));
37+ var r = int ( abs ( py - i ) * 255 / amplitude ) ;
38+ var g = int ( 255 - abs ( py - i ) * 255 / amplitude ) ;
39+ var b = int ( j * ( 255.0 / ( width + 50 ) ) ) ;
40+
3441 // Hack to fill gaps. Raise value of fillGap if you increase frequency
3542 for ( var filler = 0 ; filler < fillGap ; filler ++ ) {
36- set ( int ( j - filler ) , int ( py ) - filler , c ) ;
37- set ( int ( j ) , int ( py ) , c ) ;
38- set ( int ( j + filler ) , int ( py ) + filler , c ) ;
43+ var x = int ( j - filler ) ;
44+ var y = int ( py ) - filler ;
45+
46+ var index = ( x + y * width ) * 4 ;
47+ gradient . pixels [ index ] = r ; gradient . pixels [ index + 1 ] = g ; gradient . pixels [ index + 2 ] = b ; gradient . pixels [ index + 3 ] = 255 ;
48+
49+ x = int ( j ) ;
50+ y = int ( py ) ;
51+ index = ( x + y * width ) * 4 ;
52+ gradient . pixels [ index ] = r ; gradient . pixels [ index + 1 ] = g ; gradient . pixels [ index + 2 ] = b ; gradient . pixels [ index + 3 ] = 255 ;
53+
54+ x = int ( j + filler ) ;
55+ y = int ( py ) + filler ;
56+ index = ( x + y * width ) * 4 ;
57+ gradient . pixels [ index ] = r ; gradient . pixels [ index + 1 ] = g ; gradient . pixels [ index + 2 ] = b ; gradient . pixels [ index + 3 ] = 255 ;
58+
59+ //set(int(j-filler), int(py)-filler, c);
60+ //set(int(j), int(py), c);
61+ //set(int(j+filler), int(py)+filler, c);
3962 }
4063 }
4164 }
42- updatePixels ( ) ;
65+ gradient . updatePixels ( ) ;
66+ image ( gradient , 0 , 0 ) ;
67+ noLoop ( ) ;
68+ console . log ( 'complete' ) ;
4369}
0 commit comments