Positioning problems when distorting vector coordinates

Tinkering with texture distorting. That’s a simple multiplied radial texture run through a sinus-colorramp.

I tried to use the standard method of adding distortions by mxing the vector coordinates with a noise texture. The result looks quite well, but there is a problem.

As you can see by the axis and the cursor, the texture is no longer centred.

With a normal input from a noise texture, values running from 0 to 1, this was expected. So I tried to offset that by remapping the 0 to 1 range to a -1 to 1 range. That’s what the two lower color-mix nodes are for, and they do their job.

But as you can see, the center is still offset.

Any math-guru who can help me to solve this problem?

Find the coordinates coming out of the coordinate mix ( @ 0.175 ) for an input of 0,0,0 and subtract them from the coordinates coming out of that mix.

Your picture has to do with more than what’s shown here, though. There could be other factors affecting the “center.”

Thank you, that seems like a good idea… but how would I do that?

The rest of the nodes only deal with masking and colour values. They have no influence on the coordinates.

Duplicate your group, send it 0,0,0 instead of object coords, see what you get. Like this:

Making a node group would be a good idea to preserve editability.

Ok, that is definitly worth a try… though it isn’t much different from just fiddling by hand with a mapping node until it fits.

I was hoping for a mathematical solution, as the plan was to animate this texture. But I can understand why this wouldn’t work…

Looks like this going on the growing heap of “Freodin’s weird ideas that went nowhere”. :wink:

It is a mathematical solution. You’re offsetting the entire coordinates by its value at 0,0,0, using the same math you use to generate those coordinates. The advantage over fiddling with a mapping node is that it allows further editing of the parameters.

Hi nice texture can you please share the rest of the nodes?

Sure… the rest is quite simple.
The multiply node leads to a math/modulo node with the second value 1. This is then fed into a colour ramp node where start- and endpoint have the same colour to make it continuous, and other points and methods to your liking. (I used a different setup to produce a sine wave, but that’s completely up to you… and right now I’m too lazy to reconstruct it.)
The value fed into the multiply node defines the number of “streaks”.

That’s all.