Jitter Fractals


The image creation relies on a video feedback loop with rotation, zooming, position displacement and contrast/luminosity/saturation modifications. The input is the in-built webcam of the computer.

Lately, I modified the software to switch from CPU to GPU processing which really works faster and smoother, but I don’t get the same colors and textures…
I’ll try to find time to make another video.

How did this project use Max?

The objects used in the CPU version are jit.op @op avg, jit.xfade, jit.rota, jit.brcosa, with matrix feedback.



Lars
April 16, 2012 | 8:40 am

Looks amazing – is there a patch you can share?


April 16, 2012 | 10:08 am

I prefer to share the idea more than an already made patch.
It’s very simple technically.

I don’t want to point people to one direction using feedback technique.
If you really don’t find a way to create a video feedback loop, I could share a way to do it…

Thanks for your attention and replay by the way.



William Graham
April 16, 2012 | 8:44 pm

very filthy


April 20, 2012 | 10:56 pm

nice!


January 22, 2013 | 9:33 pm

Hey awesome patch, do you mind explaining how this matrix feedback works?


January 22, 2013 | 10:56 pm

to create a feedback loop in jitter, there’s a little trick, like in msp you need [send~] and [receive~]
I just opened my CPU version and without doubt it’s way better (but way slower too)

so for the feedback loop you need [jit.xfade @in2_name x @out-name x].
the xfade message will control the feedback amount.

you connect your video input to [jit.xfade] in1 then its output to the video processing (in this situation [jit.rota @boundmode 4] and [jit.brcosa]) and the processing output back to [jit.xfade] in2.
a [jit.brcosa] on the output is useful to bring back the luminosity/contrast the feedback loop removes.
voilà.

if you don’t get it, don’t hesitate to ask questions, if you find any nice results, show us.
have fun.



Clayton
January 31, 2013 | 3:06 pm

I just started using Max/Jitter and this has to be the coolest thing I’ve seen so far come from it. I just hope my projects turn out to be this sweet.


February 1, 2013 | 4:24 am

thank you.


October 26, 2013 | 10:37 pm

Hi Bertrand!

Kudos on the awesome patch. I have been interested in video feedback for quite some time now, and am finally trying to create ‘digital feedback’ as opposed to analog using Jitter. I’m just curious – did you manipulate the parameters (zoom, position displacement, etc.) in real time, or were they set to static numbers? I’m a Jitter newbie, so any tips you can provide are most appreciated. Keep up the good work!


October 27, 2013 | 3:23 am

I can tell you quite clearly that the jit.rota was manipulated quite a lot in realtime.

Hope this helps.


October 27, 2013 | 9:26 am

Thanks… I have copied the attribute buttons for the jit.rota object from the jit.rota help file, but I am unsure how to set things up so that these values can be manipulated in real time – right now I am only able to click and drag on the numbers, or enter them manually. I have a midi controller (M Audio Axiom 61) – is there a way to map knobs to control these parameters in real time? Or are there other objects in Max that are well-suited for this purpose? (I’m sure there are).

Thanks again for any insight!


October 27, 2013 | 11:11 am

yeah, those attribute things are problematic, to say the least – they don’t save with presets either, IIRC. Great for prototyping, bad for patching…

do the traditional method instead; message box with "anchor_x $1" and integers coming in there.



t
October 27, 2013 | 11:35 am

wow! great great trick! thanks a lot, awesome!!!

Btw, can someone please explain to me the function of "@in2_name x" and "@out-name x" in jit.xfade? Of course I checked the reference but can’t understand what is going on in this case…

@DCARDELLO: check Max tutorials—>MIDI—>Basics. Or check ctlin object.



t
October 27, 2013 | 11:42 am

it seems it works in the same way without "@in2_name x" and "@out-name x" in jit.xfade…


October 27, 2013 | 12:46 pm

@T the problem that DCARDELLO is describing is the attrui objects that Max creates. They’re great for somethings, but can’t really be controlled sensibly using anything other than a mouse.


October 27, 2013 | 12:49 pm

Oh, and as a tip to the uninitiated, I think the key tweak here is [jit.rota @interp 1]


October 27, 2013 | 9:18 pm

appreciate the tips, all. yes – I am a newbie. to be fixed soon >.<


November 15, 2013 | 11:21 am

I’m also trying to get a fractal effect like this by webcam input, I followed the hints but cannot get the fracal effect. can somebody see what i’m doing wrong or hint me in the right direction?

Attachments:
  1. feedback.maxpat

November 15, 2013 | 12:58 pm

don’t really know how exactly you’d get fractals out of video, but you can get video feedback like so:

<code>

– Pasted Max Patch, click to expand. –

</code>


November 21, 2013 | 6:31 am

I would say the fractals are working like this video but based on the buffering in max and changing the jit.rota function inputs. If someone makes something similar, do share!



Nat
November 21, 2013 | 9:30 am

Wow, just did a small patch with xfade, rota and brcosa, here’s me playing only with the theta param of jit.rota:


November 21, 2013 | 5:29 pm

Simple one using jit.op (max) and jit.rota. Boundmode seems to be key to me. https://www.youtube.com/watch?v=UQmwQtn0d9g



Nat
November 22, 2013 | 8:18 am

Have fun !

<code>

– Pasted Max Patch, click to expand. –

</code>


Viewing 23 posts - 1 through 23 (of 23 total)