Skip to content

Ecce Signum

Immanentize the Empathy

  • Home
  • About Me
  • Published Works and Literary Matters
  • Indexes
  • Laboratory
  • Notebooks
  • RSS Feed

Category: Programming

Filled Height Map

2007-11-20 John Winkelman

Perlin Noise, Threshold, and Actionscript 3 make an isometric height map

Another Height Map experiment – subtly different from the wireframe. The wireframe is visually more interesting, perhaps, but this one is more beautiful.

Posted in ProgrammingTagged Flash comment on Filled Height Map

Wireframe Height Map

2007-11-20 John Winkelman

AS3 Perlin Noise Threshold experiment

Click the image to run the simulation.

Posted in ProgrammingTagged Flash comment on Wireframe Height Map

Rearranging a Few Things

2007-11-17 John Winkelman

Click the image to launch the experiment.

This is an earlier experiment which I have re-posted in order to test some new TextPattern functionality. Well, new to me, anyway. I want to have my Flash experiments plugged into my blogging software, and at the same time have them appear in a minimal interface which allows for movies of any arbitrary size. I also wanted to have comments enabled for the experiments. So over the next little while there will be several experiments – some old, some new – posted here, in order to, at long last, enter them officially into the site.

Posted in ProgrammingTagged Flash comment on Rearranging a Few Things

A New Flash Experiment

2007-11-06 John Winkelman

Click the image to launch the experiment.

This is a thing which I suppose I have been working on for almost a year and a half: An isometric view, rotating height map created only using the built-in capabilities of Flash 9. Well, I have been kicking the idea around for a year and a half. I began to build something out in Flash 8 late last summer, but as soon as the new plug-in was released, it stopped working. This new version I built from scratch in about a week.

Click on the above screenshot to see it in action. Warning: It is quite processor intensive. It won’t crash your computer, but you will probably hear all of the fans kick on. And the file is less than 2k in size.

Posted in ProgrammingTagged Flash comment on A New Flash Experiment

Some New Stuff

2007-11-05 John Winkelman

I have been doing a lot of Flash work lately, so in an effort to shamelessly promote my talents I now have an experiments section. You can see the button at the top of the page, nestled in between “About” and “Links”

Also: As of November 1, 2007, BBK Studio (my former and current place of employment) is now People Design. We ushered in the new era with a grand party at the new Grand Rapids Art Museum, which is big and beautiful (as is their website, which we built).

Posted in ProgrammingTagged Flash, work comment on Some New Stuff

120

2007-07-23 John Winkelman

I have just updated the Grand Rapids Crime Map for the first time since, I think, May. I now have 120 incidents located.

This round of updates includes several teenagers being shot, a couple of bank robberies, the attempted rape of an 85 year old woman and the attempted robbery of a 72 year old man. You may have heard of that last on from the national news.

Oh yeah. And an officer killed in the line of duty. For some reason, that one bothered me more than the rest. Maybe because it was the only violent crime (other than the 85-year-old woman) where the victim definitely didn’t have it coming.

If Grand Rapids doesn’t fucking chill out soon, I may have to build a content management system for my pet project just to keep up with the idiocy.

Argh.

Posted in ProgrammingTagged crime map, Grand Rapids comment on 120

And Another One!

2007-06-19 John Winkelman

Click here to launch the experiment.

I figured out how to implement double buffering in Flash this morning, and this is the result: 500 particles, with transparency and a blur filter.

If this seems to run slow, click on the headline to this article to open the Flash movie in a page where it isn’t competing for resources with the other experiments.

Posted in ProgrammingTagged Flash comment on And Another One!

Another One. This is Too Much Fun!

2007-06-18 John Winkelman

Click here to launch the experiment.

This is 100 particles following a simple curve formula. Anything repeated 100 times is going to be kind of interesting.

Posted in ProgrammingTagged Flash comment on Another One. This is Too Much Fun!

Second Flash Experiment in A Long Time

2007-06-14 John Winkelman

Clicky

Posted in ProgrammingTagged Flash comment on Second Flash Experiment in A Long Time

First Flash Experiment in a Long Time

2007-06-11 John Winkelman

Here it is. My first real experiment in Flash 9.

Click to play.

Because, first and foremost, Flash is a trip toy.

Code for this experiment here:

package {
 import flash.display.*;
 import flash.events.Event;
 import flash.geom.*;
 import flash.filters.BlurFilter;
 public class BitmapRotate2 extends Sprite {
 private var _graphic:PolyStar;
 private var _graphic2:PolyStar;
 private var _bitmap:BitmapData;
 private var _image:Bitmap;
 private var _m:Matrix;
 private var _blurFilter:BlurFilter;
 private var xSpeed:Number = .9;
 private var ySpeed:Number = 1.1;
 public function BitmapRotate2() {
 _graphic = new PolyStar(0,0,7,false,50,30,0,0xff0000,100,0x0000ff,100);
 _m = _graphic.transform.matrix;
 _blurFilter = new BlurFilter();
 addEventListener(Event.ENTER_FRAME,registerStage);
 }
 public function registerStage(event:Event) {
 if(stage) {
 removeEventListener(Event.ENTER_FRAME,registerStage);
 _graphic.x = 0
 _graphic.y = 0;
 _bitmap = new BitmapData(stage.stageWidth,stage.stageHeight,true,0xff000000);
 _image = new Bitmap(_bitmap);
 _m = _graphic.transform.matrix;
 _graphic2 = new PolyStar(stage.stageWidth/2,stage.stageHeight/2,9,true,stage.stageWidth/2-20,stage.stageWidth/6,0,0xff0000,100,0xff0000,0);
 addChild(_image);
 addEventListener(Event.ENTER_FRAME,onEnterFrame);
 }
 }
 private function onEnterFrame(event:Event) {
 _graphic.rotation+=5;
 _graphic.x = mouseX;
 _graphic.y = mouseY;
 _m = _graphic.transform.matrix;
 _bitmap.draw(_graphic,_graphic.transform.matrix);
 _bitmap.draw(_graphic2,_graphic2.transform.matrix);
 _bitmap.applyFilter(_bitmap,_bitmap.rect,new Point(),_blurFilter);
 }
 }
 }

The “PolyStar” class is here:

package {
 import flash.display.Shape
 public class PolyStar extends Shape{
 public function PolyStar($x:Number,$y:Number,$points:Number,$vertical:Boolean,$outerRad:Number,$innerRad:Number,$lineW:Number,$lineC:Number,$lineA:Number,$bgC,$bgA:Number) {
 var points:Number = $points*2;
 var angleDelta:Number = (Math.PI*2 / points);
 var angle:Number = 0;
 var anglex:Number = 0;
 var angley:Number = 0;
 graphics.lineStyle($lineW,$lineC,$lineA);
 if(typeof($bgC)=="number") {
 graphics.beginFill($bgC,$bgA);
 } else {
 graphics.beginGradientFill($bgC.type,$bgC.colors,$bgC.alphas,$bgC.ratios,$bgC.matrix);
 }
 if($vertical != true) {
 graphics.moveTo($outerRad,0);
 } else {
 graphics.moveTo(//change orientation of polygon
 Math.cos(angle + (angleDelta/2)) * $outerRad,
 Math.sin(angle + (angleDelta/2)) * $outerRad
 );
 }
 for(var i=0;i<points;i++) br=""> angle += angleDelta;
 var temp:Number = (i%2) ? $outerRad: $innerRad;
 if($vertical != true) {
 anglex = Math.cos(angle) * temp;
 angley = Math.sin(angle) * temp;
 } else {//change orientation of polygon
 anglex = Math.cos(angle + (angleDelta/2)) * temp;
 angley = Math.sin(angle + (angleDelta/2)) * temp;
 }
 graphics.lineTo(anglex,angley);
 }
 x = $x;
 y = $y;
 }
 }
 }

Enjoy!

Posted in ProgrammingTagged Flash comment on First Flash Experiment in a Long Time

Posts navigation

Older posts
Newer posts

Personal website of
John Winkelman

John Winkelman in closeup

Archives

Categories

Posts By Month

June 2025
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930  
« May    

Links of Note

Reading, Writing
Tor.com
Locus Online
The Believer
File 770
IWSG

Watching, Listening
Writing Excuses Podcast
Our Opinions Are Correct
The Naropa Poetics Audio Archive

News, Politics, Economics
Naked Capitalism
Crooked Timber

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

© 2025 Ecce Signum

Proudly powered by WordPress | Theme: x-blog by wpthemespace.com