06.08.2013 Views

Paper - Geometric Algorithms for Modeling, Motion, and Animation ...

Paper - Geometric Algorithms for Modeling, Motion, and Animation ...

Paper - Geometric Algorithms for Modeling, Motion, and Animation ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ut<br />

u0<br />

u1<br />

kt<br />

k1<br />

k0<br />

E<br />

2<br />

t<br />

E<br />

v0<br />

l1<br />

lt<br />

vt<br />

l<br />

v1<br />

(a) Two de<strong>for</strong>ming edges<br />

1 2<br />

E & E<br />

1<br />

t<br />

0<br />

ut<br />

kt<br />

E<br />

2<br />

t<br />

E<br />

vt<br />

( l <br />

lt<br />

t kt)<br />

nt<br />

(b) Projected distance<br />

1 between E <strong>and</strong> E<br />

Figure4: EEtestfilter:Toper<strong>for</strong>maEEtestbetweenthetwo<br />

edges E 1 <strong>and</strong> E 2 (definedby u0, v0<strong>and</strong> k0, l0at t = 0, u1, v1<br />

<strong>and</strong> k1, l1at t = 1),weneedtocheckthecoplanarityconditions<br />

oftheseverticesbyfindingall t(t ∈ [0, 1])wheretheprojected<br />

distancebetween lt<strong>and</strong>thetriangledefinedby kt, ut,<strong>and</strong> vtis<br />

equaltozero,i.e., (lt − kt) · nt = 0.<br />

Soweobtainthesufficientcondition<strong>for</strong>non-coplanar: Ifallthe<br />

fourscalarvaluesarenegative/positive,thevertices Ptwillnever<br />

beontheplanedefinedbythethreevertices(at, bt,<strong>and</strong> ct)ofthe<br />

de<strong>for</strong>mingtriangle Tt.<br />

Thegeometricinterpretationofsymbol A<strong>and</strong> Bisthattheyrepresenttheprojecteddistancesat<br />

t = 0<strong>and</strong> t = 1,respectively.From<br />

Equation(6),weconcludethatitisnotsufficienttoonlycheckthe<br />

signsof A<strong>and</strong> B,thevaluesofothersymbols C-Falsoaffectthe<br />

coplanaritycondition.<br />

3.3.1 ExtensiontoEEtests<br />

Inordertoper<strong>for</strong>manelementarytestbetweentwoedges E 1 <strong>and</strong><br />

E 2 (definedby u0, v0<strong>and</strong> k0, l0at t = 0, u1, v1<strong>and</strong> k1, l1at t =<br />

1),weneedtocheckthecoplanarityofthesefourpoints(Fig.4).<br />

Byreplacing Pt, at, bt, ctwith lt, kt, ut, vt,wecansymmetrically<br />

deduceanon-coplanartheorem<strong>for</strong>EEtests:<br />

Non-coplanarTheorem<strong>for</strong>EEtests: Fortwode<strong>for</strong>mingedges<br />

E 1 <strong>and</strong> E 2 definedbythestart<strong>and</strong>endpositionsduringtheinterval<br />

[0, 1],thesepositionsarelinearlyinterpolatedintheinterval<br />

withrespecttothetimevariable, t.Ifthefollowingfourscalarvalues:<br />

A ′ , B ′ , 2∗C′ +F ′<br />

,<strong>and</strong> 3 2∗D′ +E ′<br />

havethesamesign, E 3<br />

1 <strong>and</strong><br />

E 2 willnotbecoplanarduringtheinterval:<br />

A ′ = (l0 − k0) · n ′ 0, B ′ = (l1 − k1) · n ′ 1<br />

C ′ = (l0 − k0) · ˆn ′ , D ′ = (l1 − k1) · ˆn ′<br />

E ′ = (l0 − k0) · n ′ 1, F ′ = (l1 − k1) · n ′ 0<br />

And: n ′ 0 = (u0 − k0) × (v0 − k0), n ′ 1 = (u1 − k1) × (v1 − k1)<br />

ˆn ′ = (n′ 0 +n′ 1 −( vu− v k)×( vv− v k))<br />

2<br />

vk = k1 − k0, vu = u1 − u0, vv = v1 − v0.<br />

3.4 CCDAlgorithm<br />

We use the non-planarity filter defined above to per<strong>for</strong>m<br />

coplanarity-basedculling.WeuseEquations(1)-(3)tocalculatethe<br />

valuesofthefourcontrolverticesdefinedinthoseequations<strong>for</strong>a<br />

primitivepair.Ifthesevariableshavethesamesign,thispairwill<br />

beidentifiedasafalsepositive.<br />

1<br />

t<br />

t<br />

nt<br />

2<br />

t<br />

BVH Traversal<br />

Inter-object testing<br />

Triangle based<br />

bounding volume<br />

culling<br />

Intra-object testing<br />

Continuous normal<br />

cone<br />

PR-Trianges<br />

Orphan set<br />

Primitive based<br />

bounding volume<br />

culling<br />

De<strong>for</strong>ming Non-<br />

Penetration Filter<br />

Elementary tests<br />

Figure5: CCDalgorithmwithde<strong>for</strong>mingnon-penetrationfilter:Thede<strong>for</strong>mingnon-penetrationfilteriscomplementarytotheoverallCCDalgorithm<strong>and</strong>canbeper<strong>for</strong>medrightbe<strong>for</strong>etheelementarytests.<br />

(a) Use of de<strong>for</strong>ming filter (b) Only use of bounding volume tests<br />

Figure6: EdgesinvolvedbyEEtestswithdifferentculling<br />

methods:Thisfigureshowsedges(highlightedingreen<strong>and</strong>blue<br />

respectively)usedbyEEtestsduringaspecificframeoftheCloth<br />

benchmark(Fig.7(d))withcoplanarity-basedculling<strong>and</strong>boundingvolumebasedcullingrespectively.Comparingtoonlyboundingvolumebasedculling,thenumberofEEelementarytestsare<br />

reducedby 80%withthede<strong>for</strong>mingnon-penetrationfilter.<br />

Thede<strong>for</strong>mingnon-penetrationfiltercanbecombinedwithhierarchicalrepresentations(Fig.5).<br />

DuringthetraversalofBVH,we<br />

per<strong>for</strong>mdifferenthigh-levelcullingmethodstoremoveredundant<br />

pairwisetestsorprimitivepairsthatarenotincloseproximityto<br />

oneanother.Next,thede<strong>for</strong>mingnon-penetrationfilterisusedas<br />

partoflow-levelcullingtofurtherremovethefalsepositives.<br />

Fig.6comparestheeffectsofboundingvolumebasedculling<strong>and</strong><br />

coplanarity-basedculling.ThegreenlinesegmentsinFig.6(a)<strong>and</strong><br />

bluelinesegmentsinFig.6(b)describethedistributionofedgesinvolvedinEEtestswithde<strong>for</strong>mingnon-penetrationfilter<strong>and</strong>boundingvolumebasedcullingrespectively.Asshowninthefigure,comparedtothenumberoftestsintheboundingvolumebasedculling,<br />

weobservemorethan 80%reductioninthenumberofelementary<br />

testsonthisscene.<br />

4 Implementation<strong>and</strong>Per<strong>for</strong>mance<br />

Inthissection,wedescribeourimplementation<strong>and</strong>highlightthe<br />

per<strong>for</strong>manceofouralgorithmonseveralbenchmarks.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!