[jitter] atan2 and shortest path to point
yair reshef
yair99 at gmail.com
Mon Oct 22 09:33:34 MDT 2007
- Previous message: [jitter] atan2 and shortest path to point
- Next message: [jitter] atan2 and shortest path to point
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
by moving the mouse in the jit.window i pipe the mouse coordinates to an atan2 function, which gives me the angle of the mouse relating to the center of the circle. so far so good. now, when i move the mouse from the top left of the jit.window to the bottom right the function is to dumb to know it can turn left insted of going the full circle to the correct position. i added a smaller circle without the slide to show the correct motion, simply following the atan2. hope its clearer. #P window setfont "Sans Serif" 9.; #P window linecount 1; #P comment 587 246 22 9109513 y x; #P newex 553 267 163 9109513 expr ((atan2($f1 \\\, $f2))/3.1415)*180.; #P objectname receive[1]; #P newex 516 314 33 9109513 r draw; #P flonum 553 292 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0; #P comment 590 292 44 9109513 degrees; #P message 553 245 31 9109513 \$2 \$1; #P message 553 316 82 9109513 rotatexyz 0. 0. \$1; #P window linecount 2; #P newex 536 341 259 9109513 jit.gl.gridshape rott @color 1 0 1 1 @scale 0.5 0.5 @position 0. 0. 0.01 @shape circle @texture grid @automatic 0; #P window linecount 1; #P comment 208 100 130 9109513 how to get the shortest path?; #P comment 382 208 22 9109513 y x; #P newex 186 35 45 9109513 loadbang; #P message 186 141 55 9109513 texture grid; #P newex 348 184 89 9109513 route screentoworld; #P message 143 245 91 9109513 screentoworld \$1 \$2; #P newex 143 221 74 9109513 route mouseidle; #P newex 143 267 42 9109513 s render; #P newex 348 229 163 9109513 expr ((atan2($f1 \\\, $f2))/3.1415)*180.; #P objectname receive[4]; #P newex 297 247 27 9109513 t b b; #P newex 297 194 33 9109513 r draw; #P newex 314 270 27 9109513 f 0.; #P newex 314 292 59 9109513 slide 50. 50.; #P flonum 348 254 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0; #P comment 385 254 44 9109513 degrees; #P message 348 207 31 9109513 \$2 \$1; #P message 314 317 82 9109513 rotatexyz 0. 0. \$1; #P window linecount 2; #P newex 297 342 210 9109513 jit.gl.gridshape rott @color 1 1 1 1 @shape circle @texture grid @automatic 0; #P window linecount 1; #P newex 103 141 35 9109513 s draw; #P newex 140 141 40 9109513 r render; #N vpatcher 530 245 771 446; #P origin 64 -4; #P window setfont "Sans Serif" 9.; #P window linecount 1; #P newex 51 84 40 9109513 sel 0 1; #P message 51 128 152 9109513 border 1 \, size 320 240 \, pos 10 463; #P message 66 107 160 9109513 border 0 \, size 1024 778 \, \, pos 1024 0; #P toggle 51 66 15 0; #P window linecount 0; #P newex 50 44 35 9109513 sel 27; #P newex 50 21 40 9109513 key; #P outlet 56 154 15 0; #P fasten 1 0 2 0 55 42 55 42; #P connect 2 0 3 0; #P connect 3 0 6 0; #P fasten 6 0 5 0 56 106 56 106; #P connect 4 0 0 0; #P connect 5 0 0 0; #P connect 6 1 4 0; #P pop; #P newobj 40 162 25 9109513 p fs; #P window linecount 2; #P newex 40 184 178 9109513 jit.window rott @size 320 240 @floating 1 @pos 10 450 @idlemouse 1; #P objectname jit.window; #P window linecount 1; #P newex 79 162 279 9109513 jit.gl.render rott @camera 0 0 3 @erase_color 0. 0. 0. 1.; #P objectname jit.gl.render; #P toggle 79 62 20 0; #P objectname toggle; #P newex 79 88 50 9109513 qmetro 20; #P newex 79 110 58 9109513 t b b erase; #P window linecount 2; #P comment 208 67 228 9109513 when moving the mouse from top left to bottom right of the jit.window the angle jumps a fulll rotation.; #P connect 31 0 28 0; #P connect 33 0 31 0; #P connect 29 0 33 0; #P fasten 22 0 11 0 353 205 353 205; #P fasten 22 0 29 0 353 204 558 204; #P fasten 32 0 27 0 521 337 541 337; #P fasten 28 0 27 0 558 336 541 336; #P fasten 18 0 15 1 353 251 336 251; #P connect 18 0 13 0; #P connect 11 0 18 0; #P connect 4 1 22 0; #P fasten 14 0 10 0 319 314 319 314; #P connect 15 0 14 0; #P connect 17 1 15 0; #P fasten 10 0 9 0 319 337 302 337; #P fasten 17 0 9 0 302 337 302 337; #P connect 16 0 17 0; #P fasten 24 0 3 0 191 58 84 58; #P connect 24 0 23 0; #P connect 21 0 19 0; #P connect 20 0 21 0; #P fasten 5 1 20 0 213 218 148 218; #P connect 1 1 8 0; #P fasten 23 0 4 0 191 161 84 161; #P fasten 1 2 4 0 132 137 84 137; #P connect 1 0 4 0; #P fasten 7 0 4 0 145 161 84 161; #P fasten 2 0 1 0 84 108 84 108; #P connect 3 0 2 0; #P connect 6 0 5 0; #P window clipboard copycount 35; On 10/22/07, Wesley Smith <wesley.hoke at gmail.com> wrote: > > In polar or cartesian coordinates? I'm not following. Can you add > more info to the question like what your end goal is? Shortest path > is too vague. > > thanks. > wes > > On 10/22/07, yair reshef <yair99 at gmail.com> wrote: > > hi, math question. its hard to formulate as a question, here is a patch > with > > explanation. > > > > #P window setfont "Sans Serif" 9.; > > #P window linecount 1; > > #P comment 194 72 130 9109513 how to get the shortest path?; > > #P comment 368 194 22 9109513 y x; > > #P newex 172 21 45 9109513 loadbang; > > #P message 172 127 55 9109513 texture grid; > > #P newex 334 170 89 9109513 route screentoworld; > > #P message 129 231 91 9109513 screentoworld \$1 \$2; > > #P newex 129 207 74 9109513 route mouseidle; > > #P newex 129 253 42 9109513 s render; > > #P newex 334 215 163 9109513 expr ((atan2($f1 \\\, $f2))/3.1415)*180.; > > #P objectname receive[4]; > > #P newex 283 233 27 9109513 t b b; > > #P newex 283 209 33 9109513 r draw; > > #P newex 300 256 27 9109513 f 0.; > > #P newex 300 278 59 9109513 slide 50. 50.; > > #P flonum 334 240 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0; > > #P comment 371 240 44 9109513 degrees; > > #P message 334 193 31 9109513 \$2 \$1; > > #P message 300 303 82 9109513 rotatexyz 0. 0. \$1; > > #P window linecount 2; > > #P newex 283 328 210 9109513 jit.gl.gridshape rott @color 1 1 1 1 @shape > > circle @texture grid @automatic 0; > > #P window linecount 1; > > #P newex 89 127 35 9109513 s draw; > > #P newex 126 127 40 9109513 r render; > > #N vpatcher 530 245 771 446; > > #P origin 64 -4; > > #P window setfont "Sans Serif" 9.; > > #P window linecount 1; > > #P newex 51 84 40 9109513 sel 0 1; > > #P message 51 128 152 9109513 border 1 \, size 320 240 \, pos 10 463; > > #P message 66 107 160 9109513 border 0 \, size 1024 778 \, \, pos 1024 > 0; > > #P toggle 51 66 15 0; > > #P window linecount 0; > > #P newex 50 44 35 9109513 sel 27; > > #P newex 50 21 40 9109513 key; > > #P outlet 56 154 15 0; > > #P fasten 1 0 2 0 55 42 55 42; > > #P connect 2 0 3 0; > > #P connect 3 0 6 0; > > #P fasten 6 0 5 0 56 106 56 106; > > #P connect 4 0 0 0; > > #P connect 5 0 0 0; > > #P connect 6 1 4 0; > > #P pop; > > #P newobj 26 148 25 9109513 p fs; > > #P window linecount 2; > > #P newex 26 170 178 9109513 jit.window rott @size 320 240 @floating 1 > @pos > > 10 450 @idlemouse 1; > > #P objectname jit.window; > > #P window linecount 1; > > #P newex 65 148 279 9109513 jit.gl.render rott @camera 0 0 3 > @erase_color 0. > > 0. 0. 1.; > > #P objectname jit.gl.render; > > #P toggle 65 48 20 0; > > #P objectname toggle; > > #P newex 65 74 50 9109513 qmetro 20; > > #P newex 65 96 58 9109513 t b b erase; > > #P comment 194 53 315 9109513 when moving from top left to bottom right > the > > angle jumps a fulll rotation.; > > #P connect 6 0 5 0; > > #P fasten 24 0 3 0 177 44 70 44; > > #P connect 3 0 2 0; > > #P fasten 2 0 1 0 70 94 70 94; > > #P fasten 23 0 4 0 177 147 70 147; > > #P fasten 1 2 4 0 118 123 70 123; > > #P connect 1 0 4 0; > > #P fasten 7 0 4 0 131 147 70 147; > > #P connect 1 1 8 0; > > #P fasten 5 1 20 0 199 204 134 204; > > #P connect 20 0 21 0; > > #P connect 21 0 19 0; > > #P connect 24 0 23 0; > > #P connect 16 0 17 0; > > #P fasten 10 0 9 0 305 323 288 323; > > #P fasten 17 0 9 0 288 323 288 323; > > #P connect 17 1 15 0; > > #P connect 15 0 14 0; > > #P fasten 14 0 10 0 305 300 305 300; > > #P fasten 18 0 15 1 339 237 322 237; > > #P connect 4 1 22 0; > > #P fasten 22 0 11 0 339 196 339 196; > > #P connect 11 0 18 0; > > #P connect 18 0 13 0; > > #P window clipboard copycount 27; > > > > > > > > _______________________________________________ > > jitter mailing list > > jitter at cycling74.com > > http://www.cycling74.com/mailman/listinfo/jitter > > > > > _______________________________________________ > jitter mailing list > jitter at cycling74.com > http://www.cycling74.com/mailman/listinfo/jitter > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cycling74.com/pipermail/jitter/attachments/20071022/c84e20f0/attachment.htm
- Previous message: [jitter] atan2 and shortest path to point
- Next message: [jitter] atan2 and shortest path to point
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
