Cloud of random letters

Hi there

I have done this chart with letters but what I really want yo do its a cloud with hundred of letters disorganized around the screen. How could I do something like that?

Thanks

size(1000,1000);
background(255);


for (int x = 0; x < 1000; x += 30) {
for (int y = 0; y < 1000; y += 30) {

char c = 33;
c += random(93);

fill(random(256), random(256), random(256)); 
textSize(28);
text(c,x,y); 


} 

}

Hi @humano,

Maybe you can combine it with circle packing algorithm and put the characters into the circles with different sizes corresponding to the circle sizes.

Cheers
— mnse

1 Like

Hi

Play with this

1 Like

Thanks , but I was thinking about something much easier, like

size(1000,1000);
 
 for(int i=0; i<30; i = i + 1){
 float x1 = random(width);
 float y1 = random(height);
 strokeWeight(30);
 fill(random(255),random(255),random(255));
 point (x1,y1); 
 }

You can insert these lines into the last Sketch!

And then use text(c, …

Perfecto! Si I have something like that, that is near of what I have on my mind, but I am looking for something less homogenic


size(1000,1000);
background(255);

size(1000,1000);
 
 for(int i=0; i<200; i = i + 1){
 float x1 = random(width);
 float y1 = random(height);

 
 char c = 33;
 c += random(93);

 fill(random(256), random(256), random(256)); 
 //textSize(28);
 text(c,x1,y1); 
 if(random(1)>0.5) { 
   textSize(random(20,40)); 
   } 
   else{ 
     strokeWeight(10); 
   } 
 }


I would like to achieve a distribution like this

So I have tried with this code but I don’t know how to make distribution more heterogéneos everywhere on the screen

float u = 0;
float v = 0;
float w = 0;
size(1000,1000);
background(255);




for (int x = 0; x < 1000; x += 30) {
for (int y = 0; y < 1000; y += 30) {
u = u + 0.1;
v = v + 0.11;
w = w + 0.1;
float n = noise(u) * width;
float m = noise(v) * width;
float l = noise(x/100.0,y/100.0)*10;
strokeWeight(l);
//translate(600,600);
//rotate(PI/2.0);

char c = 33;
 c += random(93);

fill(random(256), random(256), random(256)); 

 text(c,n,m); 
 if(random(1)>0.5) { 
   textSize(random(20,40)); 
   } 
   else{ 
     strokeWeight(10); 
  } 

 } 
 }







I have no idea

sry

Chrisir

Changing the x and y increase inside the loop I can get some interesting effect, but how could I fill all the screen with letters?

float u = 0;
float v = 0;
size(1000,1000);
background(255);


for (int x = 0; x < 1000; x += 30) {
for (int y = 0; y < 1000; y += 90) {
u = u + 0.1;
v = v + 0.11;
float n = noise(u) * width;
float m = noise(v) * width;

//translate(600,600);
//rotate(PI/2.0);

char c = 33;
 c += random(93);

fill(random(256), random(256), random(256)); 

 text(c,n,m); 
 if(random(1)>0.5) { 
   textSize(random(20,40)); 
   } 
   else{ 
     strokeWeight(10); 
  } 

 } 
 }



I think @mnse ‘s suggestion is a good place to start if you’re looking for an all-over distribution.
And then to achieve the overlapping and density use the createGraphics function to create multiple layers.
:nerd_face:

Thanks but I think that example does not work on a Code with noise

And you are using noise because….? :grinning:
I ask bc there may be another approach that allows you more control to achieve the results you want.
:nerd_face:

Random position is so homogeneous

Just for clarity what do you mean by homogeneous?
The example you showed has basically an all over distribution.
With the exception of two lighter areas.
You could also use probability to target areas that you want your letterforms to appear as well.

What I mean is that letters are on the center on the screen and I am trying to create letters beyond límites, as you can ser on that sketch

Ok.
And I think I understand why you might use noise.
However, I also think using noise limits your options and potentially closes other avenues worth exploring.
Like I said before, consider @mnse 's circle packing approach as step one.
Then using createGraphics, you can stack layers and control the all-over density.
:nerd_face:

I Will try to explore that, but I really don’t know if I Will able to understand It with my level. I am starting to use noise and as I beguinner I can not do all the things that I want, but I guess that make that cloud bigger has to be possible. Maybe is too much for this topic, but I Will try to make another tomorrow focused on that.

1 Like

Apart from your other thread:

I can imagine a work-around where you have different islands of letters

The islands overlap and are of different size on the canvas

Each island has letters in a circle

Hi,

If you think the circle mapping is too advanced you can just do this here

Cheers
— mnse