Bezier triangel

En Bezier-triangel  är en speciell typ av Bezier-yta som är resultatet av interpolation (linjär, kvadratisk, kubisk eller högre) över kontrollpunkter.

Bezier triangel av ordning n

En generaliserad Bézier-triangel av ordningen n har ( n  + 1)( n  + 2)/2 kontrollpunkter a i β j γ k , där i ,  j ,  k är icke-negativa heltal så att i  +  j  +  k  =  n [ 1] . Då ges ytan som      

för alla icke-negativa reella tal s  +  t  +  u  = 1.

I det linjära fallet ( ) är Bezier-triangeln en platt triangel vars hörn är de tre kontrollpunkterna. En kvadratisk ( ) Bezier-triangel har 6 kontrollpunkter på sina sidor. En kubisk Bezier-triangel ( ) definieras av 10 kontrollpunkter och är den minsta ordningens Bézier-triangel som har en inre kontrollpunkt som inte är placerad på sidan. I alla fall kommer triangelns sidor att vara Bezier-kurvor av samma grad.

Kubisk Bézier-triangel

Den kubiska Bezier-triangeln är den yta som ges av ekvationen

där α 3 , β 3 , γ 3 , α 2 β, αβ 2 , β 2 γ, βγ 2 , αγ 2 , α 2 γ och αβγ är kontrollpunkter för triangeln, och s, t, u ≤ (för 0 , t , u ≤ 1 och s+t+u=1) är de barycentriska koordinaterna inuti triangeln. [2] [1]

Bezier-triangeln kan också representeras mer generellt som

i enlighet med formeln för Bezier-triangeln av n:e ordningen.

Triangelns hörn är punkterna α 3 , β 3 och γ 3 . Triangelns sidor är Bezier-kurvor med samma kontrollpunkter som Bezier-triangeln.

Att eliminera termen med γu resulterar i en vanlig Bezier-kurva. Genom att lägga till ytterligare termer kan man få en Bezier-tetraeder eller en Bezier- polytop .

På grund av ekvationens egenskaper finns hela triangeln inom volymen som begränsas av kontrollpunkterna, och affina transformationer av kontrollpunkterna transformerar hela triangeln på ett liknande sätt.

Division av en kubisk Bezier-triangel

En fördel med att använda Bézier-trianglar i datorgrafik är det faktum att dela en Bézier-triangel i två Bézier-trianglar endast kräver addition och division med 2, och inte flyttalsaritmetik . Detta innebär att jämna Bezier-trianglar kan approximeras rekursivt av en samling regelbundna trianglar genom att dividera trianglarna med två tills de resulterande trianglarna är tillräckligt små.

Nedan finns en metod för att beräkna nya kontrollpunkter för hälften av den ursprungliga Bezier-triangeln med vinkeln α 3 , den andra vinkeln på halvan av Bezier-kurvan mellan α 3 och β 3 , och den tredje vinkeln γ 3 .

På samma sätt använder man bara addition och division med två,
        P3  := ( aP2 + P3 ) / 2
    αβ 2  := ( α 2 β + αβ 2 )/2   P3  := ( aP2 + P3 ) / 2
a2P : =  ( a3 + a2P ) / 2 _   αβ 2  := ( α 2 β + αβ 2 )/2   P3  := ( aP2 + P3 ) / 2
    β 2 γ  := ( αβγ + β 2 γ )/2
αβγ  := ( α 2 γ + αβγ )/2   β2y : = (αβγ+β2y ) /2
βγ2 : =  ( αγ2 + βγ2 ) / 2
där := betyder att vektorn till vänster ersätts med vektorn till höger. Observera att att halvera en Bezier-triangel är analog med att halvera Bezier-kurvor av valfri ordning upp till ordningen för en Bezier-triangel.

Anteckningar

  1. ↑ 1 2 Farin, Gerald (2002), Kurvor och ytor för datorstödd geometrisk design (5 uppl.), Academic Press Science & Technology Books, ISBN 978-1-55860-737-8 
  2. 3D Surface Rendering in Postscript , < http://www.math.ubc.ca/~cass/courses/m308-03b/projects-03b/drader/main.htm > Arkiverad 3 mars 2016 på Wayback Machine 

Länkar