Mapping 2D and 3D - Sign and Adjustment Conventions

In my 16 x 16 zig-zag wired matrix the string begins at the upper right, ends at lower right. I believe this is reverse of the norm ? Is it expressed implicitly in the matrix mapper? I do not see it explicitly expressed.

Second thing - The following may be used to center matrix operations -

export function render2D(index, x, y) {

x -= 0.5; y -=0.5;

I not clear as to the sign of the adjustment. Seems like it should be an addition not subtraction…
Can anyone help with switching my thinking around on this?

By extension I’d be interested in hearing of clarification on 3D-mappiung sign conventions and adjustments.


Quite simple really.

If X and Y are normalized to 0…1 (0…1 being a value between those), then you lose the easy ability to use basic math and normal graphing where 0,0 is the origin point.

By subtracting 0.5 from each, you make the range run from -0.5 thru 0 to .5, and now the middle of the matrix is the origin point, and doing things like “Draw a circle by finding all points where X squared + Y squared = desired radius squared” all just works as expected


For right to left in the mapping tool, negate X used in the array (just add a - symbol). Then increasing values of X become more negative (to the left). The units will still get normalized back to 0-1.

1 Like

@Scruffynerf, @wizard sure appreciate it.

It seems an opportunity to creatively work with origin location, shift a pattern locus around on the canvas.
Lots of things come to mind - iterate on a spiral, do a random walk of sorts… Interesting that he math does not care about the boundaries.
And, now if I need to change direction, just change the sign!
f I have any slight doubt I like to clarify. So, thanks for your kind feedback.

Now back to the store to pick up hinges for that pesky cabinet remodel I volunteered for in my kitchen. Dang, will be so glad when that’s done!

Absolutely. Good idea.