XC4DC4D6+T Q ?@??? agoal1Rotation . Halias2 [>$ v R agoal1alias2 [>$ v S @ agoal1P?@@?@@>@ agoal1P?@@@@?@@@ agoal1P@@@@@?@@> alias2    alias2    alias2   Nalias2#@=\5\8\7JFIFC     C  #2" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?O2M-Fa0 $1'r{ g܍;鮯_2c0$1zEdH`VXf,ŝvw#tAj%પ̎m!9*v(6Yբ{onH0e"0&F@6:u,dy;]9wʫМM[m69ﴻY1DA T`wPw"IlI4+qI2]OP8'duWwc I-|Nߩ‰uP\a{w|,y26ex@3`.@;94V}?_p_ފ`Q(a\>*-2,jQUA`aLNB4ȤXX%0)Lno#p;Zx iakkˀڻ6fݗIW}rI0BTElbˎ]GeW$ v "A ?\5 agoal1$Body.Spline.Solveralias2 [>$ v Null ObjectA???<^!iQ?5Q$ v ÷@7 94???>"?p6">Dp?*D?p?????????%&F\5\8\7JFIFC     C  #2" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?x隭Z+M-%z ;Ϡ6]]X5:X`99s'$d4?I)m>Rr1eb:08y%k$ W|S%4 Polygon"BH?CH8===4;.BkjCHAA\5 agoal1Bonealias2 [>$ W|S%4 Bone"Q ?@??? agoal1Rotation . Halias2 [>$ W|S%4 R agoal1alias2 [>$ W|S %4 S @ P?@@?@@@ P@@@@@?@@>@ P@@@@@?@@ alias2    alias2    alias2   Nalias2#?H??? agoal1Rotation . Palias2 [>$ W|S %4 R agoal1alias2 [>$ W|S%4 S @ P?@@?@@@ P@@@@@?@@@ P@@@@@?@@ alias2    alias2    alias2   Nalias2#?@??? agoal1Rotation . Balias2 [>$ W|S%4 R agoal1alias2 [>$ W|S%4 S @ P?@@?@@@ P@@@@@?@@@ P@@@@@?@@ alias2    alias2    alias2   Nalias2#BH?CHCAL???4;.CHAA\5 agoal1Bonealias2 [>$ W|S%4 BoneCAL????pD/C?>D?p?????????8===4;.Bkj?4;.#?Bkj;.Bkj??????????  alias2 [>$ W|S%4  alias2 [>$ W|S%4 AAA@I4;.!i4!i'4!h?4;03.4;.?????????%&'VX\0S >L=L=?I>L?]alias2Ualias2[^ agoal1alias2 [>$ V5<  agoal1L"A ? agoal1l<Copyright by Jan C.-Frischmuthalias2 cTL P Null Object???????????????"A ? agoal1.smart-page.net (c) 2009alias2 cTL FP-@ Null Object???????????????"B?DWZXYDz[\DzBcbdf^_ agoal1 alias2 cTL BzX  Camera ,F&f F'alias2alias2 agoal1alias2 cTL 3BX DOW???;Z*2?jM~LJY=O?h?23?4``???????"?$Just press play...@ABCCHD=@ agoal1 alias2 cTL BaW :TextDHό???????????????u @= alias2 cTL BW  ( alias2 cTL BW (    alias2 cTL BW P@+@`A_p@@2'0@=@'0=@p P?@Q`P @"@̰AT@?@@P>@"@@@@2@ @ >>@@@T@@@m@m@0@W@>?@@?Ԁ@K @@@d ɐ@@@A=0@@Q`=@z@>?@A@]@`@$?$@HZW@@?@s?mAN@@ @W@@p@@A-p:@xx@/?m?@  ?";?;<z?`>H`H?@ I @IP@x@x@$@?@ZA HAP@WA@@@@@@Z@(@d H@0@;0A0p@@pAJXA@`@p@@ %?@8`d ?@@( r0@ @r00>z=H?H@>H>?(H(=H?HԀ@d @d @ 0@ 0@'0@0'0/@@(} a@?Hg@@ >za@@a@P@P@@(z]8`?@bb@ @ z@?K H@ @@0X0@XLAI@@>z@נ @?Zg@@ A(@@@@>>@@@T@@@m@m@0@W@>?@@?Ԁ@K @@@d ɐ@@@A=0@@Q`=@z@>?@A@]@`@$?$@HZW@@?@s?mAN@@ @W@@p@@A-p:@xx@>>@@@T@@@m@m@0@W@>?@@?Ԁ@K @@@d ɐ@@@A=0@@Q`=@z@>?@A@]@`@$?$@HZW@@?@s?mAN@@ @W@@p@@A-p:@xx@P@x@x@$@?@ZA HAP@WA@@@@@@Z@(@d H@0@;0A0p@@pAJXA@`@p@@ %?@8`d @s2 @ @2 s@p @`@d @@@"?/"/@@> "@ ?m@A>@ ?? @@LL@@P@8`@m@@>@>zAr0@@r0A`@a@a@?T?T@?;?;=T@?>?P@@N@?>H+a@@%%@@h@hԀ@P @P@ @̰A\ W@N@A(@H@H@?  >?@"@>?@H@@N@??N@H>z>g@?@g@/ alias2 cTL BW  \$TCu$TB+%Ah/%s6@8@B$8@B9(4RB9(4RB$3 AD.AH)߀A()$B?h)$CuB. B. B }AAK A BT B.B. Av@@5@AABRB@3B@AzA-pAqh,A'BB-B;BY@B>BJtB֦jB=B劀BB#BB?BBB|NBqhBM{A0@ @ϪB.ϪCǀCǀB.þnB.þnBxǀBxǀAAj`AY0#AYþnA]þn@Ԁx@pϪAϪBxֿBxֿB.ÃɀA=sAjBSnBÃɀBfÐIBÒBBÐIA8Ú&ÚB4ÑB4ÑBxÌ<BʊÁBBeeBXBZ\j@`ÂaÌ?ԀÑA;Ñ&CCB.3LB.3LB )=BƻBBլBBBB+JB2kBp2k¬B~BkCPB^'0Bt B:B:A$¯2A8`ƒ@AkB@&B@8A[A`•j ² mVA'BI,$BlBri4Br} B®B4nBB@@B@sAAA-pBAqhB/dABBAB-A0B;-pBYXB>7BJAHB֦BMxBBfBB$tBBBA~B?TBB@@BA_pB|A̰BqhBKBMBtA0BJ@A k(@BB@BB@BbABzA-pCmAqhCAC BBB-BB;BRBYBB>B BJBB֦C^BCBC BCBBBBɩBBhBBBBB|B,BqhCBMC!;A0C@B B@CA=CACՀBSCBCBfCBC|qBBCA8Ck&CkB4C|B4C|BxCBʊCBBCBCрBZ\C@`CaCɀ?ԀC} A;C} &CQCQCuCCuCCAިCπA} CgA6CcA{CB@CBTCBG8C۔B?hCBB9CB)CMBotCQB}C^BCBdCBwCؚBCBC̼BPCĈBPCBCBBCɀB2CBrCACAY0CnA>CA@COAHCOC/CAC@`C&A]Co?ԀCZaCv@@PCAۈCcBHD:AxDIB.D$B.DBjD AkDTDE+|C*PC8&C8ChD,DD8D\PDAC|B.D9B.DDAPDAPDD%D%APD*APD*D3D3APD8@APD8@???????????????%&"A ? agoal1 Targetalias2 cTL AuP Null Object???????????????"A ? agoal1Py4DBoidsalias2 [>$ |::) Null Object ;from c4d import * import math import random #Boids for Py4D by smart-page.net #environment minx = -2000 maxx = 2000 miny = 1000 maxy = 3000 minz = -2000 maxz = 2000 #boids params target_maxspeed = 60 boid_maxspeed = 50 boid_distance = 200 theboids = [] target = Vector() rand = None targetvec = Vector(0) tps = [] bpos = None bvel = None def set_random(): global rand rand = random.Random(1) rand.seed(20) set_random() def create_particles(): for x in xrange(0, 100): p = TParticle(doc) tps.append(p) p.set_life(BaseTime(100)) def main(): global tp global doc global theboids global bpos global bvel frame = doc.get_time().get_frame(doc.get_fps()) if frame==0: tp.free_all_particles() #if frame<13: set_random() create_particles() theboids = [] bpos = [] bvel = [] for i, myboid in enumerate(tp.get_particles()): theboids.append(myboid) bpos.append(myboid.get_pos()) bvel.append(myboid.get_vel()) moveboids(myboid, i) movetarget() set_target() def set_target(): v = Vector() for x in bpos: v +=x v = v / tp.count_all_particles() op[ID_USERDATA, 1].set_pos(v) def moveboids(boid, c): v1 = rule1(theboids, c) v2 = rule2(theboids, c) v3 = rule3(theboids, c) v4 = rule4(c) bvel[c] += v1 + v2 + v3 + v4 bvel[c] = limitspeed(bvel[c], boid_maxspeed) boid.set_vel(bvel[c]) boid.set_pos(bpos[c] + bvel[c]) def rule1(boids, c): v = Vector() for i, b in enumerate(boids): boid_pos = bpos[c] b_pos = bpos[i] if b_pos == boid_pos: continue v += boid_pos - b_pos v /= tp.count_all_particles() return bvel[c] -v / 100 def rule2(boids, c): d = 0 k = 0 for i, b in enumerate(boids): if (bpos[i] - bpos[c]).len() < boid_distance: k += 1 pos = bpos[c] dif = (pos - bpos[i]) if dif >= 0: dif = math.sqrt(boid_distance) - dif elif dif < 0: dif = -math.sqrt(boid_distance) - dif d += dif if k == 0: return return bvel[c] - d / 4 def rule3(boids, c): v=Vector() for b in boids: v += bvel[c] v /= tp.count_all_particles() return bvel[c]+v/30 def rule4(c): return (target - bpos[c]) / 100 def movetarget(): global target global targetvec if target.x < minx or target.y < miny or target.z < minz: targetvec.x+=rand.random() * target_maxspeed targetvec.y+=rand.random() * target_maxspeed targetvec.z+=rand.random() * target_maxspeed if target.x > maxx or target.y > maxy or target.z > maxz: targetvec.x-=rand.random() * target_maxspeed targetvec.y-=rand.random() * target_maxspeed targetvec.z-=rand.random() * target_maxspeed targetvec = limitspeed(targetvec, target_maxspeed) target += targetvec def limitspeed(v, speed): if v.len() > speed: v = v*(speed / v.len()) return v F'alias2hudc 64bit agoal1 DataData g D&alias2 [>$ |:;) Python Tag; agoal1Lalias2 [>$ |:<) FXPresso agoal1alias2 [>$ |:=) FGvNodeMasterdalias2Ealias2 G ''N N!viwh?fgjBkAlBmBnBoBpAqA@rAsA@tAuA@de agoal1alias2 [>$ |:@) Fde?f?f?fF XGroupalias2,Nviwh?fgjBtkAlBtmBnBtoBpAqA@rAsAtAuAdzep agoal1Ealias2 [>$ |:A) Fde?f?f?fd efghGijG P Passdd14???235All678A alias2G viwh?fgjBkAlCmBDnBoBpAqA@rAsAtAuAdBe agoal1 Galias2 [>$ |:B) Fde?f?f?fB@defghGijG PShapeA ????????????A ??? ~CCptBv?rx?CCp??B@B@A:o?????L@$@????'&H=?PQ[\RSRUVWXZ?}?ff~C}|suTF'(a 0Motionquellenrenderdatenalias2 cTL #@:  ~CCptBv?rx?CCp????A:o?????L@$@????'&H=?PQ[\RSRUVWXZ?}?ff~C}|suTF'(a agoal1,Rendervoreinstellungenalias2 cTL ?j: +  alias2 [>$ V5 , ?L?fff?L?>=  ???(?@Bd  "#$%&  )+*=,./0>??L?L?L??+=>L>L>L                           agoal1LIalias2 [>$ V5 DHDwFB?DWZXYDz[\DzBcbdf^_łTD???&6alias2 alias2?L?fff?L?>=  ???(?@Bd  "#$%&  )+*=,./0>??L?L?L??+=>L>L>L                           agoal1alias2 [>$ V5 DHDwFB=  ???(?@Bd  "#$%&  )+*=,./0>??L?L?L??+=>L>L>L                           agoal1alias2 [>$ V5 DHDwFB=gDWZXYDz[\DzBcbdf^_d CP3X????I۾alias2alias2?L?fff?L?>=  ???(?@Bd  "#$%&  )+*=,./0>??L?L?L??+=>L>L>L                           agoal1alias2 [>$ V5 DHDwFB>)%DWZXYDz[\DzBcbdfd DPsCӏx????I۾alias2alias2   BHdBHBHeBHBHfBHBHgBH alias2 [>$ V5 , ?L?fff?L?>=  ???(?@Bd  "#$%&  )+*=,./0>??L?L?L??+=>L>L>L                           agoal1alias2 [>$ W5 DHDwFB?DWZXYDz[\DzBcbdfDC????I۾alias2alias2?L?fff?L?>=  ???(?@Bd  "#$%&  )+*=,./0>??L?L?L??+=>L>L>L                           agoal1alias2 [>$ W5 DHDwFB?DWZXYDz[\DzBcbdf????I۾alias2alias2?L?fff?L?>=  ???(?@Bd  "#$%&  )+*=,./0>??L?L?L??+=>L>L>L                           agoal1alias2 [>$ W5 DHDwFB?DWZXYDz[\DzBcbdf????I۾alias2alias2?L?fff?L?>=  ???(?@Bd  "#$%&  )+*=,./0>??L?L?L??+=>L>L>L                           agoal1alias2 [>$ W5 DHDwFB?DWZXYDz[\DzBcbdf????I۾alias2alias2  -  alias2   0 \ACMerge Hook alias2 [>$ V5 CDynamics Hook alias2 [>$ V5 q] TUHOOK alias2 [>$ V5 m&SLA wave scene hook52346 agoal1Malias2 [>$ V5 G$Thinking Particles 14???235All678 agoal1,NAllalias2 [>$ V5 GParticle Group alias2 [>$ V5  PLKHUD alias2 [>$ V5 *Sound Schrubbing Hook alias2 [>$ V5 "BaseSettings Hook  agoal1Qalias2 [>$ V5 SBSettings'''''%'alias2L''&  C  D')'+u2u0u1u3 alias2 [>$ V5 SBSettings'''''%'alias2L''&')'+u2u0u1u3 alias2 [>$ V5 SBSettings'''''%'alias2L''&')'+u2u0u1u3 alias2 [>$ V5 SBSettings'''''%'alias2L''&')'+u2u0u1u3  agoal1alias2 [>$ V5 \+TLSettings'''''%'alias2''&CE  ?')'+N @N!N"ApN#B8ApN(?ApN0=N&,N1N'ZBN*N)?N2N3TN/N.N, alias2 [>$ V5 \+TLSettings'''''%'alias2''&')'+N @N!N"ApN#B8ApN(?ApN0=N&,N1N'ZBN*N)?N2N3TN/N.N, alias2 [>$ V5 \+TLSettings'''''%'alias2''&')'+N @N!N"ApN#B8ApN(?ApN0=N&,N1N'ZBN*N)?N2N3TN/N.N, alias2 [>$ V5 \+TLSettings'''''%'alias2''&')'+N @N!N"ApN#B8ApN(?ApN0=N&,N1N'ZBN*N)?N2N3TN/N.N,# Objectsalias2# Bonealias2# Kameraalias2# Null Objectalias2# Polygonalias2# Splinealias2:# Textalias2> Tagsalias2,> Ausrichtenalias2> Python Tagalias2F> XPressoalias2 Render Settingsalias2 Tracksalias2 Rotationalias2 Motionalias2 Layersalias2 (Undef. Layer)alias2F Xpresso Nodesalias2GF P Objektformalias2GF P Passalias2FF XGroupalias2 alias2 [>$ V5  MoGraphSceneHook alias2 [>$ V5 CAManagerHook alias2 [>$ V5 IK Hook alias2 [>$ V5 "HairHighlightHook alias2 [>$ V5 Doodle Hook alias2 [>$ V5 m$ViewportExtHookHUD,-Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0PCC()*+  ?D& alias2  ?L?L?L >L>L>L!??+="#$%'BPS : 35.7'>''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0PCC()*"+4  ?D& alias2  4?L?L?L >L>L>L!??+="#$%'0 B' ''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0P@@()*+  ?D& alias2  ?L?L?L >L>L>L!??+="#$%'Perspective'e''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&'' Q0POO()*+  ?D& alias2   !"#$%''''%'&'' A0POO()*+  ?D& alias2   !"#$%''''%'&'' Q0POO()*+  ?D& alias2   !"#$%''''%'&'' Q0POO()*+  ?D& alias2   !"#$%''''%'&'' Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0PCC~(:)*+  ?D& alias2  ?L?L?L >L>L>L!??+="#$%'5 B'''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0P@@()*+  ?D& alias2  ?L?L?L >L>L>L!??+="#$%'Oben'''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''A0POO()*+  ?D& alias2   !"#$%''''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0PCC}(:)*+  ?D& alias2  ?L?L?L >L>L>L!??+="#$%'5 B'''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0P@@()*+  ?D& alias2  ?L?L?L >L>L>L!??+="#$%' Rechts'%''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&''Q0POO()*+  ?D& alias2   !"#$%''''%'&'' A0POO()*+  ?D& alias2   !"#$%''''%'&''!Q0POO()*+  ?D& alias2   !"#$%''''%'&''"Q0POO()*+  ?D& alias2   !"#$%''''%'&''#Q0POO()*+  ?D& alias2   !"#$%''''%'&''$Q0POO()*+  ?D& alias2   !"#$%''''%'&''%Q0PCC}(:)*+  ?D& alias2  ?L?L?L >L>L>L!??+="#$%'5 B'''%'&''&Q0POO()*+  ?D& alias2   !"#$%''''%'&'''Q0P@@()*+  ?D& alias2  ?L?L?L >L>L>L!??+="#$%' Vorne'!''%'&''(Q0POO()*+  ?D& alias2   !"#$%''''%'&'')Q0POO()*+  ?D& alias2   !"#$%''''%'&''*Q0POO()*+  ?D& alias2   !"#$%''''%'&''+A0POO()*+  ?D& alias2   !"#$%''''%'&'' alias2 [>$ V5  N0ViewportExtHookhighlight alias2 [>$ V5  O MeasureSceneHookokay?G8/Users/mtp_montage/Documents alias2 [>$ V5 G Sniper alias2 [>$ V5 F GvHook??CH??CH??CH??CH??5}ݰ.'v{>%4 I:Mˊ;yc1 Ol9RfBuX Sơ&w[t_- a%S74 `q-<ා,^AQ(EtudxJ?Ź~ymlm`ؗr)؟aZ&r봀WKg}w&sƸcJsRzo5~\5>_ {BhJf<#Þ{{p٪})0UsM3NVUgdXRØtwwJY\ ?|E4V R=8g&BWlUyƬz.Yr?΋d/Guf&.4\T2폅YA,抪?zxE6g*҉cL|ER&םcYCn^2@g=*SxՓФ 4TRf-Ƨ4}MðK˓H8⨺M-.Ձ,ޗɊJ؝Wjqɯm5FD#es5~KsX2a(EI}Gk;I C ͗Jпd]DK+u- L ƺC`' mB61;KR`r< 6XEFkCosx] =҇e{-BE1Bog(H!C=EW:ˁ|"X"<xx8_H5bL<eO% Iwo~g?e0ʺjCcd)X=\J=kfsݫ0PQ80]u1ڣG(.zW:VyD᪛-]0͓oOfʃq R'[ϒ<Jw/pg't3+\B`ꕢ 0}$(u1)n{e!qb)AI­#_0fD iEv%J۾7U0Ft>]X$StPTʒ٨!pf@TNǗ!Ё~ҴvHcX=NN]әJ|&?i"f6xsdr2^%*۵43&#zzގYԩw/De|3CdZ!y{3uӞ{SO}t7\?i!vŅ-\JMm__8,|@K_Ĉ%^ {&`\wl F U a 1PZ#&d".yO[E0h297dNvX>a qǁGy|C\N %0<ՔP@5(-Sj&u7Z;L_+mIihlp5H{(Y1'sXG3Q@/K 6#@ j:UoK|('MAo ?1''' '"'#'$'C'D'>'2'3'4'5'7?'9''I2q:È3@I54???<# BC?IA @ "?IJH<# NOP @                        A  = = ; D lXy9??? alias2   ??D2 X S<= LM?ystB??e ?=9?S>c9?(q^>?>9>?8>o?*> 0?Gr=w?c9