built with Processing
// download geomerative from www.ricardmarxer.com/geomerative
//place on your Mac in Documents/Processing/libraries
import geomerative.*;
RFont font;
String SampleText = "I N P U T";
RPoint[] pnts;
void setup() {
frameRate(14);
size(1300, 520);
// initialise library and generate font
// the .ttf file must be placed in the data folder of the sketch
RG.init(this);
font = new RFont("ModuleTextRegular.ttf", 290, RFont.CENTER);
// define points along font outline
RCommand.setSegmentLength (13);
RCommand.setSegmentator(RCommand.UNIFORMLENGTH);
if (SampleText.length() > 0) {
// generate a group of graphics
RGroup grp;
// assign to text
grp = font.toGroup(SampleText);
// get points along font outline
pnts = grp.getPoints();
}
}
void draw() {
background(179, 217, 241);
translate(600, 350); // text's position
for (int i=0; i < pnts.length; i++) { // draw ellipses along font outline
noFill();
ellipse(pnts[i].x + random(mouseY/10), pnts[i].y + random(mouseY/10), 12 + mouseX/6, 12 + mouseX/6);
}
}