Papervision3d はじめの六歩 Camera について学ぶ。
2009 年 5 月 29 日
コメントはありません
BasicViewの継承関係は。
BasicView→AbstractView→Spliteとなっています。
そしてAbstractViewクラスは
Scene3D,
CameraObject3D,
Viewport3D,
BasicRenderEngine
といった基本的な3D描画に必須なクラスのオブジェクトを持っているようです。
BasicViewはこんな感じの便利クラス!なのですが、こんな便利なクラスに頼りきっていると後々しっぺ返しがくるので、
今のうちに、どのように全体が回っているのかを理解しときましょう。
続きを読む…
15歳にして素粒子論の学術論文を執筆し、オックスフォード大学を17歳で卒業。その後カリフォルニア工科大学(CalTech)に進み、高エネルギー物理学、場の理論、宇宙論の研究を行った。
20歳で理論物理学の研究により、カリフォルニア工科大学においてPh.D. の学位を取得。
その一方で、コンピューターを用いた代数計算の方法を検討していた。1981年にこのアイディアを具現化した数学ソフト(Mathematicaの前身のSMP(Symbolic Manipulation Program))を商業リリース。
1982年より、現在では『複雑系』に分類される自然界の複雑さについて研究。セル・オートマトンに関する革新的研究を行った。
どんだけ!まさに天才・・・
例えば、sineとWolfram|Alphaで検索すると以下の画像のようになる。おおー。
これは、Flashとか勉強する際に簡単に色々取り出せそう!

GoogleTrend?みたいに2つのキーワードを入れると、

こんな感じになる!んーおもろ!

bmm.interactive = true; var basicview:BasicView = new BasicView(640, 480, true, true); _plane.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, clickHandler);
package myproject { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.InteractiveObject; import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.net.URLRequest; import org.papervision3d.materials.BitmapMaterial; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.view.BasicView; import org.papervision3d.events.InteractiveScene3DEvent; public class Index extends Sprite { private var _plane:Plane public function Index():void { var loader:Loader = new Loader(); var urlReq:URLRequest = new URLRequest("http://blog.yaimo.net/wordpress/wp-content/uploads/2009/05/ramen1.jpg"); if (stage != null) { loader.load(urlReq); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); } } private function completeHandler(e:Event):void { e.target.removeEventListener(Event.COMPLETE, completeHandler); this.addChild(e.target.loader); var bmp:BitmapData = new BitmapData(100, 100); bmp.draw(e.target.loader); var bm:Bitmap = new Bitmap(bmp); bm.x = 100; bm.y = 100; addChild(bm); var bmm:BitmapMaterial = new BitmapMaterial(bmp); bmm.doubleSided = true; bmm.smooth = true; bmm.interactive = true; _plane = new Plane(bmm, 100, 100, 3, 3); var basicview:BasicView = new BasicView(640, 480, true, true); basicview.scene.addChild(_plane); basicview.startRendering(); addEventListener(Event.ENTER_FRAME, enterFrameHandler); addChild(basicview); _plane.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, clickHandler); } private function clickHandler(e:InteractiveScene3DEvent):void { _plane.scale += 0.2; } private function enterFrameHandler(e:Event):void { _plane.rotationX += 2; } } }

var bmm:BitmapMaterial = new BitmapMaterial(bmp); bmm.doubleSided = true; bmm.smooth = true; _plane = new Plane(bmm, 100, 100, 3, 3);
package myproject { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.net.URLRequest; import org.papervision3d.materials.BitmapMaterial; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.view.BasicView; public class Index extends Sprite { private var _plane:Plane public function Index():void { var loader:Loader = new Loader(); var urlReq:URLRequest = new URLRequest("img/ramen1.JPG"); if (stage != null) { loader.load(urlReq); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); } } private function completeHandler(e:Event):void { e.target.removeEventListener(Event.COMPLETE, completeHandler); this.addChild(e.target.loader); var bmp:BitmapData = new BitmapData(100, 100); bmp.draw(e.target.loader); var bm:Bitmap = new Bitmap(bmp); bm.x = 100; bm.y = 100; addChild(bm); var bmm:BitmapMaterial = new BitmapMaterial(bmp); bmm.doubleSided = true; bmm.smooth = true; _plane = new Plane(bmm, 100, 100, 3, 3); var basicview:BasicView = new BasicView(); basicview.scene.addChild(_plane); basicview.startRendering(); addEventListener(Event.ENTER_FRAME, enterFrameHandler); addChild(basicview); } private function enterFrameHandler(e:Event):void { _plane.rotationX += 2; } } }