Implicit 3D Blobby shapevent forked:5favorite:17lines:61license : MIT License modified : 2009-08-07 14:57:20 share Tweet package { // interactive implicit 3D blobby plot // more info here: http://actionsnippet.com/?p=1318 import flash.display.*; import flash.events.*; import flash.geom.*; [SWF(backgroundColor=0x000000)] public class ImplicitBlobby extends MovieClip { private var matrix:Matrix3D; private var verts:Vector.<Number>; private var pVerts:Vector.<Number>; private var uvts:Vector.<Number>; private var s:Number; private var brush:BitmapData; private var canvas:BitmapData; private var dx:Number; private var dy:Number; public function ImplicitBlobby(){ // init matrix = new Matrix3D(); verts = new Vector.<Number>(); pVerts = new Vector.<Number>(); uvts = new Vector.<Number>(); for (var i:Number = -2; i<2; i+=.04) { for (var j:Number = -2; j<2; j+=.04) { for (var k:Number = -2; k<2; k+=.04) { // blobby, from here www.iiit.net/techreports/ImplicitTR.pdf s=i*i+j*j+k*k+Math.sin(4*i)-Math.cos(4*j)+Math.sin(4*k)-1; if (s<0&&s>-.2) { verts.push(i * 60); verts.push(j * 60); verts.push(k * 60); pVerts.push(0),pVerts.push(0); uvts.push(0),uvts.push(0),uvts.push(0); } } } } brush=new BitmapData(3,2,true,0x41FFFFFF); canvas=new BitmapData(400,400,false,0x000000); addChild(new Bitmap(canvas)); dx=0; dy=0; addEventListener(Event.ENTER_FRAME, onLoop); } // private methods private function onLoop(evt:Event):void { dx += (mouseX - dx)/4; dy += (mouseY - dy)/4; matrix.identity(); matrix.appendRotation(dy,Vector3D.X_AXIS); matrix.appendRotation(dx,Vector3D.Y_AXIS); matrix.appendTranslation(200, 200, 0); Utils3D.projectVectors(matrix, verts, pVerts, uvts); canvas.lock(); canvas.fillRect(canvas.rect, 0x000000); var p:Point = new Point(); for (var i:int = 0; i<pVerts.length; i+=2) { p.x = pVerts[i]; p.y = pVerts[i+1]; canvas.copyPixels(brush, brush.rect, p, null, null, true); } canvas.unlock(); } } } Code Fullscreen Preview Fullscreen hacker_w7d9y.. Joker heckmeck alibaba tkinjo ngtn nki2 siouxcitizen.. alumican_net.. sw_lucchini TUNCAYS soundkitchen.. xui sazaam : blob hacker_vun6dvx4 : バイオ! _Andros_ : 3Dmatrix keim_at_Si : 3D 3D 3D, BitmapData, blob implicit matrix plot, matrix appendRotation Matrix3D appendTranslation push identity Vector3D.Y_AXIS Vector3D.X_AXIS Utils3D.projectVectors copyPixels unlock lock mouseY mouseX fillRect addEventListener Vector BitmapData MovieClip Math.sin sort new page view favorite forked pv202 Another Implicit 3D Blobby zotin95 forked:0 favorite:1lines:61 (diff:10) tag: 3D pv114 forked from: Implicit 3D Blobb.. hacker_e31e8142 forked:1 favorite:0lines:61 (diff:1) pv0 forked from: Implicit 3D Blobb.. 1314520 forked:0 favorite:0lines:61 (diff:1) pv0 forked from: Implicit 3D Blobb.. hacker_wvlnu0fx forked:0 favorite:0lines:61 (diff:1) pv161 forked from: Implicit 3D Blobb.. miki forked:1 favorite:0lines:61 (diff:5)