Skip to content

Commit

Permalink
Voronoi Germs (Text Only)
Browse files Browse the repository at this point in the history
A variant of the Voronoi Germs where it only illustrates the text and
not the background.
  • Loading branch information
James Lawrence Turner committed Feb 2, 2015
1 parent 77dba51 commit c2e916b
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 0 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

#### Copyright James Lawrence Turner, 2015, All Rights Reserved

## Voronoi Germs (Text Only) [Sun Feb 1, 2015]
![Voronoi Germs(Text Only)](/voronoi_germs_text_only/output.png?raw=true)

## Voronoi Germs [Sun Feb 1, 2015]
![Voronoi Germs](/voronoi_germs/output.png?raw=true)

Expand Down
Binary file added voronoi_germs_text_only/output.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions voronoi_germs_text_only/sketch.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
mode.id=processing.mode.java.JavaMode
mode=Java
20 changes: 20 additions & 0 deletions voronoi_germs_text_only/urx-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
65 changes: 65 additions & 0 deletions voronoi_germs_text_only/voronoi_germs_text_only.pde
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
class Region {
float x, y;
Region(float x, float y) {
this.x = x;
this.y = y;
}
float distanceTo(float x, float y){
return sqrt(sq(this.x - x) + sq(this.y - y));
}
}

ArrayList<Region> regions;
PShape logo;
PGraphics logoMask;

void setup() {
size(5000,5000);

logo = loadShape("urx-logo.svg");
logo.disableStyle();
logo.scale(width / logo.width);

logoMask = createGraphics(width, height);
logoMask.beginDraw();
logoMask.background(0);
logoMask.translate(width / 8, height/4 + height / 16);
logoMask.scale(0.75);
logoMask.fill(255);
logoMask.shape(logo);
logoMask.endDraw();

smooth();
background(color(255));
regions = new ArrayList<Region>();
for(int i = 0; i < 500; i++) {
regions.add(new Region(random(width), random(height)));
}
noLoop();
}

void draw() {
PGraphics output = createGraphics(width,height);
output.loadPixels();
for(int y = 0; y < height; y++) {
for(int x = 0; x < width; x++) {
color c;
c = color(0);
if(logoMask.pixels[y * width + x] == color(255)) {
float distanceToClosestRegion = width;
for(Region r : regions) {
float distance = r.distanceTo(x,y);
if(distance < distanceToClosestRegion) {
distanceToClosestRegion = distance;
}
}
int variance = round(map(distanceToClosestRegion, 0, 120, 150, -50));
c = color(variance, 120 + variance, 200 + variance);
}
output.pixels[y * width + x] = c;
}
println(y);
}
output.updatePixels();
output.save("output.png");
}

0 comments on commit c2e916b

Please sign in to comment.