RhinoScript vector growth
From KokkugiaWiki
growing simple trajectories through vector operations
This is a simple example of how a path may be generated through simple local vector calculations.
Option Explicit 'simple vector growth algorithm 'diego perez and robert stuart-smith Call vectorgrowth() Sub vectorgrowth() 'declare variables Dim vect1, vect2 Dim arrPt1,arrPt2,arrPtNew Dim i 'define an origin point arrPt1 = Array(0,0,0) 'define a target point arrPt2 = Array(0,1,0) 'create a vector vect1 = Rhino.VectorCreate (arrPt2, arrPt1) 'create point at vector position Rhino.Addpoint vect1 'loop for so many generations For i = 0 To 10 'create a new vector that is a length of 1 on origin vect2 = Rhino.VectorUnitize (vect1) 'scale new vector vect2 = Rhino.VectorScale (vect2, 1*i+1) 'rotate new vector vect2 = Rhino.VectorRotate (vect2, 17, Array(0,0,1)) 'rotate new vector in another axis 'vect2 = Rhino.VectorRotate (vect2, 17, vect1) 'add new vector to last vector position arrPtNew = Rhino.PointAdd (arrPt2, vect2) 'create geometry at the updated position Rhino.Addpoint arrPtNew Rhino.AddLine arrPtNew, arrPt2 'use new locations as inputs for next iteration arrPt2 = arrPtNew vect1 = vect2 Next End Sub
