67
STEREO 3D APPLICATIONS POTENTIAL FOR HERITAGE DISASTER MANAGEMENT Maria BOSTENARU DAN

COST Madrid

Embed Size (px)

DESCRIPTION

Stereo 3D

Citation preview

Page 1: COST Madrid

STEREO 3D APPLICATIONS POTENTIAL FOR HERITAGE DISASTER MANAGEMENT

Maria BOSTENARU DAN

Page 2: COST Madrid

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)

Page 3: COST Madrid

Historical and now

Research on stereo photography

Page 4: COST Madrid

3D photography

historic Canadian Centre for Architecture

1866 fire in Portland, Maine – J. Soule Giorgio Sommer Evora

DDR Now

Castles in Hungary

Page 5: COST Madrid

Canadian Centre for Architecture

Page 6: COST Madrid

Canadian Centre for Architecture

Page 7: COST Madrid
Page 8: COST Madrid

Photographer Siever

CCA

Fire Boston 1873

Page 9: COST Madrid

Photographer Soule John

CCA

Fire Portland (Maine) 1866

Page 10: COST Madrid

wikipedia

Giorgio Sommer Vesuvius 26 April 1872

Page 11: COST Madrid

wikipedia

Giorgio Sommer Vesuvius

Page 12: COST Madrid

wikipedia

Giorgio Sommer Pompei

Page 13: COST Madrid

Evora disaparecida

Page 14: COST Madrid
Page 15: COST Madrid

http://www.varak3d.hu/

Várak 3D

Page 16: COST Madrid

Photo.net

Projection of stereo in an installation

Page 17: COST Madrid

Rediscovered space

Page 18: COST Madrid

Rediscovered space

Page 19: COST Madrid

Rediscovered space

Page 20: COST Madrid

Satellite imagery

2001 Gujarat earthquake – M. Markus (comparison with eye view)

L‘Aquila (our research) 2010 Haiti – stereo pairs (Langenbach)

Page 21: COST Madrid

Foto 2003, 2010

Plan: Protecţia Civilă Italiană

L‘Aquila

Page 22: COST Madrid

Stereo pairs 2010

http://www.conservationtech.com/

Pictometry images

Page 23: COST Madrid

3D application programming

Page 24: COST Madrid

Programming

Lingo script, openGL basis Of a geometric model which we also

built in paper (rhombicuboctaedron)

Page 25: COST Madrid
Page 26: COST Madrid
Page 27: COST Madrid
Page 28: COST Madrid

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)

Page 29: COST Madrid

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))) )

Page 30: COST Madrid

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)

Page 31: COST Madrid

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(PI/4)),((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)

Page 32: COST Madrid

mymeshgeometryx.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(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)

Page 33: COST Madrid

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 =#lowt.renderFormat = #rgba4444particleresource.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)endcreate world

Page 34: COST Madrid

sprite(1).camera=member(1).camera("axonometrie")

sprite(2).camera=member(1).camera("camera2")

member(1).model[3].rotate(0, 90, 0, member(1).model[1])

end

Page 35: COST Madrid
Page 36: COST Madrid
Page 37: COST Madrid
Page 38: COST Madrid
Page 39: COST Madrid
Page 40: COST Madrid
Page 41: COST Madrid
Page 42: COST Madrid
Page 43: COST Madrid

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

Page 44: COST Madrid

Rediscovered space

Page 45: COST Madrid

Rediscovered space

Page 46: COST Madrid

Rediscovered space

Page 47: COST Madrid

Rediscovered space

Page 48: COST Madrid

Rediscovered space

Page 49: COST Madrid

Rediscovered space

Page 50: COST Madrid

Rediscovered space

Page 51: COST Madrid

Rediscovered space

Page 52: COST Madrid

Rediscovered space

Page 53: COST Madrid

Student exercise site

Page 54: COST Madrid
Page 55: COST Madrid
Page 56: COST Madrid
Page 57: COST Madrid
Page 58: COST Madrid
Page 59: COST Madrid
Page 60: COST Madrid
Page 61: COST Madrid

Augmented reality

Page 62: COST Madrid

Leebmann 2002

Augmented reality – photo & modell superposition

Page 63: COST Madrid

Leebmann 2004

Superposition of video, laser-scanning and CAD simulation

Page 64: COST Madrid

Potential application

Page 65: COST Madrid

Archeologic reconstruction

Granada 3D Troia 3D

Director

Page 66: COST Madrid

Now and then photography

Rezistenta.net Langenbach (Piranesi) San Francisco 1906 (Arnold Genthe) Indian Mutiny (Felice Beato)

Page 67: COST Madrid

Thank you!