Your SlideShare is downloading. ×
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Augmented Reality With FlarToolkit and Papervision3D
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Augmented Reality With FlarToolkit and Papervision3D

7,331

Published on

Augmented Reality With FlarToolkit and Papervision3D

Augmented Reality With FlarToolkit and Papervision3D

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,331
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
302
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Augmented Reality with Flex, FlarToolkit and Papervision3D Roman Protsyk 20.12.2010
  • 2. Agenda
    • Augmented reality definition and examples
    • Augmented Reality in web browser with FlarToolkit
    • Augmented reality demo creation using Flex, FlarToolkit and Papervision3D demo
  • 3. What is Augmented Reality?
    • Augmented Reality (AR)
    • term referring to all the projects to complement the reality of any virtual elements
    The term was proposed by Tom Caudell, a researcher of Boeing Corporation,in 1990 . Ronald Azuma in 1997 defined the augmented reality as a system that 1. Combines the virtual and real. 2. Interact in real-time 3. Works in 3D.
  • 4. Nintendo – Wii Augmented Reality Examples : Game Consoles Sony PlayStation 3 – Controller + Eye Cam Sony PlayStation 3 – Eye Pet XBox – Project Natal
  • 5. 1. Mobilizy – Wikitude 2. Nokia – Concept with Image Comparison 3. Whiteapp – AR iPhone apps Augmented Reality examples: Location Based Mobile Apps
  • 6. Augmented Reality examples
    • There are AR applications outside of console games, including military and consumer products, too. Night-vision goggles and targeting-assistance technology help marksmen in battle, and children's stories come to life with AR-enhanced books. The uses are vast.
  • 7. Augmented reality in web browser
    • The world’s first Flash based augmented reality library ported from NyARToolkit (Java ported version of ARToolKit ) by Tomohiko Koyama aka Saqoosha .
    • First version was released in May 2008.
    • Porting was completed in about 1 week.
    • FLAR is a part of Spark project - Flash/ActionScript open source community . http://www.libspark.org/wiki/saqoosha/FLARToolKit/en
  • 8. FlarToolkit example
    • http://ge.ecomagination.com/smartgrid/?c_id=Matter#/augmented_reality
  • 9. FlarToolkit example
    • http://www.livingsasquatch.com/
  • 10. Basic usage
    • FLARToolKit doesn’t render the 3D objects.
    • Calculates only the orientation of the marker.
    • Use other 3D engines to render 3D objects.
    • - Papervision3D
    • - Away3D (both 2.x and 3.x)
    • - Sandy
    • - Alternativa3D
    • Start-up guide for FLARToolKit.
    • http://saqoosha.net/en/flartoolkit/start-up-guide/
  • 11. Demo
    • Let’s create demo application and look inside FLARToolkit in parallel
  • 12. Creation of sample application
    • Create marker image “pattern16.pat”:
    • http://flash.tarotaro.org/ar/MarkerGeneratorOnline.swf
    • Open Flex Builder
    • Create sample ActionScript “FlarDemo” project
    • Download FlarToolkit: http://www.libspark.org/svn/as3/FLARToolKit/
    • Download Papervision3d: http://code.google.com/p/papervision3d/downloads/list
  • 13. Inside FLARToolKit Marker pattern specification: Needs to be square. Only 50% of center area is used in matching process. Marker pattern is 16 x 16 dots bitmap by default. Size of the pattern can be lager, but it requires more recognition time.
  • 14. Creation of sample application
    • Get “camera_para.dat” file which contains default properties for camera from: http://www.libspark.org/svn/as3/ARToolKitMarkerGenerator/trunk/
    • Camera calibration - is the problem of obtaining internal and external camera parameters from the available photographs or video filmed with it
  • 15. Inside FLARToolKit
    • Capture the image from webcam. (Step 1 of 7)
      • Simply use Camera and Video classes.
      • then draw video instance onto the BitmapData.
  • 16. Inside FLARToolKit
    • Binarize input image. (Step 2 of 7)
  • 17. Inside FLARToolKit
    • Labeling. (Step 3 of 7)
  • 18. Inside FLARToolKit
    • Find squares. (Step 4 of 7)
  • 19. Inside FLARToolKit
    • Matching with patterns.
    • (Step 5 of 7)
    • Extract the images from detected rectangles using homography transform.
  • 20. Inside FLARToolKit
    • Render the 3D objects. (Step 6 of 7)
    • - FLARToolKit includes support classes which converts FLAR’s transform matrix to each 3D engine internal matrix classes.
  • 21. Inside FLARToolKit
    • Calculate transform matrix. (Step 7 of 7)
    • - It’s calculated by square’s vertices of the detected marker.
  • 22. Inside FLARToolkit
  • 23. Demo application
    • public function FlarDemo()
    • {
    • setupFlar();
    • setupCamera();
    • setupBitmapData();
    • setupPV3D();
    • addEventListener(Event.ENTER_FRAME, loop);
    • }
    • private function setupFlar():void
    • {
    • fparams= new FLARParam();
    • fparams.loadARParam( new params() as ByteArray);
    • mpattern= new FLARCode(16, 16);
    • mpattern.loadARPatt( new pattern());
    • }
    • private function setupCamera():void
    • {
    • vid= new Video(640, 480);
    • cam=Camera.getCamera();
    • cam.setMode(640, 480, 30);
    • vid.attachCamera(cam);
    • addChild(vid);
    • }
    • private function setupBitmapData():void
    • {
    • bmd = new BitmapData(640, 480);
    • bmd.draw(vid);
    • raster = new FLARRgbRaster_BitmapData(bmd);
    • detector = new FLARSingleMarkerDetector(fparams,mpattern, 80);
    • }
  • 24. Demo application
    • private function setupPV3D():void
    • {
    • scene = new Scene3D();
    • camera = new FLARCamera3D(fparams);
    • container = new FLARBaseNode();
    • scene.addChild(container);
    • var pl:PointLight3D = new PointLight3D();
    • pl.x = 1000;
    • pl.y = 1000;
    • pl.z = -1000;
    • var ml:MaterialsList = new MaterialsList({all: new FlatShadeMaterial(pl)});
    • var cube1:Cube = new Cube(ml,30,30,30);
    • var cube2:Cube = new Cube(ml,30,30,30);
    • cube2.z = 50;
    • var cube3:Cube = new Cube(ml,30,30,30);
    • cube3.z = 100;
    • container.addChild(cube1);
    • container.addChild(cube2);
    • container.addChild(cube3);
    • bre = new BasicRenderEngine();
    • trans = new FLARTransMatResult();
    • vp = new Viewport3D();
    • addChild(vp);
    • }
    • private function loop(e:Event):void
    • {
    • bmd.draw(vid);
    • try
    • {
    • if(detector.detectMarkerLite(raster, 80) && detector.getConfidence()>0.5)
    • {
    • vp.visible = true;
    • detector.getTransformMatrix(trans);
    • container.setTransformMatrix(trans);
    • bre.renderScene(scene, camera, vp);
    • }
    • else
    • {
    • vp.visible = false
    • }
    • }
    • catch(e:Error){}
    • }
    http://protsyk.org.ua/flartoolkitdemo/FlarDemo.zip
  • 25. Demo application Loading of different Papervision3D objects http://protsyk.org.ua/flartoolkitdemo/Flar3DEarth.zip
  • 26. Future of FLARToolKit
  • 27. Alchemy version of FLARToolKit
    • Done by Ryo Iizuka (aka nyatla)
    • - 2 times faster than AS3 version.
    • - You can use more polygons to create 3D models.
    • - It runs on more slower PCs.
    • - Committed at alchemy branch.
    • http://www.libspark.org/svn/as3/FLARToolKit/branches/alchemy/
  • 28. Links
    • FLARToolkit project web page by Saqoosha
    • http://www.libspark.org/wiki/saqoosha/FLARToolKit/en
    • Google group: FLARToolKit-userz .
    • http://groups.google.com/group/flartoolkit-userz
    • FlarToolkit/Flash Augmented Reality Getting Started by Mikko Haapoja
    • http://www.mikkoh.com/blog/2008/12/flartoolkitflash-augmented-realitygetting-started/
  • 29. Thank you
    • Questions
    Contacts: Roman Protsyk Teodorovych [email_address] Senior Software Developer

×