jersmi's picture

Looking for advice, wisdom, resources, ideas, the usual.

Step one, I got the parabox node Make Mesh with Values to work drawing a mesh with the mouse. Cool. Now I want to make some mesh "brushes", and any other wild thing that comes up, geometric/parametric or otherwise.

The way I see it, elegant solutions have been around for a long time (at least a couple decades), and folks have done tons of interesting stuff in other software (Processing, Jitter, openFrameworks, javascript, etc.). At present I'm coming up a bit slow and short slogging through the interwebs.

Any ideas are welcome. Are there any tools I'm missing in Vuo at present?

I'm just getting started, here are some notes for some rudimentary triangle math (middle school level is about where I'm at right now) to try and get some geometry working, hope it makes sense.

Triangle ABC    
A = ax,ay (previous mouse point) 
B = bx,by (current mouse point)
C = cx,cy (the third point in the triangle, stroke width/2)

Lengths of triangle sides (line segments)
AC = .1 (stroke width)
AB = sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by))
BC = sqrt(AB*AB + AC*AC)

Find coordinates for C (cx,cy)

cy = (AB*AB + AC*AC - BC*BC) / (2*AB)
cx = sqrt(AC*AC - cy*cy)

To orient point C, maybe calculate direction of point B relative to point A (imagining an input selector with formulas for 4 possible orientations). I guess some vector math could come in about now (direction, momentum, et al.)
bx<=ax&&by>=ay??1:     -cx,cy (TL)
bx<=ax&&by<=ay??2:     -cx,-cy (BL)
bx>=ax&&by<=ay??3:     cx,-cy (TR)
bx>=ax&&by>=ay??4      cx,cy (BR)


You may get something useful

Scratchpole's picture
Submitted by

You may get something useful from this: Scroll down and have a look at: Triangle Snake Kinect.vuo It creates a triangular prism with quaternion rotations, works well with Kinect or Leap motion input but also set-up to run from Waves.

I have done more to this such as adding UV coordinates and more vertices so it creates cylinders. I got stuck trying to fathom how to create Normals so not yet shared.