Live object distortion

Mar 21, 2006 at 2:08am

Live object distortion

Hi List,

I was wondering if is there a way to link X / Y values from a motion tracking could be applied to distort the shape of and object, like sending info to 3D max or Maya to distort. Or perhaps if its possible to affect the geometry of a object in openGL.
if it is, is it possible to do real time?
Thanks so much!!

tbird

#24989
Mar 21, 2006 at 2:23am

On Mar 20, 2006, at 8:08 PM, Bird wrote:

> I was wondering if is there a way to link X / Y values from a
> motion tracking could be applied to distort the shape of and
> object, like sending info to 3D max or Maya to distort. Or perhaps
> if its possible to affect the geometry of a object in openGL.

You mean like making a donut throb in time to those techno
beats? Andrew Benson regaled our last Max/MSP/Jitter
workshop with this bit of Really Unique Image Processing.
Perhaps by distributing it, more people will decide to do
something else. Please.

See that scale message? There are other messages that
can be sent to the jit.gl.gridshape object. perhaps you
might wish to look at some other ones on the reference
page. For the rest, it’s a matter of putting the image following
output where peakamp~ is.

gregory

max v2;
#N vpatcher 28 44 685 442;
#P window setfont “Sans Serif” 9.;
#P newex 262 190 35 196617 * 0.7;
#P newex 262 209 49 196617 slide 0 5;
#P newex 89 170 147 196617 jit.window foo @depthbuffer 1;
#P message 262 229 48 196617 scale $1;
#P toggle 10 78 15 0;
#P newex 10 115 51 196617 qmetro 5;
#P newex 10 140 50 196617 t b erase;
#P newex 10 192 219 196617 jit.gl.render foo @erase_color 0.2 0.1
0.12 1.;
#P newex 262 248 336 196617 jit.gl.gridshape foo @shape torus
@lighting_enable 1 @smooth_shading 1;
#P user multiSlider 248 269 350 91 0. 1. 1 3193 15 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P user ezadc~ 248 106 292 139 0;
#P newex 248 151 69 196617 peakamp~ 20;
#P window setfont “Sans Serif” 18.;
#P comment 11 51 230 196626 The World’s Dumbest VJ;
#P connect 8 0 7 0;
#P connect 7 0 6 0;
#P connect 6 0 5 0;
#P fasten 6 1 5 0 55 168 15 168;
#P fasten 8 0 2 0 15 100 253 100;
#P connect 2 0 1 0;
#P fasten 2 1 1 0 287 144 253 144;
#P connect 1 0 3 0;
#P fasten 1 0 12 0 253 179 267 179;
#P connect 12 0 11 0;
#P connect 11 0 9 0;
#P connect 9 0 4 0;
#P pop;

#72954
Mar 21, 2006 at 2:40am

thank you for that most happy of toroids, Gregory. here’s a variation
on a theme, i’ll count it as “something else”.

-mark

max v2;
#N vpatcher 34 405 691 803;
#P window setfont “Sans Serif” 12.;
#P window linecount 1;
#P comment 252 48 373 196620 adapted from Gregory Taylor’s original
by mark henrickson;
#P window setfont “Sans Serif” 9.;
#P newex 333 180 78 196617 pack 0. 0. 0. 1.;
#P newex 333 210 102 196617 prepend erase_color;
#P newex 262 190 35 196617 * 0.7;
#P newex 262 209 49 196617 slide 0 5;
#P newex 89 170 147 196617 jit.window foo @depthbuffer 1;
#P message 262 229 48 196617 scale $1;
#P toggle 10 78 15 0;
#P newex 10 115 51 196617 qmetro 5;
#P newex 10 140 50 196617 t b erase;
#P newex 10 276 219 196617 jit.gl.render foo @erase_color 0.2 0.1
0.12 1.;
#P newex 262 248 336 196617 jit.gl.gridshape foo @shape torus
@lighting_enable 1 @smooth_shading 1;
#P user multiSlider 248 269 350 91 0. 1. 1 3193 15 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P user ezadc~ 248 106 292 139 0;
#P newex 248 151 69 196617 peakamp~ 20;
#P window setfont “Sans Serif” 12.;
#P comment 9 48 230 196620 The World’s Dumbest VJ;
#P connect 8 0 7 0;
#P connect 7 0 6 0;
#P fasten 13 0 5 0 338 245 15 245;
#P fasten 6 1 5 0 55 168 15 168;
#P connect 6 0 5 0;
#P fasten 8 0 2 0 15 100 253 100;
#P fasten 2 1 1 0 287 144 253 144;
#P connect 2 0 1 0;
#P connect 1 0 3 0;
#P fasten 1 0 12 0 253 179 267 179;
#P connect 12 0 11 0;
#P connect 11 0 9 0;
#P connect 9 0 4 0;
#P fasten 1 0 14 0 253 174 338 174;
#P connect 14 0 13 0;
#P fasten 1 0 14 1 253 174 360 174;
#P fasten 1 0 14 2 253 174 382 174;
#P pop;

#72955
Mar 21, 2006 at 2:42am

Thanks for your reply Gregory,

I was thinking to have perspective distortions of a room for example (square shape), related to X and Y values from a motion track. Like if you change vanishing points in a perspective drawing.

Cheers man

tbird

#72956
Mar 21, 2006 at 2:50am

And so shines a good deed in a weary world, to quote
Willy Wonka by way of The Bard. Onward until the
throbbing techno torus is a mere memory like unto
orchestral hits in a sampler!

owner of a lonely heart,
gregory

#72957
Mar 21, 2006 at 3:00am

You might exploit the lens_angle attribute of jit.gl.render or
manually manipulate the vertices of jit.gl.model in matrix output
mode, or use a custom vertex shader.

-Joshua

#72958
Mar 21, 2006 at 3:01am

You looked at Tutorial 32 on camera view? Might be helpful in terms
of moving the furniture. There are all kinds of possibilities and other
ways to do anything. You might want to visit maxobjects.com and
take a look at the inimitable Jasch’s rotatexyz object, too.

And in case you haven’t done so already, have a looksee at
Mr. Henrikson’s little tweak; having had the pleasure of
his presence onstage as a visualist for a recent performance
in Minneapolis, I think I can say with some confidence that
you could do a LOT worse than following *him* around. :-)

gregory

#72959
Mar 21, 2006 at 4:20pm

just to add to the confusion:

#P window setfont Geneva 9.;
#P window linecount 1;
#N vpatcher 15 55 799 542;
#P window setfont Geneva 9.;
#P newex 168 363 35 9699337 t l b;
#P message 193 414 106 9699337 rotatexyz 90 $1 90;
#N counter 0 0 360;
#X flags 0 0;
#P newobj 193 389 89 9699337 counter 0 0 360;
#P newex 168 335 111 9699337 prepend ctlmatrix;
#P window setfont “Sans Serif” 9.;
#P message 109 261 56 9109513 xfade $1;
#P window setfont Geneva 9.;
#P newex 310 223 152 9699337 jit.op @op * @val 1.;
#P newex 452 188 188 9699337 jit.slide @slide_up 30. @slide_down 30.;
#P newex 168 103 295 9699337 t l l b;
#P newex 168 298 152 9699337 jit.xfade;
#P newex 452 138 124 9699337 jit.noise 3 float32 20 20;
#P newex 168 223 136 9699337 jit.matrix 12 float32 20 20;
#P window setfont “Sans Serif” 9.;
#P newex 168 50 419 9109513 jit.gl.gridshape foo @shape torus
@lighting_enable 1 @smooth_shading 1 @matrixoutput 1;
#P window setfont Geneva 9.;
#P newex 452 163 123 9699337 jit.map @map 0. 1. 0. 2.;
#P inlet 109 173 15 0;
#P outlet 168 445 15 0;
#P connect 1 0 10 0;
#P connect 3 0 7 0;
#P connect 7 0 4 0;
#P connect 4 0 6 0;
#P connect 10 0 6 0;
#P connect 6 0 11 0;
#P connect 11 0 14 0;
#P connect 14 0 0 0;
#P fasten 13 0 0 0 198 437 173 437;
#P connect 14 1 12 0;
#P connect 12 0 13 0;
#P connect 7 1 9 0;
#P connect 9 0 6 1;
#P connect 7 2 5 0;
#P connect 5 0 2 0;
#P connect 2 0 8 0;
#P connect 8 0 9 1;
#P pop;
#P newobj 302 310 231 9699337 p where_did_the_floating_dolphins_go;
#B color 14;
#P flonum 340 119 35 9 0 0 0 148 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 3;
#P newex 302 361 353 9699337 jit.gl.nurbs foo @smooth_shading 1
@lighting_enable 1 @closed 1 1 @scale 0.5 @dim 50 50 @order 4 4 @rotatexyz
90 33 90 @scale 2. @position 0. 1.8 0. @blend_enable 1 @color 0.5 0.5 0.5
0.2 @depth_enable 0 @poly_mode 1 1;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 334 180 85 9109513 pack 0. 0. 0. 0.1;
#P newex 334 210 102 9109513 prepend erase_color;
#P newex 263 182 59 9109513 * 1.93;
#P newex 263 205 49 9109513 slide 0 5;
#P newex 90 170 147 9109513 jit.window foo @depthbuffer 1;
#P toggle 11 78 15 0;
#P newex 11 115 51 9109513 qmetro 5;
#P newex 11 140 50 9109513 t b erase;
#P window linecount 2;
#P newex 11 276 177 9109513 jit.gl.render foo @erase_color 0.2 0.1 0.12 1
@lens_angle 106.;
#P user multiSlider 263 412 350 91 0. 11. 1 3449 15 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P user ezadc~ 249 106 293 139 0;
#P window linecount 1;
#P newex 249 151 69 9109513 peakamp~ 20;
#P window setfont “Sans Serif” 24.;
#P comment 19 27 286 9109528 The World’s Dumbest VJ;
#P window setfont Geneva 9.;
#P comment 377 119 100 9699337 xtc level;
#P comment 97 57 164 9699337 part II: don’t forget the tunnels;
#P connect 11 0 5 0;
#P connect 11 0 17 0;
#P connect 9 0 8 0;
#P fasten 9 0 4 0 16 100 254 100;
#P fasten 3 0 12 0 254 179 268 179;
#P fasten 3 0 14 0 254 174 339 174;
#P fasten 3 0 14 1 254 174 364 174;
#P fasten 3 0 14 2 254 174 389 174;
#P fasten 4 1 3 0 288 144 254 144;
#P connect 4 0 3 0;
#P connect 14 0 13 0;
#P connect 7 0 6 0;
#P fasten 7 1 6 0 56 168 16 168;
#P fasten 13 0 6 0 339 258 16 258;
#P connect 16 0 12 1;
#P connect 12 0 11 0;
#P connect 8 0 7 0;
#P connect 17 0 15 0;
#P window clipboard copycount 18;

#72960

You must be logged in to reply to this topic.