Hallo medegotters,
Met de gd library die in php zit wil ik plaatjes gaan vullen met balletjes van verschillende grootte en niet op een raster maar willekeurig verdeeld over de afbeelding. Het is de bedoeling dat het er ongeveer uit gaat zien zoals de bekende 'Ishihara' tests voor kleurenblindheid:

Deze bollen lijken random neergezet te zijn en een random grootte te hebben en toch evenredig de achtergrondkleur afdekken. In mijn geval laat ik kleur buiten beschouwing. Ik wil een zwart/wit plaat.
De quick en dirty methode die ik bedacht had was een object maken en vullen met zoveel bolletjes dat als je de bollen naast elkaar zou leggen, je een 10x zo grote oppervlakte zou hebben. Daarna pak je een random bal uit die array en controleer je op deze snijpunten heeft met elke andere bol in die array en aan de hand daarvan laat je de betreffende bol staan of haal je hem weg. Dit kwam aardig in de buurt, maar liet toch nog veel lege plekken ontstaan.
Mijn vraag aan jullie is of jullie misschien ideeen hebben om dit elegant op te lossen? Of kennen jullie een methode die dit doet?
Vanzelfspreken bij voorbaat dank
PS aan een mod: of hoort dit in Software Engineering & Architecture thuis?
Met de gd library die in php zit wil ik plaatjes gaan vullen met balletjes van verschillende grootte en niet op een raster maar willekeurig verdeeld over de afbeelding. Het is de bedoeling dat het er ongeveer uit gaat zien zoals de bekende 'Ishihara' tests voor kleurenblindheid:

Deze bollen lijken random neergezet te zijn en een random grootte te hebben en toch evenredig de achtergrondkleur afdekken. In mijn geval laat ik kleur buiten beschouwing. Ik wil een zwart/wit plaat.
De quick en dirty methode die ik bedacht had was een object maken en vullen met zoveel bolletjes dat als je de bollen naast elkaar zou leggen, je een 10x zo grote oppervlakte zou hebben. Daarna pak je een random bal uit die array en controleer je op deze snijpunten heeft met elke andere bol in die array en aan de hand daarvan laat je de betreffende bol staan of haal je hem weg. Dit kwam aardig in de buurt, maar liet toch nog veel lege plekken ontstaan.
Mijn vraag aan jullie is of jullie misschien ideeen hebben om dit elegant op te lossen? Of kennen jullie een methode die dit doet?
Vanzelfspreken bij voorbaat dank
PS aan een mod: of hoort dit in Software Engineering & Architecture thuis?
[ Voor 6% gewijzigd door Jurgle op 24-03-2007 23:46 . Reden: PS erbij ]
My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant