unicode's picture

@unicode

Compositions

1 year ago
1 year ago
1 year ago
unicode's picture
unicode posted a new Composition, “Toroidal Multiverse
unicode's picture
unicode commented on cymaspace's Discussion, “Freelancers for paid Vuo gigs

Very interested! I'm good at some Vuo stuff and meh at other stuff, so it may depend on the project, but here are a few of my productions to serve as a 'portfolio':

Most of my creations are focused on fractals, recursion, and video feedback, but I welcome other projects too!

unicode's picture

Oh, hey, I just thought of another use case - it's not MY use case, I have no current need to do this, but I think it better illustrates the usefulness of separating the UV texture coordinates from the parametric surface parameters.

Suppose I have several different world-map images, in different projection styles. One is a cylindrical Mercator projection, one is an equal-area Peters projection, perhaps another is in raw spherical coordinates. I want to wrap all of these onto spheres in a geographically accurate way.

In order to do this with the current implementation, it seems like my best bet is to come up with a few different ways of parametrically defining a spherical surface, definitions which produce different amounts of vertex density near the poles vs. near the equator. This math gets tricky very fast, and I might not want geometry with those varying levels of vertex density.

It would be much tidier if, instead, I could define the geometry of the sphere in XYZ-space according to a spherical coordinate system, and give mathematical expressions for X, Y, and Z in terms of latitude and longitude (perhaps ranging from -180 to 180, which simplifies life since the trig function operate in degrees by default) and then separately come up with mathematical expressions which express the U and V coordinates of the map images (perhaps ranging from 0 to 1, consistent with how other 3d packages treat UV) as functions of latitude and longitude as well.

This way I can have more or less texture detail near the equator vs. near the poles, without having to also create higher/lower vertex density in those regions.

(Again, this isn't something I have any pressing need to do right now, but hopefully it illuminates how much more versatile this node could be.)

PS, thanks for all your amazing work!

unicode's picture

The specific task I had in mind when writing this, is creating a banner-like curved surface, and then scrolling an image around that surface, marquee-style. I can work around this by flat-mapping an image onto the entire surface and then using scaled layers and Tile Image nodes to position the image wherever I want (example project enclosed) but this is wasteful. There are tons of texels on this 3d surface being wasted on a flat background colour, and I have less detail in the image area because i've had to scale the image down instead of just positioning it where i want it on the surface.

It would be nice if I could just manipulate the UV mapping of the surface by itself (maybe just by making the V expression a clamped linear function, and making the U expression scroll with time) in order to slide the image around on the surface, without this affecting the position of the surface's points in XYZ space. This would make it unnecessary to do all these image/layer manipulations to the image, and it would also allow saving all the image's detail where it's actually needed.

Flat scaling/scrolling is just a simple example, though. If UV were parameterized just as XYZ is, there's all sorts of other, wilder image-warping stuff we could do on these parametric surfaces too. :)

Pages