Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Iterating over Blocks of 2-Dim Array

by kvale (Monsignor)
on Apr 01, 2004 at 03:51 UTC ( #341500=note: print w/ replies, xml ) Need Help??


in reply to Iterating over Blocks of 2-Dim Array

Algorithmically, you can think of this as a tensor product of 2 2x2 matrices. In code, you could represent this as

for my $a (0,1) { for my $b (0,1) { print "Quadrant $a,$b:\n"; for my $i (0,1) { for my $j (0,1) { my $row = 2*$a + $i; my $col = 2*$b + $j; print " element $i,$j => matrix coord $row, $col\n"; } } } }
If you wanted to convert in the opposite direction, just use the inverse equations:
for my $row (0..3) { for my $col (0..3) { print "Quadrant ", int($row/2),',',int($col/2); print " Element ", $row % 2,',', $col % 2,"\n"; } }
Update: added inverse operation.

-Mark


Comment on Re: Iterating over Blocks of 2-Dim Array
Select or Download Code
Re: Re: Iterating over Blocks of 2-Dim Array
by Kozz (Friar) on Apr 01, 2004 at 04:11 UTC
    Thank you -- brilliant! I'm also considering how to extend this concept in such a way that it subdivides beyond simple 4-quadrants. Thanks for the inspiration.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://341500]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (14)
As of 2014-10-02 14:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (61 votes), past polls