Paper - Geometric Algorithms for Modeling, Motion, and Animation ...
Paper - Geometric Algorithms for Modeling, Motion, and Animation ...
Paper - Geometric Algorithms for Modeling, Motion, and Animation ...
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.