Hi Luiz,

On 17/11/10 22:10, Luiz Naveda wrote:
I was trying to build 3d cylinders using GEM. But I the actual
solutions (cylinder and tube) cannot be easily manipulated. I would
like to control the x y z of the extremities of the tube, like a
[polygon 2] but with control of diameter and faces of the cylinder.

Any useful tip? I am really missing the point or there is no easy
solution for that in PD?

I needed this a while ago for my [1] MarkIII project, so I made it. There was no "really easy" solution, a lot of maths/geometry to do. See attached. Maybe there is a better way?


Claude

[1] http://claudiusmaximus.goto10.org/cm/2010-01-28_markiii_demos.html

--
http://claudiusmaximus.goto10.org
#N canvas 0 0 450 387 10;
#X obj 15 19 inlet;
#X obj 113 19 inlet;
#X obj 211 19 inlet;
#X obj 323 50 inlet;
#X obj 16 40 t a a;
#X obj 16 361 outlet;
#X obj 113 44 unpack f f f;
#X obj 211 44 unpack f f f;
#X obj 173 102 -;
#X obj 203 102 -;
#X obj 43 62 separator;
#X obj 225 262 loadbang;
#X obj 30 318 cylinder;
#X obj 172 150 t f f;
#X obj 173 174 *;
#X obj 44 98 translate 1 0 0 0;
#X obj 46 223 rotate;
#X obj 212 150 t f f;
#X obj 213 174 *;
#X obj 262 150 t f f;
#X obj 263 174 *;
#X obj 218 199 +;
#X obj 174 202 +;
#X obj 174 225 sqrt;
#X obj 174 248 swap;
#X obj 175 272 /;
#X obj 174 299 expr 180.0*acos($f1)/3.1415926;
#X obj 174 329 *;
#X obj 211 317 expr if($f1<0 \, -1 \, 1);
#X obj 93 196 pack f f;
#X msg 93 221 \$2 \$1 0;
#X obj 138 174 * -1;
#X obj 139 154 *;
#X obj 93 156 *;
#X obj 32 293 translateXYZ 0 0 0;
#X obj 235 104 +;
#X obj 248 66 -;
#X obj 311 101 == 0;
#X obj 313 121 * 1e-05;
#X obj 250 87 t f f;
#X obj 149 228 /;
#X obj 142 252 * 0.5;
#X obj 31 271 scaleXYZ -1 1 1;
#X obj 35 249 separator;
#X msg 224 280 7;
#X connect 0 0 4 0;
#X connect 1 0 6 0;
#X connect 2 0 7 0;
#X connect 2 0 15 2;
#X connect 3 0 12 1;
#X connect 3 0 34 3;
#X connect 3 0 40 1;
#X connect 4 0 5 0;
#X connect 4 1 10 0;
#X connect 6 0 8 0;
#X connect 6 1 9 0;
#X connect 6 2 36 0;
#X connect 7 0 8 1;
#X connect 7 1 9 1;
#X connect 7 2 36 1;
#X connect 8 0 13 0;
#X connect 8 0 33 0;
#X connect 9 0 17 0;
#X connect 9 0 32 0;
#X connect 10 0 15 0;
#X connect 11 0 44 0;
#X connect 13 0 14 0;
#X connect 13 1 14 1;
#X connect 14 0 22 0;
#X connect 15 0 16 0;
#X connect 16 0 43 0;
#X connect 17 0 18 0;
#X connect 17 1 18 1;
#X connect 18 0 21 0;
#X connect 19 0 20 0;
#X connect 19 1 20 1;
#X connect 20 0 21 1;
#X connect 21 0 22 1;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 23 0 40 0;
#X connect 24 0 25 0;
#X connect 24 1 25 1;
#X connect 25 0 26 0;
#X connect 26 0 27 0;
#X connect 27 0 16 1;
#X connect 28 0 27 1;
#X connect 29 0 30 0;
#X connect 30 0 16 2;
#X connect 31 0 29 1;
#X connect 32 0 31 0;
#X connect 33 0 29 0;
#X connect 34 0 12 0;
#X connect 35 0 19 0;
#X connect 35 0 24 1;
#X connect 35 0 28 0;
#X connect 35 0 32 1;
#X connect 35 0 33 1;
#X connect 36 0 39 0;
#X connect 37 0 38 0;
#X connect 38 0 35 1;
#X connect 39 0 35 0;
#X connect 39 1 37 0;
#X connect 40 0 41 0;
#X connect 41 0 42 3;
#X connect 42 0 34 0;
#X connect 43 0 42 0;
#X connect 44 0 12 2;
#N canvas 0 0 450 422 10;
#X obj 134 147 gemwin 25;
#X obj 116 173 gemhead;
#X msg 198 300 0.1;
#X obj 117 194 t a a;
#X obj 168 222 world_light;
#X msg 228 198 1 0 1;
#X msg 136 87 create \, 1 \, lighting 0;
#X msg 189 267 1 1 0;
#X floatatom 266 231 5 0 0 0 - - -;
#X obj 296 284 pack f f f;
#X obj 306 259 t b a;
#X floatatom 312 230 5 0 0 0 - - -;
#X obj 346 259 t b a;
#X floatatom 352 230 5 0 0 0 - - -;
#X obj 283 312 t a b;
#X msg 296 334 -2 -2 0;
#X obj 145 365 tube2;
#X connect 1 0 3 0;
#X connect 2 0 16 3;
#X connect 3 0 16 0;
#X connect 3 1 4 0;
#X connect 5 0 4 1;
#X connect 6 0 0 0;
#X connect 7 0 16 2;
#X connect 8 0 9 0;
#X connect 9 0 14 0;
#X connect 10 0 9 0;
#X connect 10 1 9 1;
#X connect 11 0 10 0;
#X connect 12 0 9 0;
#X connect 12 1 9 2;
#X connect 13 0 12 0;
#X connect 14 0 16 1;
#X connect 14 1 15 0;
#X connect 15 0 16 2;
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to