good chemistry is complicated,and a little bit messy -LW PerlMonks

### Re: Perl Spots

by YuckFoo (Abbot)
 on Aug 13, 2002 at 22:15 UTC ( #189945=note: print w/replies, xml ) Need Help??

Some explaining:

A finite number of Voronoi points (v-points) are distributed on a plane. Each v-point has an associated neighborhood (v-hood). The v-hood is the set of points nearer to the v-point than any other v-point.

To shade the v-hoods, I find the distances to the nearest two v-points and divide the smallest distance by the next smallest distance (\$best / \$good). This number will always be between 0 and 1. Points in the middle of a v-hood will be close to 0, points near the edge will be close to 1, being nearly the same distance from both points.

Multiplying by 10 and using the integer result gives an index to the @CHARS array.

Random v-points are added in the square with corners at (0,0) and (1,1). To achieve wrapping additional v-points are added in the eight surrounding squares.

So for v-point (.2, .3), these points are added:
(-.8, -.7) (-.8, .3) (-.8, 1.3)
( .2, -.7) ( .2, .3) ( .2, 1.3)
(1.2, -.7) (1.2, .3) (1.2, 1.3)

To see just the borders use:

```my @CHARS = split('', '         #');
For stripes:
```my @CHARS = split('', ' # # # # #');

Replies are listed 'Best First'.
Re: Re: Perl Spots
by smalhotra (Scribe) on Aug 14, 2002 at 01:16 UTC
Quite interesting. I've had a lot of fun playing with this (and not doing the work I'm supposed to be doing). It's fun watching what comes out when you used different values for rand() (:). Also changing @CHARS gives some interesting images. (Try '##########', for example). Coordinate geometry is PERLfectly FUNdamental!

------

```my {\$two_cents = \$_->food} for @thought;
\$will->code for @food or \$\$;

Create A New User
Node Status?
node history
Node Type: note [id://189945]
help
Chatterbox?
 [Discipulus]: good morning again monks! [choroba]: Good morning! [Corion]: I have a rough plan to release an ImageNet classifier in Perl (well, using pretrained data, but still a nice toy) Discipulus is going mad with the new win10 client.. tried mv Cortana /dev/null but no succes [Corion]: Ouch - another pretrained set is available, using images from IMDB and Wikipedia. So I expect interesting results for non-PR images where people are pictured that are not made up [Corion]: Discipulus: Yeah, from my investigations, you can somewhat silence+disable Cortana, but some services of it remain always running unfortunately. What a waste of resources :-/ [Corion]: I hope you had a good weekend still ;)

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2017-09-25 08:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
During the recent solar eclipse, I:

Results (277 votes). Check out past polls.

Notices?