3D Morphing using Multiplanar Representation
description
Transcript of 3D Morphing using Multiplanar Representation
3D Morphing using Multiplanar Representation
3D Morphing using Multiplanar Representation
Anurag Mittal
Mahesh Ramasubramanian
Computer Science Department & Program of Computer Graphics
Cornell University
Anurag Mittal
Mahesh Ramasubramanian
Computer Science Department & Program of Computer Graphics
Cornell University
3D morphing3D morphing
• What is 3D morphing ?– A 3D model of the object is transformed from one shape into another.
• Why 3D morphing ?– Morphs are independent of viewing and lighting parameters.
– View-dependent effects possible e.g., shadows, highlights, camera can be animated during the morph.
– Traditional 2D morphs are inherently “flat” looking.
• Features of a Good 3D morphing algorithm– Conceptually Simple
– Minimal topological restrictions.
– Easy to use user-control
• What is 3D morphing ?– A 3D model of the object is transformed from one shape into another.
• Why 3D morphing ?– Morphs are independent of viewing and lighting parameters.
– View-dependent effects possible e.g., shadows, highlights, camera can be animated during the morph.
– Traditional 2D morphs are inherently “flat” looking.
• Features of a Good 3D morphing algorithm– Conceptually Simple
– Minimal topological restrictions.
– Easy to use user-control
OverviewOverview
3D model3D model
Model Model PolygonsPolygons(triangles)(triangles)
verticesverticesOther parametersOther parameters
(normals, textures)(normals, textures)
Multiplanar RepresentationMultiplanar Representation
htht
Convert model vertices from (x,y,z)Convert model vertices from (x,y,z)to (ht, theta, radius) space.to (ht, theta, radius) space.Scan convert each triangle.Scan convert each triangle.
Axis Axis
““Radius” ImagesRadius” Images(brighter = farther(brighter = farther darker = closer to axisdarker = closer to axis black = no point on object)black = no point on object)
3D model3D model(Axis = green)(Axis = green)
thetatheta
r1,r2r1,r2
r1r1r2r2
htht
thetatheta
correctedcorrectedScan-Scan-convertedconverted
3D to multiplanar 3D to multiplanar representationrepresentation
UsingUsingseparationseparation
ofofplanesplanes(seed-(seed-algo)algo)
33 3333
33 33
2a2a 2b2b
1a1a 1b1b 33
1a1a 1b1b
2a2a 2b2b
2D morphing between the planes2D morphing between the planes
For e.g. using Beier & Neely’s technique (1992)For e.g. using Beier & Neely’s technique (1992)
ReconstructionReconstruction
-ve plane-ve plane
+ve plane+ve plane
Form triangles using adjacent pixels, Form triangles using adjacent pixels, take advantage of continuity at boundariestake advantage of continuity at boundaries
Multiplane rep. To model spaceMultiplane rep. To model space
Original torusOriginal torus
Reconstructed torusReconstructed torusMultiplanesMultiplanes
Different ScenariosDifferent Scenarios
• E.g. E.g.
•
No correspondence for one planeNo correspondence for one plane
•
No correspondence for two planesNo correspondence for two planes(a) Hole in the object (a) Hole in the object
(b) An extruded object (b) An extruded object
Corresponding planes presentCorresponding planes present
ResultsResults
1/2 way there1/2 way there
Conclusion Conclusion
• All the advantages of 3D over 2D morphing are inherited.
• Complexity of 3D morphing is not there!• Works for different topologies, as opposed to some
existing methods.• All other parameters (textures, normals, colors,...) can
be morphed similarly.
• All the advantages of 3D over 2D morphing are inherited.
• Complexity of 3D morphing is not there!• Works for different topologies, as opposed to some
existing methods.• All other parameters (textures, normals, colors,...) can
be morphed similarly.
anim20_256bowltorus.gifanim20_256cansoc256.gif anim20_256funbeeth.gif anim20_256funb.gif
Boundaries between
multiplanes
Boundaries between
multiplanes
1. Intermediate object points must have1. Intermediate object points must have contribution from both the objects contribution from both the objects during dissolving.during dissolving. (you can’t use 0 as one of the values !!!)(you can’t use 0 as one of the values !!!)2. Consequence of the above is that you 2. Consequence of the above is that you need to match boundaries exactly.need to match boundaries exactly.3. The boundaries of the surfaces which are3. The boundaries of the surfaces which are connected originally must move connected originally must move together in the morphing => use relatedtogether in the morphing => use related lines in related images.lines in related images.
Poor morphing + reconstructionPoor morphing + reconstruction