Last active
April 9, 2016 03:35
-
-
Save Saturn-V/e32045aac8b5e8057c93191fdd4d7067 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var TRIANGLE_WIDTH, TRIANGLE_HEIGHT, NUM_ROWS, TRIANGLE_WIDTH_HALF; | |
function setup() { | |
createCanvas(750, 750); | |
// background('#f9a825'); | |
NUM_ROWS = 8; //Modify me | |
TRIANGLE_WIDTH = height / NUM_ROWS; | |
TRIANGLE_WIDTH_HALF = (TRIANGLE_WIDTH / 2); | |
TRIANGLE_HEIGHT = TRIANGLE_WIDTH; | |
} | |
function draw() { | |
var alt = true; | |
var currentRow = 0; | |
// var currentRowInverse = 0; | |
// var altInverse = true; | |
var y2Inverse = height; //y2 value for inverse triangle | |
for (var y2 = height - TRIANGLE_HEIGHT; y2 >= 0; y1Inverse -= TRIANGLE_HEIGHT, y1 -= TRIANGLE_HEIGHT, y2Inverse -= TRIANGLE_HEIGHT, y2 -= TRIANGLE_HEIGHT, y3Inverse -= TRIANGLE_HEIGHT, y3 -= TRIANGLE_HEIGHT) { | |
currentRow += 1; //Counts rows | |
alt = !alt; //Alternates certain values | |
var y1 = y2 + TRIANGLE_HEIGHT; //y1 value for normal triangle | |
var y1Inverse = y2Inverse - TRIANGLE_HEIGHT; //y1 value for inverse triangle | |
var y3 = y2 + TRIANGLE_HEIGHT; //y3 value for normal triangle | |
var y3Inverse = y2Inverse - TRIANGLE_HEIGHT; //y3 value for inverse triangle | |
//Math crap to determine color of normal triangle | |
var r = 0, g = 0, b = 0; | |
r = (r + (currentRow == 4 ? 121 : 30 * currentRow)); | |
g = (g + (13 * currentRow)); | |
b = (b + (currentRow == 4 ? 45 : 11 * currentRow)); | |
var rowColor = color(38 + r, 77 + g, 115 - b); //set color of row based on above r g b | |
stroke(rowColor); | |
fill(rowColor); | |
var x2Inverse = alt ? 0 : TRIANGLE_WIDTH_HALF; | |
//Determines x1, x2, x3 values for normal triangle | |
for (var x2 = alt ? TRIANGLE_WIDTH_HALF : 0; x2 <= width; x1 += TRIANGLE_WIDTH, x2 += TRIANGLE_WIDTH, x3 += TRIANGLE_WIDTH) { | |
var x1 = x2 - TRIANGLE_WIDTH_HALF; | |
var x3 = x2 + TRIANGLE_WIDTH_HALF; | |
triangle(x1, y1, x2, y2, x3, y3); | |
} | |
//More moath crap to determine color of inverse triangle | |
var rInverse = 0, gInverse = 0, bInverse = 0; | |
rInverse = (rInverse + (currentRow == 4 ? 121 : 30 * currentRow)); | |
gInverse = (gInverse + (13 * currentRow)); | |
bInverse = (bInverse + (currentRow == 4 ? 45 : 11 * currentRow)); | |
//set color of row based on above r g b | |
var rowColorInverse = color(98 + rInverse, 103 + gInverse, 93 - bInverse); | |
stroke(rowColorInverse); | |
fill(rowColorInverse); | |
//Determines x1, x2, x3 values for inverse triangle | |
for (var x2Inverse = alt ? 0 : TRIANGLE_WIDTH_HALF; x2Inverse <= width; x1Inverse += TRIANGLE_WIDTH, x2Inverse += TRIANGLE_WIDTH, x3Inverse += TRIANGLE_WIDTH) { | |
var x1Inverse = x2Inverse - TRIANGLE_WIDTH_HALF; | |
var x3Inverse = x2Inverse + TRIANGLE_WIDTH_HALF; | |
triangle(x1Inverse, y1Inverse, x2Inverse, y2Inverse, x3Inverse, y3Inverse); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Comments:
for (etc)
), you don't need to incrementx1
andx3
(orx1Inverse
andx3Inverse
) because you're making new ones in every loop. (var x1 = ...
etc), so you can chop those statementsx2
andx2Inverse
at the bottom of the while loop