Programming for Artists, Autumn 2004

Task 2 - Line Drawing Program

 
 

 

 
 
 

#include "Canvas.as"
var C = new Canvas();
C.setBackgroundColor(.11, .0, .15); // Set Background Color to dark purple

var a = .07; // Pole 1 x value
var b = .15; // Pole 2 x value
var cc = .29; // Pole 3 x value
var d = .43; // Pole 4 x value
var e = .54; // Pole 5 x value
var f = .66; // Pole 6 x value
var g = .76; // Pole 7 x value
var h = .92; // Pole 8 x value

// Vertical Pole Coordinates
C.setPenColor(.5,.9,.5); // Set Pole Color to Lighter Green
C.setPenWeight(.011); // Set Pole width
C.drawLine(a,.04, a,.3); // P1
C.drawLine(b,.37, b,.74); // P2
C.drawLine(cc,.19, cc,.46); // P3
C.drawLine(d,.4, d,.85); // P4
C.drawLine(e,.1, e,.28); // P5
C.drawLine(f,.22, f,.43); // P6
C.drawLine(g,.38, g,.74); // P7
C.drawLine(h,.07, h,.38); // P8

// Rays
C.setPenColor(.9,.1,.15) // Set Ray Color to Red
C.setPenWeight(.005); // Set Ray Width
C.drawLine(0,.09, a,.04); / / R1 Set, Precedes Pole 1
C.drawLine(0,.11, a,.04);
C.drawLine(0,.14, a,.04);
C.drawLine(0,.18, a,.04);
C.drawLine(0,.23, a,.04);
C.drawLine(a,.04, b,.37); // R2 Set, Bridges Poles 1 & 2
C.drawLine(a,.04, b,.42);
C.drawLine(a,.04, b,.48);
C.drawLine(a,.04, b,.55);
C.drawLine(a,.04, b,.63);
C.drawLine(b,.37, cc,.19); // R3 Set, Bridges Poles 2 & 3
C.drawLine(b,.42, cc,.19);
C.drawLine(b,.48, cc,.19);
C.drawLine(b,.55, cc,.19);
C.drawLine(b,.63, cc,.19);
C.drawLine(cc,.19, d, .4); // R4 Set, Bridges Poles 3 & 4
C.drawLine(cc,.19, d,.47);
C.drawLine(cc,.19, d,.56);
C.drawLine(cc,.19, d,.64);
C.drawLine(cc,.19, d,.72);
C.drawLine(d, .4, e,.1); // R5 Set, Brdiges Poles 4 & 5
C.drawLine(d, .4, e,.12);
C.drawLine(d, .4, e,.15);
c.drawLine(d, .4, e,.19);
C.drawLine(d, .4, e,.23);
C.drawLine(e,.1, f,.22); // R6 Set, Bridges Poles 5 & 6
C.drawLine(e,.12, f,.22);
C.drawLine(e,.15, f,.22);
C.drawLine(e,.19, f,.22);
C.drawLine(e,.23, f,.22);
C.drawLine(f,.22, g,.38); // R7 Set, Bridges Poles 6 & 7
C.drawLine(f,.22, g,.43);
C.drawLine(f,.22, g,.49);
C.drawLine(f,.22, g,.56);
C.drawLine(f,.22, g,.64);
C.drawLine(g,.38, h,.07); // R8 Set, Bridges Poles 7 & 8
C.drawLine(g,.43, h,.07);
C.drawLine(g,.49, h,.07);
C.drawLine(g,.56, h,.07);
C.drawLine(g,.64, h,.07);
C.drawLine(h,.07, 1,.12); // R9 Set, Follows Pole 8
C.drawLine(h,.07, 1,.15);
C.drawLine(h,.07, 1,.19);
C.drawLine(h,.07, 1,.24);
C.drawLine(h,.07, 1,.30);

// Short Double Slashes on Floating Poles
C.setPenColor(.7,.7,.9); // Set Double Slash Color
C.setPenWeight(.005); // Set Double Slash Width
// P1 Double Slash
C.drawLine(.075,.29, .065,.28);
C.drawLine(.075,.3, .065,.29);
// P3 Double Slash
C.drawLine(.295,.45, .285,.44);
C.drawLine(.295,.46, .285,.45);
//P5 Double Slash
C.drawLine(.545,.27, .535,.26);
C.drawLine(.545,.28, .535,.27);
//P6 Double Slash
C.drawLine(.665,.42, .655,.41);
C.drawLine(.665,.43, .655,.42);
//P8 Double Slash
C.drawLine(.925,.37, .915,.36);
C.drawLine(.925,.38, .915,.37);

// Lower Poles Additions
C.setPenColor(.7,.7,.9) // Set Lower Pole Additions Color
C.setPenWeight(.01) // Set Lower Pole Additions Width
// P2
C.setPenColor(.7,.1,.1) // Set Horizontal 1 Color
C.drawLine(.13,.75, .17,.75); // Horizontal 1
C.setPenColor(.7,.3,.3) // Set Horizontal 2 Color
C.drawLine(.14,.76, .16,.76); // Horizontal 2
C.setPenColor(.7,.5,.5) // Set Verticle Color
C.drawLine(.15,.77, .15,.91); // Verticle
C.setPenColor(.7,.7,.9) // Set Diagonal Colors
C.drawLine(.14,.82, .16,.83); // Diagonal Top
C.drawLine(.14,.83, .16,.84); // Diagonal Middle
C.drawLine(.14,.84, .16,.85); // Diagonal Bottom
// P4
C.setPenColor(.7,.1,.1) // Set Horizontal 1 Color
C.drawLine(.41,.86, .45,.86); // Horizontal 1
C.setPenColor(.7,.3,.3) // Set Horizontal 2 Color
C.drawLine(.42,.87, .44,.87); // Horizontal 2
C.setPenColor(.7,.5,.5) // Set Verticle Color
C.drawLine(.43,.88, .43,1); // Verticle
C.setPenColor(.7,.7,.9) // Set Diagonal Colors
C.drawLine(.42,.94, .44,.95); // Diagonal top
C.drawLine(.42,.95, .44,.96); // Diagonal middle
C.drawLine(.42,.96, .44,.97); // Diagonal bottom
// P7
C.setPenColor(.7,.1,.1) // Set Horizontal 1 Color
C.drawLine(.74,.75, .78,.75); // Horizontal 1
C.setPenColor(.7,.3,.3) // Set Horizontal 2 Color
C.drawLine(.75,.76, .77,.76); // Horizontal 2
C.setPenColor(.7,.5,.5) // Set Verticle Color
C.drawLine(.76,.77, .76,.91); // Verticle
C.setPenColor(.7,.7,.9) // Set Diagonal Colors
C.drawLine(.75,.81, .77,.82); // Diagonal Top
C.drawLine(.75,.82, .77,.83); // Diagonal Middle
C.drawLine(.75,.83, .77,.84); // Diagonal Bottom

// P2, P4, P5, P7 Ray Intersection Markers
C.setPenColor(.7,.9,.7) // Set Intersection Marker Color
C.setPenWeight(.001) // Set Intersection Marker Width
//P2 Ray Intersection Markers
C.drawLine(.14, .37, .16,.37);
C.drawLine(.14, .42, .16,.42);
C.drawLine(.14,.48, .16,.48);
C.drawLine(.14,.55, .16,.55);
C.drawLine(.14,.63, .16,.63);
//P4 Ray Intersection Markers
C.drawLine(.43,.4, .44,.4);
C.drawLine(.43,.47, .44,.47);
C.drawLine(.43,.56, .44,.56);
C.drawLine(.43,.64, .44,.64);
C.drawLine(.43,.72, .44,.72);
//P5 Ray Intersection Markers
C.drawLine(.535,.1, .545,.1);
C.drawLine(.535,.12, .545,.12);
C.drawLine(.535,.15, .545,.15);
C.drawLine(.535,.19, .545,.19);
C.drawLine(.535,.23, .545,.23);
//P7 Ray Intersection Markers
C.drawLine(.75,.38, .77,.38);
C.drawLine(.75,.43, .77,.43);
C.drawLine(.75,.49, .77,.49);
C.drawLine(.75,.56, .77,.56);
C.drawLine(.77,.64, .77,.64);