Do you know where your variables are? 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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://189945]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (2)
As of 2022-05-27 00:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Do you prefer to work remotely?

Results (94 votes). Check out past polls.

Notices?