Adaptive Flux Morphologies

Page 145

SCRIPTS

ADAPTIVE FLUX MORPHOLOGIES

8.1 test = rs.PointAdd(self.coord,vect) for i in

rs.VectorUnitize(vect) vect = rs.VectorScale(vect,step)

range(0,len(obstacles)): test = rs.PointAdd(self. inside. append(rs.PointInPlanarClosedCurve(tes t,obstacles[i])) tmpL = inside

self.coord = rs.PointAdd(self.coord,vect) self.moveVect = vect

coord,vect) tmpL = [] for i in range(0,len(obstacles)): tmpL.append(rs.PointIn PlanarClosedCurve(test,obstacles[i])) if rs.PointInPlanarClose dCurve(test,boundary) != 0 and math. fsum(tmpL) == 0:

self.startVect = vect elif rs.PointInPlanarC losedCurve(test,boundary) == 0:

self.coord = rs.PointAdd(self.coord,vect) self.moveVect = vect

while rs.PointInPl anarClosedCurve(test,boundary) == 0:

self.startVect = vect

vect = rs.VectorRotate(vect,random.randint(self.senseAng,self.senseAng),[0,0,1])

elif rs.PointInPlanarClo sedCurve(test,boundary)!=0 and math. fsum(tmpL)!=0:

test = rs.PointAdd(self.coord,vect)

while rs.PointInPlanarC losedCurve(test,boundary)!=0 and math. fsum(tmpL)!=0:

self.coord = rs.PointAdd(self.coord,vect) self.moveVect = vect

inside = [] vect = rs.VectorRotate(vect,random.randint(self.senseAng,self.senseAng),[0,0,1])

self.startVect = test = rs.PointAdd(self.coord,vect)

vect elif len(self.visibleNeighbors) > 0:

for i in range(0,len(obstacles)):

pts = [] for i in range(0,len(self. visibleNeighbors)): pts.append(self. visibleNeighbors[i].coord)

inside. append(rs.PointInPlanarClosedCurve(tes t,obstacles[i])) tmpL = inside

target = cenPt(pts) vect = rs.VectorCreate(target,self.coord)

self.coord = rs.PointAdd(self.coord,vect) self.moveVect = vect

vect =

145


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
Adaptive Flux Morphologies by Goli Jalali - Issuu