Two Accelerating Techniques for 3D Reconstruction
LIUShixia(),HUShimin()andSUNJiaguang ( )
Department ofComputerScienceandTechnology,Tsinghua University,Beijing100084,P.R.China
E-mail: liusx@ncc.cs.tsinghua.edu.cn;fshimin,sunjgg@tsinghua.edu.cn
ReceivedMarch15,2001; revisedAugust7,2001.
Abstract Automaticreconstructionof3Dobjectsfrom2Dorthographicviewshasbeen
amajorresearchissue inCAD/CAM.In thispaper, two acceleratingtechniques toimprove
the eÆciency of reconstruction arepresented. First, some pseudo elements areremoved by
depthand topology informationassoonas the wire-frame is constructed, whichreducesthe
searching space. Second, the proposed algorithmdoes not establish all possible surfaces in
the process of generating 3D faces. Thesurfaces and edge loops aregenerated by usingthe
relationshipbetweentheboundariesof3D facesandtheirprojections.Thisavoidsthegrowth
incombinationalcomplexity ofpreviousmethods that haveto check allpossiblepairsof 3D
candidateedges.
Keywords engineeringdrawing,wire-frame,reconstruction
1 Introduction
Reconstructing3Dobjectsfromorthographicviewshasbeenstudiedforthepasttwodecades [1;2]
.
AlgorithmsattemptingtosolveautomaticreconstructioncanbedividedintoCSGorientedandB-rep
orientedapproachesaccordingtohowtheyconstructandrepresentthenalsolidobjects.
TheCSG oriented approachassumes that each 3Dobjectcanbe builtfrom certainprimitives in
a hierarchicalmanner. It selects a 2D loop as a base and generates the3D primitives by matching
theircorresponding2Dpatternsineachview,thenassembles theprimitivesto formthenalobject.
ReconstructionworkproposedbyChenetal.
[3]
,Meeranetal.
[4]
,Masudaetal.
[5]
andShumetal.
[6;7]
was basedonthisapproach. However,thismethod couldonlyhandleobjectsofuniformthicknessor
rotationalobjects,whichrestricts theirdomain ofapplicability.
The B-rep oriented approach is a bottom-up approach, which uses the constraint propagation
technique. In this method, a wire-frame which is composed of 3D vertices and 3D edges is rst
recognized from the input orthographic views. Then, candidate faces are found from all these 3D
edges. Finally,pseudoelementsaredeletedbycertaincriteriaandalltruefacesareassembledtoform
thenalsolidobject.
Idesawa [8]
proposedanalgorithmwhichcouldonlyconstructverylimitedpolyhedralobjectsfrom
threeviews. Markowsky andWesley [9]
provideda comprehensivealgorithmforsearchingallpossible
solutions of polyhedral objects from the given wire-frame, which was then extended to reconstruct
polyhedral objects from three orthographic views [10]
. Sakurai et al.
[11]
extended the approach of
Wesley andMarkowsky to includeplanar,cylindrical,conical, sphericaland toroidalsurfaces,whose
projections are straight lines and circles (arcs). Kuo [12]
proposed a ve-point method to generate
3D conic edgesand used a decision-chaining method to detect and delete thepseudo elements. Oh
et al.
[13]
presented an algorithm for reconstructing curvilinear 3D objects from two-view drawings.
Theyrstconstructedthepartialobjects,andthenobtainedthecompleteobjectsfromthepartially
constructedobjectsbyaddingperpendicularfaceswithgeometricvalidity. Inapreviouspaper,we [14]
proposeda geometricmethodtoreconstruct3Dobjectsfrom three-viewengineeringdrawings,which
placednorestrictions ontheaxis ofsymmetricsurfaces andthecenterlinesofconics.
ThispaperpresentstwoacceleratingtechniquestoimprovetheeÆciencyoftheB-reporientedre-
ThisworkissupportedbytheNationalNaturalScienceFoundationof ChinaundergrantNo.69902004and the
construction algorithm. By removing some pseudo edges directly in the wire-frame and using the
relationship between3Delementsanditsprojections, ouralgorithm reducesthesearchingspaceand
thenumberofexaminations.
2 Solid Model Reconstruction
Inthissection,weintroducethemain procedureof3Dreconstruction. Moredetails canbefound
in[12, 15].
Weuse aB-rep orientedapproach toreconstruct 3Dobjects from threeorthographic views. The
proposedmethodconstructs3Dcandidatevertices,edges,andfacesfromtheinputengineeringdraw-
inginorder. Forbrevity,wewrite3Dcandidatevertices,edgesandfacesasc-vertices,c-edges,c-faces,
respectively. Thereconstructionalgorithmcan bedividedintothefollowingstages.
Checkinputdata
In this stage, we process the input data and remove certain redundancies to prepare for 3D
reconstruction. The preprocessing performs the following operations. First, separate each view in
the engineeringdrawing. Then, removeall duplicate 2Dvertices and conics. Next, check each pair
of conics,if theyintersect internally, addtheintersection point anddivide each of theconics at the
intersectionpoint. Finally,combinetheconicswiththesame equation.
Reconstructwire-frame
Thisstage constructsallc-verticesandc-edges thatconstitutethewire-frame modelbycertain
correspondencesamongthreeorthographicviews. Wegenerateallc-vertices byselectinga2Dvertex
fromoneview andthencompareitwiththevertices intheothertwo views. Toreconstruct3Dconic
edges,weusetheconjugatediameter method [14]
or thematrixmethod [15]
.
Trace c-facesinthewire-frame
The main task ofthis stepis to nd theset of allpossible edge loopsin the wire-frame, from
which subsets can be selected to form the boundary of the faces. First, we nd the surfaces that
containthefaces. Then,alltheedgeloopsareconstructedbyusingtherelationship between the3D
faceanditsprojectionsin the2Dviews. This technique willbe explainedlater.
Search for3Dsolids
Amongallthec-facesgeneratedinthepreviousstep,somereallylieontheboundary ofasolid.
These arereal faces, and theothers arecalled pseudo faces. Hence, weshould nd a group offaces
that makeupa realsolidobject. Weusethesame methodas in ourpreviouspaper [15]
to search all
3D objects within the reconstructed wire-frame. Initially, we use the depth information to remove
some falsefaces. Then,theremainingpseudofaces in thewire-frame modelare completelyremoved
byadivide-and-conquer approachbased onthedenition ofmanifold.
3 Two Accelerating Techniques
3.1 RemovingPseudo Elementsfrom Wire-Frame
Thepseudo elementsin the wire-frame will extend thesearching space ofthe subsequent stages.
Toreduce theprocessingtimelater,weremovesome redundant c-edgesbythedepth informationin
theengineeringdrawingandtopologyinformationin the2-manifold object.
Ifavisiblec-edgeisgeneratedfromadashedlineinaviewwhoseprojectiondirectionisthesame
as the viewing direction, then the c-edge is pseudo and should be eliminated from the wire-frame.
Thiscanbecheckedbythecoordinatevalues alongtheprojection direction. Forexample,ifa c-edge
has a dashed projection in the top view and its projection on the side view has a local maximum
z-coordinate, thenthisedgeis pseudosince itwould bevisible fromthenegativedirection ofz-axis,
i.e., it corresponds to a solid line in the top view illustrated in Figs.1(a){(c). The projection of c-
edge E(V
A
;V
B
) (see Fig.1(b)) onto the topview is a dashed line (see C(t
A
;t
B
) in Fig.1(a)), while
itsprojection ontothesideview(C(s
A
;s
B
)inFig.1(a))hasa localmaximumz-value (nootherlines
occludeitfromthenegativedirectionofthez-axis). Therefore,E(V
A
;V
B
)isapseudoedgeandshould
beremovedfromthewire-frame(seeFig.1(c)).
Fig.1.Removepseudoc-edgesbydepthinformation.
Furthermore,weremoveotherpseudoelementsbythetopologyinformationdenedin2-manifold
objects. Several rulesaregivento eliminatethepseudoelements inthewire-frame, whichare based
onthetopologyinformation. Forbrevity,weintroducethedenitionofdegree. Thedegreeofavertex
v isdenedas thenumber ofthec-edgesconnectedtoit. Wedenoteitasdegree (v).
(1)Ifdegree (v)<2,removevertexv andthec-edgeconnectedto it.
(2)Ifdegree (v)=2 andthetwoc-edges connectedtoitarecollinear,mergethetwo c-edgesand
removevertexv.
(3) If degree (v)=2 and thetwo c-edges connectedto itare notcollinear, remove vertex v and
thec-edges.
(4) If degree (v) =3 and two of these c-edges connectedto it are collinear, merge thecollinear
c-edges,removevertexv andtheotherc-edge.
(5) Ifdegree (v)3 andallthese c-edges connectedtoitare coplanarandnotcollinear,remove
vertexv andallthesec-edges.
Referring toFig.1(c),thec-vertexV
B
satisescase (4),sowemergethetwocollinearc-edgesand
removec-edgeE(V
B
;V
C
)asshownin Fig.1(d). Now,c-vertexV
C
satisestheconditiondescribedby
case (3),soc-vertexV
C
,c-edges E(V
C
;V
D
)andE(V
C
;V
E
)aredeletedas inFig.1(e).
3.2 Generating Surfaces andFaces
To generateallc-faces,theprevious method (such as themethod usedbyKuo) ndsallpossible
surfaces that contain thefaces of the3D object. These surfaces can be constructedfrom the infor-
mation of two edges sharing a common vertex. The type of these two edges and the relationship
between them determine the type and the features of the surface to be generated. For example, a
planar surface can be built from two coplanaredges sharing a c-vertex. A line (conic) and a conic
that are not coplanar with each other constitute a quadric or toroidal surface. Then, the previous
methodhastotestallthec-edgesinthewire-frametondthec-edgeswhichbelongtothegenerated
surface. Thiswillcauseasteepincreasedintheprocessingtimeforcomplexobjects. Here,wereduce
thesearching timebyusingtherelationship betweenthe3Dfaceanditsprojectionsin the2Dviews.
Oh et al.
[13]
used a special projection technique to simplify the process of searching the c-edges
in a surface. They assumed that the edges on the original plane and the projection plane have a
one-to-onerelationship under such a special projection. The c-facesarethenobtained byextracting
thearray of edgesonthe projection plane. Here, theirmethod is improvedand extended to handle
threeorthographicviews. Thenewmethodhasnorestrictionsontheprojection technique.
Denition 1(2DLoop). A2D loop inaview consistsofan orderedcycleof 2Dedgesand2D
vertices.
Denition 2 (Generalized Cylindrical Face). A generalized cylindrical face is dened by
Denition 3(Non-Degenerate Line). A linethatisnot perpendiculartotheprojectionplane
isdenedas anon-degeneratelinetothisprojectionplane.
Property 1. Under theparallel projection, if each lineedge ina connectedcycleof 3D edges is
notperpendiculartotheprojectionplane,thentheprojectionoftheclosedcycleof 3Dedgesontothis
viewisa2D loop. Thecorrespondencebetweenthe3D edgesintheedgeloopandthe2Dedgesinthe
2D loop isone-to-one.
Proof. Theprojection oftheconicedgeontoeachofthethreeorthographicviewsiseitheraconic
edge or a 2D line edge, so line edges are mainly considered in this property since theirprojections
may degenerateinto2Dpoints. Theprojection ofa conic(line)edgeontoa projection planecan be
regardedastheintersectionoftheprojectionplaneanda generalizedcylindricalface. Thecontourof
thegeneralizedcylindricalfaceistheconic(line)edge. The3Draylineisformed bymovingapoint
ontheconic(line)alongtheprojection direction. Since theprojection planeintersectsa generalized
cylindrical face which is not parallel to the projection plane only at a conic (line), therefore each
3D conic (non-degenerate line) corresponds to a 2D conic (line) in that projection. The extruding
directionsof thesegeneralized cylindricalfacesarethe samefora givenprojection plane,so theydo
notintersectexceptatthecommonline. Thecommonlineisformedbymovingthecommon3Dpoint
alongtheprojectiondirection. Itsprojectionontotheprojection planeisa 2Dpoint. Thus,dierent
3Dconic(non-degenerate line)edgescorrespondtodierent2Dconic(line)edgesin theview. 2
Weusethefollowingtheorem toreducethenumber ofexaminations,whichstates thecorrespon-
dence betweenthe3Dedgeloopandthe2Dloopin theorthographic views.
Theorem 1. Each edge loop of a3D objectcorrespondstoatleasta 2Dloop inone ofthethree
orthographic views, and thecorrespondencebetween the edgesin the3D edge loop andthe 2D edges
inthe2D loopisone-to-one.
Proof. Edgeloopsareboundaries of3Dfaces. Theycanbe dividedintotwo classes accordingto
thetypes of thefaces: theedgeloop inthe planar faceand theedge loopin thequadric or toroidal
surface.
A plane cannot be perpendicular to three coordinate planes which are perpendicular to each
other simultaneously, thereforeeach line edgein an edge loopwhich belongs to a planar face is not
perpendicularto three coordinate planessimultaneously. ByProperty1, itsprojection isa 2D loop
in atleastone viewand thecorrespondence between theedgesin theedge loopandthe2Dedgesin
the2Dloopis one-to-one.
The projection ofthe conic edge onto each view is a 2Dedge, so weonly consider theline edge
in the quadric surface (the boundaries of a toroidalface are all conic edges). Theline edgesin the
quadricsurface areeitherparalleltoeach other(cylindricalsurface)orintersectionalatone common
3Dpointandtheanglebetweentwo ofthemisless than90 Æ
(conicalsurface). Thus,at mostin one
projection plane, there will exist some edges which are perpendicularto this plane. That is to say,
their projections are 2D edges in at least two of the three views. Therefore, for an edge loop in a
quadric ortoroidalface,atleasttwoofitsprojectionsontotheorthographicviewscorrespondto2D
loops. From Property1, it follows that the correspondence between the 3D edges in the edge loop
andthe2Dedgesinthe2Dloopisone-to-one. 2
The method we useto automatically trace edgeloops in thewire-frame iscalled theprojection-
orientedmethod, whichisbased onTheorem1. Inthismethod,werstndoutall2Dloopsin each
view usingthemaximumturningangle(MTA) method [14]
. Thebasic ideaof theMTAmethod isto
choosea convexvertexas thestartingvertex,andtoselectanedgethatisnotreferredtoorreferred
toonlyonceasthestartingedge,thensearchthenextedgebyadjacencyrelationships. Whenthereis
morethanoneedgethatsatisesthesurfaceequation,wechoosetheedgewiththemaximumturning
angle. The turningangle isthe anglebywhich thetangent vector of a curvededge isto be rotated
atthecommonvertextogofromthetangentvector ofthecurrentcurvededgetothetangentvector
ofitsadjacent curvededge. Then, foreach 2Dloopidentied, two 2Dedgeswhichshare a common
2D vertex are chosen. Next, we select two c-edges that are generated from these two 2D edges,
respectively,andmakesurethattheselectedtwoc-edgesalsosharea commonc-vertex. Thetypesof
these twoedges andtheir relationship willdeterminethe typeofthesurface to be generated(If the
surface hasbeen generated, the newedgeloopwill be addedto this surface). Inourreconstruction
algorithm, for each 2D edge, theindices of the c-edges that are generated from it are stored as an
attribute ofthat 2Dedge. This greatly reducesthe searching space. Finally, thealgorithmsearches
fortheotheredgesoftheedgeloopfromthe3Dedgesgeneratedfromthe2Dloop. Thisexploration
isa depthrstsearch, which begins withthevertices onthesurface. Foreach vertexonthesurface,
only the edgesconnected to this vertex and generated from the 2D loop are checked. All theedge
loopsthatlieinthesamesurfacearelinkedtogethertomakethenalfaces. Beforeconstructingthe
3Dc-faces,theedgeloopswithinner edgessubdividingthemareremovedfromthesurfaces.
Fig.2 illustrates the generation of edge loops from the 2D loop. Fig.2(a) shows a 2D loop
C(f
A f
B
)!C(f
B f
C
)!C(f
C f
D
)!C(f
D f
A
)in thefrontview. Vertices V
A (V
0
A ),V
B (V
0
B ),V
C (V
0
C ),
and V
D (V
0
D
) are generated from f
A , f
B , f
C
, and f
D
, respectively (see Fig.2(b)). For 2D edges
C(f
A f
B
)and C(f
B f
C
)whichsharea common2Dvertexf
B
, weselecttwo c-edgeswhicharegener-
atedfrom thosetwo 2Dedges,respectively;moreover,thetwo3D edgessharea common3Dvertex.
Forexample,c-edges E(V
A V
B
)andE(V
B V
C
)arechosen,thedirectionofthetwo edgesarethesame
as their projections, i.e., the current travel direction is V
A
! V
B
! V
C
, where V
A
! V
B means
from V
A to V
B
. Then, we search forthe nextedge which is adjacentto the vertex V
C
from the3D
edgesgenerated from the2Dloop. Asshownin Fig.2(b), 3DedgeE(V
C V
D
) satisesthis condition.
Next,3D edgeE(V
D V
A
)isselected andanedge loopistraced. Similarly, wecannd 3Dedge loop
E(V 0
A V
0
B
)!E(V 0
B V
0
C
)!E(V 0
C V
0
D
)!E(V 0
D V
0
A
)(seeFig.2(c)).
Fig.2.Traceedgeloopsinthewire-frame.
Inthe previous method, thecombination of c-edges isperformedn(n 1)=2 timesin generating
allthesurfaces,wherenisthenumberofc-edgesin thewire-frame. Thenumberoftimesfortracing
c-edgeswhichbelongtoasurfaceisn. Whilein ourmethod,thecombinationofc-edgesisperformed
~ c 2
m times, where ~c is the average number of c-edges generated from a 2D edge, m is the number
of 2D edge loops in the views. Since m n
v , n
v
is the number of 2D edges in the views, and
~
cm ~cn
v
1 = n 1, ~c < n=9 < n=2 (each view consists of at least three 2D edges), therefore
~ c 2
mn(n 1)=2. Thenumber oftimesfortracingc-edges ina surfaceiscm~
l ,m
l
isthenumberof
2D edgesin the2D loop. Since m
l
n
v
, it follows that ~cm
l
n. Therefore, theprocessing time
requiredforgenerating c-facesisreducednoticeably.
4 Implementation
Afterdevelopingthemethod,itisnecessarytocheckitbysomerealmechanicalpartsandconsider
theirreconstructionfromorthographicviews.
Fig.3 showsamechanicalpart withplanar,conical, toroidal,andcylindricalfaces. Fig.4 showsa
unique solution constructedfrom a three-viewengineeringdrawing withstraightlines, circulararcs,
and elliptical arcs. The axesof the cylindrical surfaces that intersect with the top planar face (see
fromthepositivedirection ofz-axis) arenotparallelto anyofthethreecoordinateaxes.
Fig.3.Engineeringdrawingsandreconstructedmodelforobject1.
Fig.4.Engineeringdrawingsandreconstructedmodelforobject2.
5 Conclusion
Reconstructing 3Dobjects fromorthographic viewsrequires a considerablyamountofprocessing
time. Inthispaper,wedescribetwoacceleratingtechniquestoimprovetheeÆciencyofreconstruction.
Onereduces thesearching spacebyremovingsomepseudoelementsin thewire-frame directly;while
theotheracceleratesthegenerationof3Dfacesbyusingthecorrespondencebetweenthe3Dfaceand
itsprojections.
domainofobjectsto bereconstructed.
Acknowledgements We would liketo thank Professor Chen Yujian for her constant encour-
agementandadvice.
References
[1] Nagendra IV,GujarUG.3-D objectsfrom2-Dorthographicviews|Asurvey. Computer andGraphics,1988,
12(1): 111{114.
[2] WangW,GrinsteinGG.Asurveyof3Dsolidreconstructionfrom2Dprojectionlinedrawings.ComputerGraphics
Forum,1993,12(2): 137{158.
[3] ChenZ,PerngDB.Automaticreconstructionof3Dsolidobjectsfrom2Dorthographicviews.PatternRecognition,
1988,21(5): 439{449.
[4] Meeran S,Pratt MJ.Automated feature recognitionfrom 2Ddrawings. Computer-AidedDesign, 1993, 25(1):
7{17.
[5] MasudaHiroshi,NumaoMasayuki.Acell-basedapproachforgeneratingsolidobjectsfromorthographicprojections,
Computer-AidedDesign,1997,29(3): 177{187.
[6] ShumSP,LauWS,YuenMF,YuKM.Solidreconstructionfromorthographicopaqueviewsusingincremental
extrusion. ComputerandGraphics,1997,29(6): 787{800.
[7] Shum SP,Lau W S, Yuen MF, Yu K M. Solidreconstruction fromorthographic opaque views using2-stage
extrusion. Computer-AidedDesign,2001,33(1): 91{102.
[8] IdesawaM.Asystemtogenerateasolidgurefromthreeviews.BulletinoftheJSME,1973,16(92):216{225.
[9] MarkowskyG,WesleyMA.Fleshingoutwireframes. IBMJ.RES.DEVELOP,1980,24(5): 582{597.
[10] WesleyMA,MarkowskyG.Fleshingoutprojection.IBMJ.RES.DEVELOP,1981,25(6): 934{954.
[11] Sakurai H,Gossard DC.Solidmodel inputthroughorthographicviews. In SIGGRAPH'83Proceedings,1983,
pp.243{252.
[12] KuoMH.Reconstructionofquadricsurfacesolidsfromthree-viewengineeringdrawings.ComputerAidedDesign,
1998,30(7): 517{527.
[13] Oh BS,Kim C H.Systematic reconstruction of3D curvilinear objectsfrom two-viewdrawings. Computers&
Graphics,1999,23(3): 343{352.
[14] LiuSX,HuSM,ChenYJ,SunJG.Reconstructionofcurvedsolidsfromengineeringdrawings.Computer-Aided
Design,2001,33(14): 1059{1072.
[15] LiuSX,HuSM,TaiCL,SunJG.Amatrix-basedapproachtoreconstructionof3Dobjectsfromthreeorthographic
views. InProceedingsofthe Eighth Pacic Conference onComputer Graphics and Applications,Barsky BA,
ShinagawaY,WangW(eds.),HongKong: IEEEComputerSociety,2000,pp.254{261.