COST Madrid

272 views

Published on

Stereo 3D

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
272
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

COST Madrid

  1. 1. STEREO 3D APPLICATIONS POTENTIAL FOR HERITAGE DISASTER MANAGEMENT Maria BOSTENARU DAN
  2. 2. Introduction  Human viewing in 3D through stereo images  Pairs of images / colours  3D photography  Disaster management  Heritage conservation – 3D images (incl. Puzzles)  Reconstruction of antique sites superposed to real photo  In this paper: Adobe (Macromedia) Director application  Potential for augmented reality (superpose 3D model and photograph)
  3. 3. Historical and now Research on stereo photography
  4. 4. 3D photography  historic  Canadian Centre for Architecture  1866 fire in Portland, Maine – J. Soule  Giorgio Sommer  Evora  DDR  Now  Castles in Hungary
  5. 5. Canadian Centre for Architecture
  6. 6. Canadian Centre for Architecture
  7. 7. Photographer Siever CCA Fire Boston 1873
  8. 8. Photographer Soule John CCA Fire Portland (Maine) 1866
  9. 9. wikipedia Giorgio Sommer Vesuvius 26 April 1872
  10. 10. wikipedia Giorgio Sommer Vesuvius
  11. 11. wikipedia Giorgio Sommer Pompei
  12. 12. Evora disaparecida
  13. 13. http://www.varak3d.hu/ Várak 3D
  14. 14. Photo.net Projection of stereo in an installation
  15. 15. Rediscovered space
  16. 16. Rediscovered space
  17. 17. Rediscovered space
  18. 18. Satellite imagery  2001 Gujarat earthquake – M. Markus (comparison with eye view)  L‘Aquila (our research)  2010 Haiti – stereo pairs (Langenbach)
  19. 19. Foto 2003, 2010 Plan: Protecţia Civilă Italiană L‘Aquila
  20. 20. Stereo pairs 2010 http://www.conservationtech.com/ Pictometry images
  21. 21. 3D application programming
  22. 22. Programming  Lingo script, openGL basis  Of a geometric model which we also built in paper (rhombicuboctaedron)
  23. 23. member(1).newCamera("axonometrie") (member 1 of castLib 1).Camera(2).translate(0, 0, 100, #world) member(1).camera(2).rotate(45, 0, -135, #world) member(1).newCamera("camera2") (member 1 of castLib 1).Camera(3).translate(0, 0, 100, #world) member(1).camera(3).rotate(45, 0, -135, #world) member(1).camera(3).translate(20, 0, 0, #world)
  24. 24. on enterFrame global l member(1).resetWorld() member(1).bgcolor=rgb(0,0,255) l=20 mymeshgeometry = member(1).newMesh("rhombicuboctaedron", 44, 24, 0, 4) tmpvertlist=[] tmpvertlist.add( vector(l/2,l/2,(l/2+l*cos(PI/4))) ) tmpvertlist.add( vector(-l/2,l/2,(l/2+l*cos(PI/4))) ) tmpvertlist.add( vector(l/2,-l/2,(l/2+l*cos(PI/4))) ) tmpvertlist.add( vector(-l/2,-l/2,(l/2+l*cos(PI/4))) ) tmpvertlist.add( vector(l/2,l/2,-(l/2+l*cos(PI/4))) ) tmpvertlist.add( vector(-l/2,l/2,-(l/2+l*cos(PI/4))) ) tmpvertlist.add( vector(l/2,-l/2,-(l/2+l*cos(PI/4))) ) tmpvertlist.add( vector(-l/2,-l/2,-(l/2+l*cos(PI/4))) )
  25. 25. mymeshgeometry.vertexlist=tmpvertlist mymeshgeometry.colorList=[ rgb(255,255,255), rgb(0,255,255) , rgb(255,0,0), rgb(0,0,255)] mymeshgeometry.face[1].vertices=[1,3,2] mymeshgeometry.face[1].colors=[1,1,1] mymeshgeometry.face[2].vertices=[4,2,3] mymeshgeometry.face[2].colors=[1,1,1] mymeshgeometry.face[3].vertices=[2,4,17] mymeshgeometry.face[42].colors=[1,1,1] mymeshgeometry.face[43].vertices=[6,8,5] mymeshgeometry.face[43].colors=[1,1,1] mymeshgeometry.face[44].vertices=[5,8,7] mymeshgeometry.face[44].colors=[1,1,1] mymeshgeometry.generateNormals(#flat) mymeshgeometry.build() mymeshl = member(1).newModel("meshlinks", mymeshgeometry) (member 1 of castLib 1).Model[1].visibility = #both mymeshgeometryx = member(1).newMesh("tetraedru", 4, 4, 0, 1, 1)
  26. 26. myboxgeometry = member(1).newModelResource("cub", #box) myboxgeometry.width = l myboxgeometry.length = l myboxgeometry.height = l mybox = member(1).newModel("cube", myboxgeometry) myboxtexture = member(1).newTexture("cubetexture", #fromCastMember, member("bitmap")) (member 1 of castLib 1).newShader("rot",#standard) (member 1 of castLib 1).Shader[2].textureList[1] = (member 1 of castLib 1).texture[3] (member 1 of castLib 1).Model[3].shaderList = (member 1 of castLib 1).shader[2] member(1).model[3].translate(0, 0, (2*(l+l*cos(PI/4))) , #world) mymeshgeometryz = member(1).newMesh("tetraedruz", 4, 4, 0, 1, 1) mymeshgeometryz.vertexList=[vector(-((l/2)*cos(PI/4)),-((l/2)*cos(PI/4)),-((l/2)*cos(PI/4))), vector(-((l/2)*cos(PI/4)),((l/2)*cos(PI/4)),((l/2)*cos(PI/4))),vector(((l/2)*cos(PI/4)),-((l/2)*cos ((l/2)*cos(PI/4))),vector(((l/2)*cos(PI/4)),((l/2)*cos(PI/4)),-((l/2)*cos(PI/4)))] mymeshgeometryz.colorList=[rgb(255,0,0)] mymeshgeometryz.face[1].vertices=[1,3,2] mymeshgeometryz.face[2].vertices=[2,3,4] mymeshgeometryz.face[3].vertices=[1,2,4] mymeshgeometryz.face[4].vertices=[1,4,3] mymeshgeometryz.face[1].colors=[1,1,1] mymeshgeometryz.face[2].colors=[1,1,1] mymeshgeometryz.face[3].colors=[1,1,1] mymeshgeometryz.face[4].colors=[1,1,1] mymeshgeometryz.generateNormals(#flat) mymeshgeometryz.build() mymeshx = member(1).newModel("tetraederz", mymeshgeometryz) (member 1 of castLib 1).Model[4].visibility = #both member(1).model[4].translate(0, 0, (3*(l+l*cos(PI/4))), #world)
  27. 27. mymeshgeometryx.vertexList=[vector(((l/2)*cos(PI/4)),((l/2)*cos(PI ((l/2)*cos(PI/4))),vector(((l/2)*cos(PI/4)),-((l/2)*cos(PI/4)),-(( vector(-((l/2)*cos(PI/4)),((l/2)*cos(PI/4)),-((l/2)*cos(PI/4))), vector(-((l/2)*cos(PI/4)),-((l/2)*cos(PI/4)),((l/2)*cos(PI/4)))] mymeshgeometryx.colorList=[rgb(255,0,0)] mymeshgeometryx.face[1].vertices=[1,3,2] mymeshgeometryx.face[2].vertices=[2,3,4] mymeshgeometryx.face[3].vertices=[1,2,4] mymeshgeometryx.face[4].vertices=[1,4,3] mymeshgeometryx.face[1].colors=[1,1,1] mymeshgeometryx.face[2].colors=[1,1,1] mymeshgeometryx.face[3].colors=[1,1,1] mymeshgeometryx.face[4].colors=[1,1,1] mymeshgeometryx.generateNormals(#flat) mymeshgeometryx.build() mymeshx = member(1).newModel("tetraeder", mymeshgeometryx) (member 1 of castLib 1).Model[2].visibility = #both member(1).model[2].translate(0, 0, (l+l*cos(PI/4)), #world)
  28. 28. particleresource=member(1).newModelResource("particles",#particle) particleresource.emitter.minSpeed = 40 particleresource.emitter.maxSpeed = 50 particleresource.emitter.numParticles = 350 particleresource.emitter.tweenMode = #age particleresource.emitter.angle = 90 particleresource.emitter.direction = vector(0.000, -150.000, 0.000 ) particleresource.emitter.region = [vector(-50.000, 0.000, -50.000 ), vector(50.000, 0.000, -50.000 ), vector(50.000, 0.000, 50.000 ), vector(-50.000, 0.000, 50.000 ) particleresource.wind = vector(1.000, -50.000, 50.000 ) particleresource.lifeTime = 5000 particleresource.colorRange.start = rgb(0, 255, 255) particleresource.colorRange.end = rgb(255, 255, 255) particleresource.sizeRange.start = 12 particleresource.sizeRange.end = 6 particleresource.blendRange.start = 25 particleresource.blendRange.end = 100 t = member(1).newTexture("tparticle", #fromCastMember, member "particle") t.quality =#low t.renderFormat = #rgba4444 particleresource.texture = t member(1).camera(1).addChild(member(1).newModel("particles1", particleresource)) member(1).camera(1).addChild(member(1).newModel("particles2", particleresource)) member(1).model("particles2").rotate(0,0,180,#parent) end create world
  29. 29. sprite(1).camera=member(1).camera("axonomet rie") sprite(2).camera=member(1).camera("camera2" ) member(1).model[3].rotate(0, 90, 0, member(1).model[1]) end
  30. 30. Outlook  Stereo images – illusion of 3D  Potential not fully used  Like in reconstruction on CD in the last decade, translation from paper into computer application of augmented reality
  31. 31. Rediscovered space
  32. 32. Rediscovered space
  33. 33. Rediscovered space
  34. 34. Rediscovered space
  35. 35. Rediscovered space
  36. 36. Rediscovered space
  37. 37. Rediscovered space
  38. 38. Rediscovered space
  39. 39. Rediscovered space
  40. 40. Student exercise site
  41. 41. Augmented reality
  42. 42. Leebmann 2002 Augmented reality – photo & modell superposition
  43. 43. Leebmann 2004 Superposition of video, laser-scanning and CAD simulation
  44. 44. Potential application
  45. 45. Archeologic reconstruction  Granada 3D  Troia 3D  Director
  46. 46. Now and then photography  Rezistenta.net  Langenbach (Piranesi)  San Francisco 1906 (Arnold Genthe)  Indian Mutiny (Felice Beato)
  47. 47. Thank you!

×