You could split the string into an array of characters, then use trig to rotate and place them?
here's something to get you started, it doesn't rotate the letters but it arranges them in a circle, if you uncomment the rotate line, you can see how it all goes wrong;
Quote:PFont theFont;
String theString = "Hello World ";
float theRadius=40;
char[] letters = new char[0];
void setup(){
size(300,300);
theFont = loadFont("Bitstream.vlw");
textFont(theFont);
//there's probably a better way of doing this bit;
for(int t=0;t<theString.length();t++){
letters = append(letters,char(theString.charAt(t)));
}
}
void draw(){
background(0);
smooth();
//place the letter
translate(150,150);
float angleStep = 360/theString.length();
for(int t=0;t<theString.length();t++){
float myAng = t*angleStep;
pushMatrix();
float x = sin(radians(180-myAng))*40;
float y = cos(radians(180-myAng))*40;
translate(x,y);
//println(angleStep + ", " + myAng + ", " + x + ", " + y);
//rotate(radians(myAng));
text(letters[t],x,y);
popMatrix();
}
}
maybe one of the more expert members will be able to help a bit more.
EDIT: ah, i wrote mine while classic posted that, kinda makes mine irrelevant!
Martin