notice: Flash editor updated! Join the development! Thanks to MiniBuilder


embed

FAVORITE BY
:
curvescurves
:
:
graphics線がうねる、太陽の炎のような模様
:
love procedural stuff
:
:
:
wormgood!
:
:
:
:
twirltwirl
:
linesworms
:
にょろもじゃ
:
:
artcurvesvery nice effect
:
frocessing毛玉
:
んーーーーもじゃー
:
:
tentaclesnutsu for president!! :)
:
proceduraltentaclei like holding the mouse down and watching it "dance"
:
ボルボック
:
mojamoja
:
もじゃにょろけ
:
drawing,curves,matrixintresting curve drawings
:
:
にょろにょろ
:
もじゃじゃ
:
むにょーーん
:
にょろにょろ
:
:
FORKED
  1. // forked from nutsu's Worm matrix based.
  2. /**
  3. LOVE MATRIX.
  4. a study for drawing curl curve.
  5. license under the GNU Lesser General Public License.
  6. */
  7. package {
  8.     import frocessing.display.F5MovieClip2DBmp;
  9.     import frocessing.geom.FMatrix2D;
  10.     
  11.     public class WormMatrix extends F5MovieClip2DBmp{
  12.         
  13.         private var vms:Array;
  14.         private var R:Number = 70;
  15.         private var N:Number = 80;
  16.         private var col:uint = 0x000000;
  17.         
  18.         public function WormMatrix () {
  19.             superfalse, 0xffffffff );
  20.             stage.frameRate = 60;
  21.         }
  22.         
  23.         public function initWorms():void
  24.         {
  25.             var num:int  = 100;
  26.             var w:Number = 2;
  27.             var rd:Number = TWO_PI/num;
  28.             var mtx:FMatrix2D = new FMatrix2D();
  29.             mtx.translate( R, 0 );
  30.             
  31.             vms = [];
  32.             forvar i:int=0;i<num;i++ )
  33.             {
  34.                 var angle:Number = random(PI/12,PI/6);
  35.                 var tmt:FMatrix2D = new FMatrix2D();
  36.                 tmt.scale( 0.920.92 );
  37.                 tmt.rotate( angle );
  38.                 tmt.translate( random(10,30), 0 );
  39.                 
  40.                 var obj:WormObject = new WormObject();
  41.                 obj.c1x = obj.p1x = -w * mtx.c + mtx.tx;
  42.                 obj.c1y = obj.p1y = -w * mtx.d + mtx.ty;
  43.                 obj.c2x = obj.p2x =  w * mtx.c + mtx.tx;
  44.                 obj.c2y = obj.p2y =  w * mtx.d + mtx.ty;
  45.                 obj.vmt = FMatrix2D(mtx.clone());
  46.                 obj.tmt = tmt;
  47.                 obj.r   = angle;
  48.                 obj.w   = w;
  49.                 obj.count = 0;
  50.                 
  51.                 vms.push( obj );
  52.                 
  53.                 mtx.rotate(rd);
  54.             }
  55.         }
  56.         
  57.         public function setup():void
  58.         {
  59.             size( 465465 );
  60.             background(255);
  61.             noStroke();
  62.             initWorms();
  63.         }
  64.         
  65.         public function draw():void
  66.         {
  67.             if( isMousePressed )
  68.             {
  69.                 background(255);
  70.                 initWorms();
  71.             }
  72.             translate( fg.width/2, fg.height/2 );
  73.             fill( col );
  74.             circle( 00, R );
  75.             
  76.             var len:int = vms.length;
  77.             forvar i:int=0; i<len; i++ )
  78.             {
  79.                 var o:WormObject = vms[i];
  80.                 if( o.count<N ){
  81.                     drawWorm( o );
  82.                     o.count++;
  83.                 }
  84.             }
  85.         }
  86.         
  87.         public function drawWorm( obj:WormObject ):void
  88.         {
  89.             if( Math.random()>0.8 ){
  90.                 obj.tmt.rotate( -obj.r*2 );
  91.                 obj.r *= -1;
  92.             }
  93.             obj.vmt.prepend( obj.tmt );
  94.             var cc1x:Number = -obj.w*obj.vmt.c + obj.vmt.tx;
  95.             var cc1y:Number = -obj.w*obj.vmt.d + obj.vmt.ty;
  96.             var pp1x:Number = (obj.c1x+cc1x)/2;
  97.             var pp1y:Number = (obj.c1y+cc1y)/2;
  98.             var cc2x:Number = obj.w*obj.vmt.c + obj.vmt.tx;
  99.             var cc2y:Number = obj.w*obj.vmt.d + obj.vmt.ty;
  100.             var pp2x:Number = (obj.c2x+cc2x)/2;
  101.             var pp2y:Number = (obj.c2y+cc2y)/2;
  102.             beginFill( col );
  103.             moveTo( obj.p1x, obj.p1y );
  104.             curveTo( obj.c1x, obj.c1y, pp1x, pp1y );
  105.             lineTo( pp2x, pp2y );
  106.             curveTo( obj.c2x, obj.c2y, obj.p2x, obj.p2y );
  107.             closePath();
  108.             endFill();
  109.             obj.c1x = cc1x;
  110.             obj.c1y = cc1y;
  111.             obj.p1x = pp1x;
  112.             obj.p1y = pp1y;
  113.             obj.c2x = cc2x;
  114.             obj.c2y = cc2y;
  115.             obj.p2x = pp2x;
  116.             obj.p2y = pp2y;
  117.         }
  118.     }
  119. }
  120. import frocessing.geom.FMatrix2D;
  121. class WormObject{
  122.     public var c1x:Number;
  123.     public var c1y:Number;
  124.     public var c2x:Number;
  125.     public var c2y:Number;
  126.     public var p1x:Number;
  127.     public var p1y:Number;
  128.     public var p2x:Number;
  129.     public var p2y:Number;
  130.     public var w:Number;
  131.     public var r:Number;
  132.     public var count:int;
  133.     public var vmt:FMatrix2D;
  134.     public var tmt:FMatrix2D;
  135.     public function WormObject(){
  136.         
  137.     }
  138. }
noswf
  1. // forked from nutsu's Worm matrix based.
  2. /**
  3. LOVE MATRIX.
  4. a study for drawing curl curve.
  5. license under the GNU Lesser General Public License.
  6. */
  7. package {
  8.     import frocessing.display.F5MovieClip2DBmp;
  9.     import frocessing.geom.FMatrix2D;
  10.     
  11.     public class WormMatrix extends F5MovieClip2DBmp{
  12.         
  13.         private var vms:Array;
  14.         private var R:Number = 30;
  15.         private var N:Number = 80;
  16.         private var col:uint = 0x000000;
  17.         
  18.         public function WormMatrix () {
  19.             superfalse, 0xffffffff );
  20.             stage.frameRate = 60;
  21.         }
  22.         
  23.         public function initWorms():void
  24.         {
  25.             var num:int  = 50;
  26.             var w:Number = 2;
  27.             var rd:Number = TWO_PI/num;
  28.             var mtx:FMatrix2D = new FMatrix2D();
  29.             mtx.translate( R, 0 );
  30.             
  31.             vms = [];
  32.             forvar i:int=0;i<num;i++ )
  33.             {
  34.                 var angle:Number = random(PI/12,PI/6);
  35.                 var tmt:FMatrix2D = new FMatrix2D();
  36.                 tmt.scale( 11 );
  37.                 tmt.rotate( angle );
  38.                 tmt.translate( random(2,14), 0 );
  39.                 
  40.                 var obj:WormObject = new WormObject();
  41.                 obj.c1x = obj.p1x = -w * mtx.c + mtx.tx;
  42.                 obj.c1y = obj.p1y = -w * mtx.d + mtx.ty;
  43.                 obj.c2x = obj.p2x =  w * mtx.c + mtx.tx;
  44.                 obj.c2y = obj.p2y =  w * mtx.d + mtx.ty;
  45.                 obj.vmt = FMatrix2D(mtx.clone());
  46.                 obj.tmt = tmt;
  47.                 obj.r   = angle;
  48.                 obj.w   = w;
  49.                 obj.count = 0;
  50.                 
  51.                 vms.push( obj );
  52.                 
  53.                 mtx.rotate(rd);
  54.             }
  55.         }
  56.         
  57.         public function setup():void
  58.         {
  59.             size( 465465 );
  60.             background(255);
  61.             noStroke();
  62.             initWorms();
  63.         }
  64.         
  65.         public function draw():void
  66.         {
  67.             if( isMousePressed )
  68.             {
  69.                 background(255);
  70.                 initWorms();
  71.             }
  72.             translate( fg.width/2, fg.height/2 );
  73.             
  74.             var len:int = vms.length;
  75.             forvar i:int=0; i<len; i++ )
  76.             {
  77.                 var o:WormObject = vms[i];
  78.                 drawWorm(o);
  79.             }
  80.         }
  81.         
  82.         public function drawWorm( obj:WormObject ):void
  83.         {
  84.             if( Math.random()>0.8 ){
  85.                 obj.tmt.rotate( -obj.r*2 );
  86.                 obj.r *= -1;
  87.             }
  88.             obj.vmt.prepend( obj.tmt );
  89.             var cc1x:Number = -obj.w*obj.vmt.c + obj.vmt.tx;
  90.             var cc1y:Number = -obj.w*obj.vmt.d + obj.vmt.ty;
  91.             var pp1x:Number = (obj.c1x+cc1x)/2;
  92.             var pp1y:Number = (obj.c1y+cc1y)/2;
  93.             var cc2x:Number = obj.w*obj.vmt.c + obj.vmt.tx;
  94.             var cc2y:Number = obj.w*obj.vmt.d + obj.vmt.ty;
  95.             var pp2x:Number = (obj.c2x+cc2x)/2;
  96.             var pp2y:Number = (obj.c2y+cc2y)/2;
  97.             noStroke();
  98.             beginFill( 0xffffff );
  99.             moveTo( obj.p1x, obj.p1y );
  100.             curveTo( obj.c1x, obj.c1y, pp1x, pp1y );
  101.             lineTo( pp2x, pp2y );
  102.             curveTo( obj.c2x, obj.c2y, obj.p2x, obj.p2y );
  103.             closePath();
  104.             endFill();
  105.             stroke( 00.2 );
  106.             moveTo( obj.p1x, obj.p1y );
  107.             curveTo( obj.c1x, obj.c1y, pp1x, pp1y );
  108.             moveTo( pp2x, pp2y );
  109.             curveTo( obj.c2x, obj.c2y, obj.p2x, obj.p2y );
  110.             obj.c1x = cc1x;
  111.             obj.c1y = cc1y;
  112.             obj.p1x = pp1x;
  113.             obj.p1y = pp1y;
  114.             obj.c2x = cc2x;
  115.             obj.c2y = cc2y;
  116.             obj.p2x = pp2x;
  117.             obj.p2y = pp2y;
  118.         }
  119.     }
  120. }
  121. import frocessing.geom.FMatrix2D;
  122. class WormObject{
  123.     public var c1x:Number;
  124.     public var c1y:Number;
  125.     public var c2x:Number;
  126.     public var c2y:Number;
  127.     public var p1x:Number;
  128.     public var p1y:Number;
  129.     public var p2x:Number;
  130.     public var p2y:Number;
  131.     public var w:Number;
  132.     public var r:Number;
  133.     public var count:int;
  134.     public var vmt:FMatrix2D;
  135.     public var tmt:FMatrix2D;
  136.     public function WormObject(){
  137.         ;
  138.     }
  139. }
noswf
  1. // forked from nutsu's Worm matrix based.
  2. /**
  3. LOVE MATRIX.
  4. a study for drawing curl curve.
  5. license under the GNU Lesser General Public License.
  6. */
  7. package {
  8.     import frocessing.display.F5MovieClip2DBmp;
  9.     import frocessing.geom.FMatrix2D;
  10.     
  11.     public class WormMatrix extends F5MovieClip2DBmp{
  12.         
  13.         private var vms:Array;
  14.         private var R:Number = 70;
  15.         private var N:Number = 80;
  16.         private var col:uint = 0xff0000;
  17.         
  18.         public function WormMatrix () {
  19.             superfalse, 0xffffffff );
  20.             stage.frameRate = 60;
  21.         }
  22.         
  23.         public function initWorms():void
  24.         {
  25.             var num:int  = 100;
  26.             var w:Number = 2;
  27.             var rd:Number = TWO_PI/num;
  28.             var mtx:FMatrix2D = new FMatrix2D();
  29.             mtx.translate( R, 0 );
  30.             
  31.             vms = [];
  32.             forvar i:int=0;i<num;i++ )
  33.             {
  34.                 var angle:Number = random(PI/12,PI/6);
  35.                 var tmt:FMatrix2D = new FMatrix2D();
  36.                 tmt.scale( 0.920.92 );
  37.                 tmt.rotate( angle );
  38.                 tmt.translate( random(10,30), 0 );
  39.                 
  40.                 var obj:WormObject = new WormObject();
  41.                 obj.c1x = obj.p1x = -w * mtx.c + mtx.tx;
  42.                 obj.c1y = obj.p1y = -w * mtx.d + mtx.ty;
  43.                 obj.c2x = obj.p2x =  w * mtx.c + mtx.tx;
  44.                 obj.c2y = obj.p2y =  w * mtx.d + mtx.ty;
  45.                 obj.vmt = FMatrix2D(mtx.clone());
  46.                 obj.tmt = tmt;
  47.                 obj.r   = angle;
  48.                 obj.w   = w;
  49.                 obj.count = 0;
  50.                 
  51.                 vms.push( obj );
  52.                 
  53.                 mtx.rotate(rd);
  54.             }
  55.         }
  56.         
  57.         public function setup():void
  58.         {
  59.             size( 465465 );
  60.             background(255);
  61.             noStroke();
  62.             initWorms();
  63.         }
  64.         
  65.         public function draw():void
  66.         {
  67.             if( isMousePressed )
  68.             {
  69.                 background(255);
  70.                 initWorms();
  71.             }
  72.             translate( fg.width/2, fg.height/2 );
  73.             fill( col );
  74.             circle( 00, R );
  75.             
  76.             var len:int = vms.length;
  77.             forvar i:int=0; i<len; i++ )
  78.             {
  79.                 var o:WormObject = vms[i];
  80.                 if( o.count<N ){
  81.                     drawWorm( o );
  82.                     o.count++;
  83.                 }
  84.             }
  85.         }
  86.         
  87.         public function drawWorm( obj:WormObject ):void
  88.         {
  89.             if( Math.random()>0.8 ){
  90.                 obj.tmt.rotate( -obj.r*2 );
  91.                 obj.r *= -1;
  92.             }
  93.             obj.vmt.prepend( obj.tmt );
  94.             var cc1x:Number = -obj.w*obj.vmt.c + obj.vmt.tx;
  95.             var cc1y:Number = -obj.w*obj.vmt.d + obj.vmt.ty;
  96.             var pp1x:Number = (obj.c1x+cc1x)/2;
  97.             var pp1y:Number = (obj.c1y+cc1y)/2;
  98.             var cc2x:Number = obj.w*obj.vmt.c + obj.vmt.tx;
  99.             var cc2y:Number = obj.w*obj.vmt.d + obj.vmt.ty;
  100.             var pp2x:Number = (obj.c2x+cc2x)/2;
  101.             var pp2y:Number = (obj.c2y+cc2y)/2;
  102.             beginFill( col );
  103.             moveTo( obj.p1x, obj.p1y );
  104.             curveTo( obj.c1x, obj.c1y, pp1x, pp1y );
  105.             lineTo( pp2x, pp2y );
  106.             curveTo( obj.c2x, obj.c2y, obj.p2x, obj.p2y );
  107.             closePath();
  108.             endFill();
  109.             obj.c1x = cc1x;
  110.             obj.c1y = cc1y;
  111.             obj.p1x = pp1x;
  112.             obj.p1y = pp1y;
  113.             obj.c2x = cc2x;
  114.             obj.c2y = cc2y;
  115.             obj.p2x = pp2x;
  116.             obj.p2y = pp2y;
  117.         }
  118.     }
  119. }
  120. import frocessing.geom.FMatrix2D;
  121. class WormObject{
  122.     public var c1x:Number;
  123.     public var c1y:Number;
  124.     public var c2x:Number;
  125.     public var c2y:Number;
  126.     public var p1x:Number;
  127.     public var p1y:Number;
  128.     public var p2x:Number;
  129.     public var p2y:Number;
  130.     public var w:Number;
  131.     public var r:Number;
  132.     public var count:int;
  133.     public var vmt:FMatrix2D;
  134.     public var tmt:FMatrix2D;
  135.     public function WormObject(){
  136.         
  137.     }
  138. }
noswf
  1. // forked from nutsu's Worm matrix based.
  2. /**
  3. LOVE MATRIX.
  4. a study for drawing curl curve.
  5. license under the GNU Lesser General Public License.
  6. */
  7. package {
  8.     import frocessing.display.F5MovieClip2DBmp;
  9.     import frocessing.geom.FMatrix2D;
  10.     
  11.     public class WormMatrix extends F5MovieClip2DBmp{
  12.         
  13.         private var vms:Array;
  14.         private var R:Number = 70;
  15.         private var N:Number = 80;
  16.         private var col:uint = 0x000000;
  17.         
  18.         public function WormMatrix () {
  19.             superfalse, 0xffffffff );
  20.             stage.frameRate = 60;
  21.         }
  22.         
  23.         public function initWorms():void
  24.         {
  25.             var num:int  = 100;
  26.             var w:Number = 2;
  27.             var rd:Number = TWO_PI/num;
  28.             var mtx:FMatrix2D = new FMatrix2D();
  29.             mtx.translate( R, 0 );
  30.             
  31.             vms = [];
  32.             forvar i:int=0;i<num;i++ )
  33.             {
  34.                 var angle:Number = random(PI/12,PI/6);
  35.                 var tmt:FMatrix2D = new FMatrix2D();
  36.                 tmt.scale( 0.920.92 );
  37.                 tmt.rotate( angle );
  38.                 tmt.translate( random(10,30), 0 );
  39.                 
  40.                 var obj:WormObject = new WormObject();
  41.                 obj.c1x = obj.p1x = -w * mtx.c + mtx.tx;
  42.                 obj.c1y = obj.p1y = -w * mtx.d + mtx.ty;
  43.                 obj.c2x = obj.p2x =  w * mtx.c + mtx.tx;
  44.                 obj.c2y = obj.p2y =  w * mtx.d + mtx.ty;
  45.                 obj.vmt = FMatrix2D(mtx.clone());
  46.                 obj.tmt = tmt;
  47.                 obj.r   = angle;
  48.                 obj.w   = w;
  49.                 obj.count = 0;
  50.                 
  51.                 vms.push( obj );
  52.                 
  53.                 mtx.rotate(rd);
  54.             }
  55.         }
  56.         
  57.         public function setup():void
  58.         {
  59.             size( 465465 );
  60.             background(255);
  61.             noStroke();
  62.             initWorms();
  63.         }
  64.         
  65.         public function draw():void
  66.         {
  67.             if( isMousePressed )
  68.             {
  69.                 background(255);
  70.                 initWorms();
  71.             }
  72.             translate( fg.width/2, fg.height/2 );
  73.             fill( col );
  74.             circle( 00, R );
  75.             
  76.             var len:int = vms.length;
  77.             forvar i:int=0; i<len; i++ )
  78.             {
  79.                 var o:WormObject = vms[i];
  80.                 if( o.count<N ){
  81.                     drawWorm( o );
  82.                     o.count++;
  83.                 }
  84.             }
  85.         }
  86.         
  87.         public function drawWorm( obj:WormObject ):void
  88.         {
  89.             if( Math.random()>0.8 ){
  90.                 obj.tmt.rotate( -obj.r*2 );
  91.                 obj.r *= -1;
  92.             }
  93.             obj.vmt.prepend( obj.tmt );
  94.             var cc1x:Number = -obj.w*obj.vmt.c + obj.vmt.tx;
  95.             var cc1y:Number = -obj.w*obj.vmt.d + obj.vmt.ty;
  96.             var pp1x:Number = (obj.c1x+cc1x)/2;
  97.             var pp1y:Number = (obj.c1y+cc1y)/2;
  98.             var cc2x:Number = obj.w*obj.vmt.c + obj.vmt.tx;
  99.             var cc2y:Number = obj.w*obj.vmt.d + obj.vmt.ty;
  100.             var pp2x:Number = (obj.c2x+cc2x)/2;
  101.             var pp2y:Number = (obj.c2y+cc2y)/2;
  102.             beginFill( col );
  103.             moveTo( obj.p1x, obj.p1y );
  104.             curveTo( obj.c1x, obj.c1y, pp1x, pp1y );
  105.             lineTo( pp2x, pp2y );
  106.             curveTo( obj.c2x, obj.c2y, obj.p2x, obj.p2y );
  107.             closePath();
  108.             endFill();
  109.             obj.c1x = cc1x;
  110.             obj.c1y = cc1y;
  111.             obj.p1x = pp1x;
  112.             obj.p1y = pp1y;
  113.             obj.c2x = cc2x;
  114.             obj.c2y = cc2y;
  115.             obj.p2x = pp2x;
  116.             obj.p2y = pp2y;
  117.         }
  118.     }
  119. }
  120. import frocessing.geom.FMatrix2D;
  121. class WormObject{
  122.     public var c1x:Number;
  123.     public var c1y:Number;
  124.     public var c2x:Number;
  125.     public var c2y:Number;
  126.     public var p1x:Number;
  127.     public var p1y:Number;
  128.     public var p2x:Number;
  129.     public var p2y:Number;
  130.     public var w:Number;
  131.     public var r:Number;
  132.     public var count:int;
  133.     public var vmt:FMatrix2D;
  134.     public var tmt:FMatrix2D;
  135.     public function WormObject(){
  136.         
  137.     }
  138. }
noswf
  1. // forked from nutsu's Worm matrix based.
  2. /**
  3. LOVE MATRIX.
  4. a study for drawing curl curve.
  5. license under the GNU Lesser General Public License.
  6. */
  7. package {
  8.     import frocessing.display.F5MovieClip2DBmp;
  9.     import frocessing.geom.FMatrix2D;
  10.     
  11.     public class WormMatrix extends F5MovieClip2DBmp{
  12.         
  13.         private var vms:Array;
  14.         private var R:Number = 25;
  15.         private var N:Number = 20;
  16.         private var col:uint = 0x000000;
  17.         
  18.         public function WormMatrix () {
  19.             //super( false, 0xffffffff );
  20.             stage.frameRate = 60;
  21.         }
  22.         
  23.         public function initWorms():void
  24.         {
  25.             var num:int  = 50;
  26.             var w:Number = 2;
  27.             var rd:Number = TWO_PI/num;
  28.             var mtx:FMatrix2D = new FMatrix2D();
  29.             mtx.translate( R, 0 );
  30.             
  31.             vms = [];
  32.             forvar i:int=0;i<num;i++ )
  33.             {
  34.                 var angle:Number = random(PI/12,PI/6);
  35.                 var tmt:FMatrix2D = new FMatrix2D();
  36.                 tmt.scale( 0.920.92 );
  37.                 tmt.rotate( angle );
  38.                 tmt.translate( random(10,30), 0 );
  39.                 
  40.                 var obj:WormObject = new WormObject();
  41.                 obj.c1x = obj.p1x = -w * mtx.c + mtx.tx;
  42.                 obj.c1y = obj.p1y = -w * mtx.d + mtx.ty;
  43.                 obj.c2x = obj.p2x =  w * mtx.c + mtx.tx;
  44.                 obj.c2y = obj.p2y =  w * mtx.d + mtx.ty;
  45.                 obj.vmt = FMatrix2D(mtx.clone());
  46.                 obj.tmt = tmt;
  47.                 obj.r   = angle;
  48.                 obj.w   = w;
  49.                 obj.count = 0;
  50.                 
  51.                 vms.push( obj );
  52.                 
  53.                 mtx.rotate(rd);
  54.             }
  55.         }
  56.         
  57.         public function setup():void
  58.         {
  59.             size( 465465 );
  60.             background(255);
  61.             noStroke();
  62.             initWorms();
  63.         }
  64.         
  65.         public function draw():void
  66.         {
  67.             if( isMousePressed )
  68.             {
  69.                 background(255);
  70.                 initWorms();
  71.             }
  72.             translate( fg.width/2, fg.height/2 );
  73.             fill( col );
  74.             circle( 00, R );
  75.             
  76.             var len:int = vms.length;
  77.             forvar i:int=0; i<len; i++ )
  78.             {
  79.                 var o:WormObject = vms[i];
  80.                 if( o.count<N ){
  81.                     drawWorm( o );
  82.                     o.count++;
  83.                 }
  84.             }
  85.         }
  86.         
  87.         public function drawWorm( obj:WormObject ):void
  88.         {
  89.             if( Math.random()>0.8 ){
  90.                 obj.tmt.rotate( -obj.r*2 );
  91.                 obj.r *= -1;
  92.             }
  93.             obj.vmt.prepend( obj.tmt );
  94.             var cc1x:Number = -obj.w*obj.vmt.c + obj.vmt.tx;
  95.             var cc1y:Number = -obj.w*obj.vmt.d + obj.vmt.ty;
  96.             var pp1x:Number = (obj.c1x+cc1x)/2;
  97.             var pp1y:Number = (obj.c1y+cc1y)/2;
  98.             var cc2x:Number = obj.w*obj.vmt.c + obj.vmt.tx;
  99.             var cc2y:Number = obj.w*obj.vmt.d + obj.vmt.ty;
  100.             var pp2x:Number = (obj.c2x+cc2x)/2;
  101.             var pp2y:Number = (obj.c2y+cc2y)/2;
  102.             beginFill( col );
  103.             moveTo( obj.p1x, obj.p1y );
  104.             curveTo( obj.c1x, obj.c1y, pp1x, pp1y );
  105.             lineTo( pp2x, pp2y );
  106.             curveTo( obj.c2x, obj.c2y, obj.p2x, obj.p2y );
  107.             closePath();
  108.             endFill();
  109.             obj.c1x = cc1x;
  110.             obj.c1y = cc1y;
  111.             obj.p1x = pp1x;
  112.             obj.p1y = pp1y;
  113.             obj.c2x = cc2x;
  114.             obj.c2y = cc2y;
  115.             obj.p2x = pp2x;
  116.             obj.p2y = pp2y;
  117.         }
  118.     }
  119. }
  120. import frocessing.geom.FMatrix2D;
  121. class WormObject{
  122.     public var c1x:Number;
  123.     public var c1y:Number;
  124.     public var c2x:Number;
  125.     public var c2y:Number;
  126.     public var p1x:Number;
  127.     public var p1y:Number;
  128.     public var p2x:Number;
  129.     public var p2y:Number;
  130.     public var w:Number;
  131.     public var r:Number;
  132.     public var count:int;
  133.     public var vmt:FMatrix2D;
  134.     public var tmt:FMatrix2D;
  135.     public function WormObject(){
  136.         
  137.     }
  138. }
noswf
Get Adobe Flash Player