IN01808C

32
Cap´ ıtol 7 Transformacions afins 2D -1 -0.5 0.5 1 -1 -0.5 0.5 1 Despr´ es dels cap´ ıtols anteriors en els quals s’han ofert eines b` asiques de construcci´o d’escenes geom` etriques i es disposa d’un ampli ven- tall d’objectes geom` etrics (pol´ ıedres, corbes i superf´ ıcies), en aquest cap´ ıtol i el seg¨ uent es tracten les transformacions afins bidimensio- nals i tridimensionals, amb la qual cosa el lector pot aprendre un nou llenguatge, el de les transformacions, i replantejar en termes de concatenaci´o de transformacions la resoluci´ o dels problemes construc- tius que anteriorment s’havia proposat i que havia resolt directament per canvi de sistemes de coordenades. Aquesta manera alternativa de veure les coses ´ es especialment important perqu` es l’enfocament usual en els texts d’inform`atica gr` afica i de vegades ´ es l’´ unica eina disponible per a usuaris de determinat software gr` afic o geom` etric amb programabilitat nul . la o limitada, especialment si ´ es software interactiu. En aquest cap´ ıtol s’estudien les afinitats en dimensi´ o2, despr´ es de fer-ne un tractament general n-dimensional i de considerar algunes propietats generals de les isometries. S’estudien les translacions, els canvis d’escala, i s’apliquen aquestes transformacions a la formulaci´ o de les anomenades transformacions devisualitzaci´o en inform` atica gr` afica, per al pas de coordenades de la finestra de l’espai d’usuari a la finestra de l’espai de representaci´ o. Posteriorment s’estudien les rotacions en el pla i les simetries axials i centrals, i se’n fa de tot la descripci´o en forma operativa en termes de matrius ampliades i tamb´ e en termes de concatenaci´o d’afinitats m´ es simples, si escau. Transformacions geom` etriques en inform` atica gr` afica i CAD En inform` atica gr` afica i CAD s’utilitzen amb molta freq¨ u` encia transformacions geom` etriques de l’espai de punts, tant al pla bidimensional com a l’espai tridimensional. S’utilitzen extensa- ment per generar formes i objectes geom` etrics a partir dels existents. Moltes possibiblitats de transformacions geom` etriques solen estar incorporades al software de dibuix, disseny i represen- taci´ogr` afica i CAD. Es poden considerar infinites transformacions possibles, per` o, a la pr` actica, les m´ es utilitzades corresponen a una gran fam´ ılia de transformacions d’estructura relativament senzilla: les afinitats o transformacions afins ; moltes vegades n’utilitzem subconjunts, com per exemple les isometries bidimensionals o tridimensionals. D’entre les afinitats 2D, les m´ es

description

IN01809C

Transcript of IN01808C

  • Captol 7

    Transformacions afins 2D

    -1 -0.5 0.5 1

    -1

    -0.5

    0.5

    1

    Despres dels captols anteriors en els quals shan ofert eines basiquesde construccio descenes geometriques i es disposa dun ampli ven-tall dobjectes geometrics (poledres, corbes i superfcies), en aquestcaptol i el seguent es tracten les transformacions afins bidimensio-nals i tridimensionals, amb la qual cosa el lector pot aprendre unnou llenguatge, el de les transformacions, i replantejar en termes deconcatenacio de transformacions la resolucio dels problemes construc-tius que anteriorment shavia proposat i que havia resolt directamentper canvi de sistemes de coordenades. Aquesta manera alternativade veure les coses es especialment important perque es lenfocamentusual en els texts dinformatica grafica i de vegades es lunica einadisponible per a usuaris de determinat software grafic o geometricamb programabilitat nul.la o limitada, especialment si es softwareinteractiu.

    En aquest captol sestudien les afinitats en dimensio 2, despres defer-ne un tractament general n-dimensional i de considerar algunespropietats generals de les isometries.

    Sestudien les translacions, els canvis descala, i sapliquen aquestestransformacions a la formulacio de les anomenades transformacions

    de visualitzacio en informatica grafica, per al pas de coordenades de la finestra de lespai dusuaria la finestra de lespai de representacio. Posteriorment sestudien les rotacions en el pla i lessimetries axials i centrals, i sen fa de tot la descripcio en forma operativa en termes de matriusampliades i tambe en termes de concatenacio dafinitats mes simples, si escau.

    Transformacions geometriques en informatica grafica i CAD

    En informatica grafica i CAD sutilitzen amb molta frequencia transformacions geometriquesde lespai de punts, tant al pla bidimensional com a lespai tridimensional. Sutilitzen extensa-ment per generar formes i objectes geometrics a partir dels existents. Moltes possibiblitats detransformacions geometriques solen estar incorporades al software de dibuix, disseny i represen-tacio grafica i CAD. Es poden considerar infinites transformacions possibles, pero, a la practica,les mes utilitzades corresponen a una gran famlia de transformacions destructura relativamentsenzilla: les afinitats o transformacions afins; moltes vegades nutilitzem subconjunts, comper exemple les isometries bidimensionals o tridimensionals. Dentre les afinitats 2D, les mes

  • 290 Geometria per a la informatica grafica i CAD

    utilitzades son les translacions, els canvis descala, els girs, les simetries centrals i axials i lesdeformacions especials. A la figura de la capcalera del captol es pot veure lus de diversestransformacions (canvi descala, translacio i rotacio) per construir un objecte, la roda dentada,a partir duna peca basica, la dent.

    7.1 Transformacions afins

    Les transformacions que estudiarem son transformacions de punts a lespai af, de manera quesuposem que (E, V ) es un espai af de dimensio n (recordem que V es un espai vectorial realde dimensio n i que E es lespai de punts). Considerarem aplicacions f : E E. Donadauna referencia S = (O; {e1, , en}), identificarem els punts P amb els vectors posicio

    P en la

    referencia.

    A diferencia del cas dels canvis de coordenades, on els punts no es mouen i el que canvia esel sistema de coordenades en els quals sexpressen, ara els sistemes de coordenades romanenon eren i els que es transformen son els punts (aixo no significa que no es puguin utilitzar elscanvis de sistemes de coordenades per obtenir les equacions dalgunes transformacions).

    Per a un estudi mes complet de les afinitats, i mes sistematic des del punt de vista de lamatematica, el lector pot consultar [XAMB96, CALL87]. Aqu en farem una presentacio essen-cialment descriptiva, sense entrar en cap moment en propietats molt especfiques o en aspectesde classificacio, i sense cap pretensio de completesa.

    A partir dara es considerara una referencia af S = (O; {e1, , en}) (eventualment cartesiana).

    7.1.1 Translacions

    Definicio 7.1 Donat un vector w = (w1, , wn), es defineix la translacio Tw de vector w comla transformacio donada per

    Tw : E E Tw(P ) = P + w

    Vegem-ne un parell dexemples a les figures 7.1 i 7.2.

    Figura 7.1. Podem veure un exemple delresultat daplicar una translacio de vectorw = (5,4) al polgon superior esquerre,a partir del qual sobte linferior dret.

    2 4 6 8 10

    -4

    -3

    -2

    -1

    1

    2

    3

    2 4 6 8

    2

    4

    6

    8

    Figura 7.2. Es pot utilitzar repetidament latranslacio duns quadrats primitius per construirun mosaic com el de la figura.

  • 7 Transformacions afins 2D 291

    Equacions duna translacio.

    Teorema 7.1 Si P es el transformat (traslladat) de P per la translacio Tw, si P = (x1, , xn)i si P = (x1, , x

    n), en el sistema de coordenades S (ambdos en el mateix), aleshores les

    equacions de la translacio son les seguents:

    x1 = x1 + w1 xn = xn + wn

    Demostracio Identificant els punts amb els vectors posicio i prenent components a partir

    deP

    =

    P + w, sobtenen les equacions de la translacio Tw de vector w.

    El proces dobtencio de lexpressio en coordenades es pot fer mes rigoros, tal com sexposa acontinuacio.

    Suposem donada la referencia S = (O; {e1, , en}). Si les coordenades de X son (x1, , xn)

    i X = Tw(X) = (x1, , x

    n), aleshores es

    X = X O =

    ni=1 x

    iei duna banda, i, de laltra,

    X = Tw(X) = O +n

    i=1

    xiei + w = O +n

    i=1

    xiei +n

    i=1

    wiei = O +n

    i=1

    (xi + wi)ei

    Per tant,n

    i=1

    xiei = X O =

    ni=1

    (xi + wi)ei

    i, per la unicitat de lexpressio en components dun vector en una base, podem finalment escriurexi = xi + wi, i .

    Matriu ampliada duna translacio. Tambe podem escriure lexpressio de la translacio en forma-lisme de matrius ampliades, amb el benentes que no es tracta de cap aplicacio lineal. A la dretaesta en forma condensada, amb I la matriu identitat nn i W la matriu columna corresponental vector w:

    Tw =

    1 0 w1

    ...

    0 1 wn

    0 0 1

    Tw =

    I W

    0 0 1

    Es pot provar facilment el resultat seguent, que resumeix les propietats mes importants de lestranslacions.

    Teorema 7.2 Amb la composicio les translacions satisfan les propietats seguents:

    1. Tv Tw = Tv+w = Tw+v = Tw Tv (commutativitat)

    2. Tv (Tw Tu) = (Tv Tw) Tu (associativitat)

    3. T0 = I (element neutre)

    4. (Tw)1 = Tw (invers)

  • 292 Geometria per a la informatica grafica i CAD

    En particular, lultima propietat permet desfer qualsevol operacio de translacio aplicant unatranslacio de vector oposat.

    Observeu que, de la discussio general anterior n-dimensional, sen deriva lexpressio en coorde-nades de les traslacions en el pla i a lespai tridimensional; aix tindrem

    {x = x+ w1y = y + w2

    x = x+ w1y = y + w2z = z + w3

    Figura 7.3. Un ultim exemple dus de les transla-cions per crear objectes i escenes tridimensionals.Es mostra una instantania duna explosio de ca-res dun poledre (aplicant translacions de vectorsperpendiculars a les cares i cap a fora del poledre).

    7.1.2 Estructura duna transformacio af

    Concepte de transformacio af

    Considerem donat un espai afi (E, V ) per a la resta de la seccio, i suposem donada una referenciaS = (O; {e1, , en}).

    Una aplicacio f : E E, P f(P ) indueix una aplicacio entre vectors : V V,PQ

    f(P )f(Q). Ens interessen les aplicacions f per a les quals laplicacio induda te bonespropietats, i una de les bones propietats a considerar es la de la linealitat, amb la qual cosapodem passar ja a una definicio formal.

    Definicio 7.2 Direm que f : E E es una afinitat si, per a algun P E, laplicacioassociada P : V V,

    PQ

    f(P )f(Q) es una aplicacio lineal.

    Convindria que laplicacio lineal P associada no depengues de P i que, per tant, en poguessimfer abstraccio i parlar nomes de : V V , amb (

    PQ) = P (

    PQ). El resultat seguent es el

    que necessitem.

    Teorema 7.3 Si P (definida anteriorment) es una aplicacio lineal, aleshores P = Q, Q E.

    Demostracio La demostracio es trivial. Suposem fixats P,Q E i sigui T E un puntqualsevol. Aleshores podem escriure

    PQ +

    QT =

    PT , o be

    QT =

    PT

    PQ. Tambe tenim

    f(P )f(Q) +

    f(Q)f(T ) =

    f(P )f(T ) o be

    f(Q)f(T ) =

    f(P )f(T )

    f(P )f(Q). Ara, essent P

    lineal, podem escriure

    P (QT = P (

    PT

    PQ) = P (

    PT ) P (

    PQ)

    =f(P )f(T )

    f(P )f(Q) =

    f(Q)f(T ) = Q(

    QT ).

  • 7 Transformacions afins 2D 293

    Considerem la transformacio af f : E E i sigui : V V laplicacio lineal associada.Considerem la referencia af S amb origen O. Sigui O = f(O); aleshores podem escriure

    O = O +OO = O + w, adoptant la notacio w = wf =

    OO. Posem ara X = f(X)

    i identifiquem punts amb vectors posicio en la referencia donada, es a dir X =X =

    OX,

    X =X =

    OX . Tenim (

    X ) = (

    OX) =

    f(O)f(X) =

    OX , es a dir, X = O + (

    OX) =

    O + (X ) = O +

    OO + (

    X ). Per tant, X =

    OX = (

    X ) +

    OO = (

    X ) + w.

    En consequencia, doncs, lafinitat es pot expressar com

    X = (

    X ) + w

    Laplicacio sanomena la part lineal de lafinitat. Efectuar una transformacio af es aplicaruna transformacio lineal seguida duna translacio. Observem que podem expressar f = Tw .

    Atesos els resultats anteriors, tenim que les afinitats son les transformacions que tenen lestruc-tura donada per la descripcio o redefinicio seguent, que es la descripcio mes operativa i es, defet, la que es pot prendre fins i tot com a punt de partida. El lector observara que es fan totaclasse didentificacions entre punts i vectors posicio un cop escollida una referencia.

    Donat un espai af (E, V ) direm que laplicacio f : E E es una afinitat si existeixen unaaplicacio lineal : V V i un vector w V tals que f(P ) = (P ) + w. Una notacio mesprecisa tindria en compte aquesta dependencia i, de fet, haurem descriure f = f,w, cosa queusualment no farem ja que es donara per sobreentes.

    Donar una afinitat a la practica significa donar un vector de translacio i les imatges dels vectorsde la base, cosa que defineix laplicacio lineal.

    Expressio duna afinitat en coordenades

    Considerant la matriu A de en la base del sistema de referencia, podem expressar les afinitatscom les transformacions de la forma

    X = AX +W,

    essent X , X,W les matrius columna corresponents.

    En termes de coordenades seria

    x1 =n

    i=1 a1ixi + w1 xj =

    ni=1 ajixi + wj

    xn =

    ni=1 anixi + wn

    Es podria fer una demostracio formal rigorosa seguint lesquema similar al que hem utilitzatper a les translacions.

    Ara resulta facil posar exemples dafinitats:

    x = 2x+ 4z + 2y = x 2y 3z 4z = 3x+ 2y 5z 2

  • 294 Geometria per a la informatica grafica i CAD

    en seria un.Figura 7.4. Considerem lexemple dela figura. La subfigura de lesquerraes la figura original, la de la dreta esla transformada per lafinitat de vectorde translacio nul i matriu (en la basecanonica) donada per

    A =

    (1 0.50 1

    )

    Correspon a les equacions{x = x+ 0.5yy = y

    i a escollir (e1) = e1 i (e2) = .5e1+e2.

    2.5 5 7.5 10 12.5 15

    2

    4

    6

    8

    2 4 6 8 10 12

    2

    4

    6

    8

    10

    12 Figura 7.5. Escollintadequadament les imat-ges dels vectors de labase canonica sobte-nen deformacions comles de les figures, mit-jancant transformacionsafins, a partir del tau-lell descacs abans pro-dut per translacio.

    Les translacions son casos especials de transformacions afins; corresponen a les afinitats per ales quals la part lineal es la identitat = I = A.

    Ates que la part de translacio es trivial, les propietats especfiques de les afinitats provindrande les propietats de la matriu A. En consequencia, lestudi dels tipus possibles (que resultindinteres geometric) per a les matrius de la part lineal es el que donara lloc a les transformacionsafins mes interessants. Aix, per exemple, considerarem els canvis descala i els moviments rgids.

    7.1.3 Afinitats i matrius ampliades

    Fixada una referencia, una afinitat sexpressa matricialment en la forma

    X = AX +W,

    o be, de manera desenvolupada, com

    x1...xn

    =

    a11 a1n...

    an1 ann

    x1...xn

    +

    w1...wn

  • 7 Transformacions afins 2D 295

    En termes de matrius ampliades podem escriure

    x1...xn

    1

    =

    a11 a1n w1...

    ...

    an1 ann wn

    0 0 1

    x1...xn

    1

    i la matriu ampliada corresponent a lafinitat es A W

    0 0 1

    Podem concatenar i operar amb afinitats amb les mateixes regles del captol 1 corresponentsa matrius ampliades. Aquesta seria la manera de programar eficientment la concatenacio detransformacions afins. El lector completara lestudi corresponent.

    Exemple 7.1. Escriviu les equacions de lafinitat que es defineix en la base canonica delpla mitjancant la translacio de vector w = (2, 1) i la part lineal donada per (e1) = 2e1,(e2) =

    12e2.

    Lexpressio de lafinitat es f(X) = (X) + w = (x1e1 + x2e2) + w = x1(e1) + x2(e2) + w =2x1e1 +

    12x2e2 + w. Matricialment i en termes dequacions, sera

    2 0 2

    0 12 1

    0 0 1

    {x = 2x+ 2y = 12y + 1

    Exemple 7.2. Quina es lexpressio matricial de lafinitat seguent?

    x = 2x+ 3y + 12y = 4x+ y z + 1z = x y + 2z 3

    La matriu ampliada corresponent es

    2 3 0 12

    4 1 1 1

    1 1 2 3

    0 0 0 1

    Exemple 7.3. Obteniu una transformacio af que transformi la figura de lesquerra en la figurade la dreta (figura 7.6), essent A = (0, 0), B = (1, 0), C = (.5, 1) i A = (0, 0), B = (1, 0), C =

  • 296 Geometria per a la informatica grafica i CAD

    (.5 + , 1)

    AB

    C

    A B

    C

    Figura 7.6

    Es una afinitat sense component de translacio, ja que lorigen es transforma en si mateix ialeshores podem escriure O = f(O) = (O) + w = O+ w = w. Pel que fa a la part lineal, hemde donar les imatges dels vectors de la base canonica, imatges que determinarem a continuacio.En primer lloc, trivialment e1

    = e1. Considerem ara el vector u =AC = (12 , 1), que es

    converteix per la transformacio a realitzar en u =AC = (12 +, 1), es a dir, (

    12 +)e1+e2 =

    u = (u) = (12e1 +e2), i daqu obtenim e2 = e1 +e2. Per tant, matricialment i en termes

    de coordenades, es

    1 0

    0 1 0

    0 0 1

    {x = x+ yy = y

    Variant obtenim diferents distorsions del mateix tipus de la figura. Aquestes transformacionssutilitzen en tipografia per obtenir tipus diferents (per exemple, cursiva) a partir dels tipus decaracters basics. En particular, es poden utilitzar trivialment en PostScript per obtenir noustipus derivats de jocs de caracters aplicant matrius de transformacions afins.

    7.1.4 Propietats de les transformacions afins

    Atesa la simplicitat de lestructura de les transformacions afins, resulta especialment facilestudiar-ne lestructura i deduir-ne propietats. Aqu no en farem cap estudi sistematic, nomespresentarem aquells aspectes que mes ens interessen per als objectius de lobra.

    Composicio dafinitats. Podem veure facilment que la composicio dafinitats es una nova afinitat,i podem estudiar quina es la seva part lineal i el vector de translacio associat, directament oa traves del calcul amb matrius ampliades. En efecte, podem escriure f1(X) = 1(X) + w1,f2(X) = 2(X) +w2, i el resultat de la composicio es (f2 f1)(X) = f2(f1(X)) = 2(f1(X)) +w2 = 2(1(X) + w1) + w2 = 2(1(X)) + 2(w1) + w2 = (2 1)(X)) + (2(w1) + w2). Espot observar que sobte una nova afinitat; la part lineal es la composicio de parts lineals, enlordre corresponent. En general la composicio no es commutativa.

    La composicio dafinitats es associativa, existeix element neutre, que es lafinitat de translacionul.la i part lineal la identitat.

    Pel que fa a lexistencia dinversa, es facil veure que una afinitat f es inversible si, i nomes si,la part lineal associada es isomorfisme o, equivalentment, detA = 0 (A matriu inversible).En aquest cas, la inversa de f es novament una afinitat (podem escriure exactament quina esla inversa a partir de la inversa de la matriu ampliada, en el cas que aixo tingui sentit).

    Una afinitat de matriu A es regular si, i nomes si, detA = 0. No seria regular, per exemple, la

  • 7 Transformacions afins 2D 297

    projeccio sobre el pla xy paral.lelament a leix Oz, es a dir, laplicacio (x, y, z) (x, y, 0). Enefecte, aquesta transformacio de punts es clarament una afinitat, dequacions

    x = xy = yz = 0

    ,

    de vector de translacio zero i de matriu de la part lineal donada per 1 0 00 1 0

    0 0 0

    La projeccio paral.lela segons una direccio donada es un exemple dafinitat que sestudiara enel captol posterior dedicat a la perspectiva.

    Vegem a continuacio algunes propietats utils de les afinitats en general.

    Teorema 7.4 La imatge dun segment per una afinitat es el segment determinat per les imatgesdels extrems.

    Demostracio Expressem lafinitat en la forma X = AX +W i considerem el segment P1P2.Sigui Q un punt del segment; aleshores es Q = (1 )P1 + P2, 0 1. Podem escriure:

    Q = AQ+W = A[(1 )P1 + P2] +W = (1 )AP1 + AP2 +W

    = (1 )AP1 + AP2 + [(1 ) + ]W

    = (1 )[AP1 +W ] + [AP2 +W ] = (1 )P1 + P

    2

    Aquest resultat es denorme importancia practica per a la programacio, ja que en les transforma-cions dobjectes complexos, formats per una gran quantitat de segments, poligonals o polgons,nomes caldra transformar els extrems dels segments, i es mantindra lestructura de lobjec-te (aixo es el que permet utilitzar les regles de substitucio nomes sobre les coordenades a laprogramacio de les afinitats en Mathematica, per exemple).

    Analitzant el resultat anterior i la seva demostracio, resulta que les afinitats conserven laline-acio, es a dir, que punts alineats es transformen en punts alineats i, a mes, es conserva la raosimple de tres punts alineats (de fet, aquesta propietat caracteritza les afinitats, conjuntamentamb la propietat implcita de conservar lalineacio).

    Observem que es mante la mateixa en lafinitat. En particular, per exemple, aixo implica queel punt mitja dun segment es transforma en el punt mitja del segment transformat.

    Les afinitats conserven el paral.lelisme entre varietats, es a dir, transformen varietats paral.lelesen varietats paral.leles. Vegem-ne la demostracio en el cas especial de segments, que es el casque necessitem.

    En efecte, suposem que els segments PQ,RS son paral.lels i vegem que les imatges P Q, RS

    (segons el resultat anterior) son segments paral.lels. Que els segments PQ,RS siguin paral.lels

    significa que els vectorsPQ,

    RS son linealment dependents, es a dir, que per a algun R es

    PQ =

    RS. Aleshores podem escriure

    P Q = QP = (AQ+W )(AP+W ) = (AQAP ) =

    A(QP ) = APQ = A(

    RS) = A

    RS = A(SR) = (ASSR) = [(AS+W )(AR+W )] =

    (S R) = RS.

    Les varietats lineals es transformen en varietats lineals per una afinitat, no necessariament dela mateixa dimensio, que pot disminuir.

  • 298 Geometria per a la informatica grafica i CAD

    7.1.5 Exercicis

    1 Descriviu en termes de matrius ampliades les operacions entre afinitats.

    7.2 Canvis descala i homotecies

    Amb molta frequencia, en informatica grafica i CAD shan de modificar les escales o proporcionsdels objectes per ajustar-los a necessitats que es puguin tenir o be per produir-ne de nous.

    Esencialment es tracta de modificar les proporcions dels objectes en les direccions dels eixosde coordenades, cosa que implica la utilitzacio de factors descala, un per a cada eix de coor-denades independentment (o be uniformement, un factor descala comu per a tots els eixos decoordenades).

    Podem, doncs, en una primera aproximacio, considerar un canvi descala vectorial, que te lloca lespai vectorial.

    Canvi descala vectorial

    Definicio 7.3 Donada una base {e1, en} de lespai vectorial, es defineix com a canvi descalavectorial de factors descala (1, , n), ordenats segons els vectors de la base, laplicacio lineal definida per (ei) = iei. En el cas que tots els factors descala coincideixin i sigualin a aleshores el canvi descala corresponent (x) = x es una homotecia vectorial de rao .

    Per exemple, en el cas bidimensional, si

    es el factor de canvi descala segons leix x (e1) i

    es el factor de canvi descala segons leix y (e2),

    laplicacio lineal corresponent es {(e1) = e1(e2) = e2

    Observeu que, si x = x1e1+x2e2, aleshores (x) = x1e1+x2e2. Podem veure a la figura 7.7lefecte dun canvi descala vectorial amb = .5, = 2.

    La matriu corresponent i lexpressio en components son, respectivament,

    E =

    ( 00

    ) {x = xy = y

    Aixo produeix increments o reduccions en els valors dels components segons leix x depenentde si || 1 o || < 1 (i analogament per a leix y). Res impedeix prendre factors descalanegatius: aixo produeix efectes de simetria, a mes de canvis en les dimensions. En general elsfactors descala seran no nuls, pero novament res impedeix que algun pugui ser-ho per produirdegeneracions a lobjecte sobre el qual sapliquen (per exemple, aixafar sobre el pla de la base i reescalar un prisma). En el cas de les homotecies, la rao ha de ser no nul.la.

    Observeu lefecte dun canvi descala vectorial uniforme (esquerra) i dun canvi descala vectorialde factors diferents (dreta) a la figura 7.7.

  • 7 Transformacions afins 2D 299

    v

    v

    v

    v Figura 7.7

    Canvi descala respecte de lorigen.

    Tractem el problema en dimensio 2, pero tot es generalitza trivialment a dimensio 3 (essencial-ment es afegir una tercera coordenada).

    Un canvi descala vectorial de factors descala (, ) (ordenats per eixos) indueix una transfor-macio af entre punts de lespai af en la forma seguent (la idea es aplicar el canvi descalavectorial al vector posicio de cada punt).

    Definicio 7.4 El canvi descala EO respecte de lorigen de factors descala (, ) es la transfor-macio af sense part de translacio i amb part lineal donada pel canvi descala vectorial delsfactors donats.

    Lexpressio matricial ampliada i lexpressio en coordenades en el sistema de coordenades en elqual sesta treballant son, respectivament,

    EO =

    0 0

    0 0

    0 0 1

    {x = xy = y

    Aquesta afinitat produeix un canvi descala al llarg dels dos eixos de coordenades independent-ment i tambe un desplacament respecte de lorigen, com es pot veure a la figura 7.8.

    C

    A

    A

    B

    B

    Figura 7.8

  • 300 Geometria per a la informatica grafica i CAD

    Ens pot interessar fer canvis descala de forma que, a mes de produir un canvi en les dimensions,es pugui controlar lefecte de desplacament de lobjecte, com es veu per exemple a les figuresadjuntes.

    Figura 7.9

    De la mateixa manera que lorigen queda fix, ens pot interessar que algun punt destacat lligata lobjecte resti fix; alguns daquests punts poden ser el baricentre, el centre de simetria (sinhi ha), un vertex del contorn poligonal o algun altre punt interior o exterior, depenent delefecte que es vulgui produir amb la transformacio. En aquests casos convindria que el puntdestacat tingues el paper que lorigen te en el canvi descala respecte de lorigen. Totes aquestesconsideracions suggereixen la conveniencia de generalitzar el canvi descala.

    Per indicar la transformacio aplicada a punts farem servir la notacio EO, de manera que sera

    P = EO(P ). La matriu ampliada corresponent es EO.

    Canvi descala respecte dun centre arbitrari

    Suposem que estem treballant en el sistema de coordenades cartesianes S = (O; {e1, e2}).

    Donat un punt C = (a, b) i els factors descala (ordenats) (, ), considerem el nou sistemade coordenades per canvi dorigen S1 = (C; {e1, e2}) i sigui P un punt arbitrari. Apliquemel procediment seguent: expressem el punt en el nou sistema de coordenades, apliquem latransformacio de canvi descala respecte del nou origen en el nou sistema, respecte del nouorigen C, obtenim el resultat de la transformacio i, finalment, lexpressem en el sistema antic,que es el que ens interessa:

    P1 = P C (expressio de P en el sistema S1)

    P 1 = EO(P1) (transformat expressat en el sistema S1)

    P = P 1 + C (transformat expressat en el sistema antic)

    En consequencia,

    P = P 1 + C = EO(P1) + C = E

    O(P C) + C

    A partir de lultima expressio es pot escriure P = EO(P ) + (C EO(C)). Daquesta manera

    sha obtingut una afinitat de part lineal donada per EO, canvi descala respecte de lorigen, i

    part de translacio donada pel vector C EO(C) = (a(1 ), b(1 )).

    A la figura 7.10 es pot veure lefecte de reescalar el quadrat (de color fosc) prenent com a centredel canvi descala, respectivament, el vertex inferior esquerre i el vertex superior dret (a lafigura 7.9 sha vist lefecte de prendre com a centre de canvi descala el centre geometric del

  • 7 Transformacions afins 2D 301

    quadrat).

    Figura 7.10

    Definicio 7.5 Lafinitat anterior es defineix com el canvi descala de factors descala (, ) ide centre C = (a, b).

    Es denota per EC; la matriu ampliada corresponent i la seva expressio en coordenades son,respectivament,

    EC =

    0 a(1 )

    0 b(1 )

    0 0 1

    {x = x+ a(1 )y = y + b(1 )

    Sobserva que quan el centre es lorigen aleshores recuperem el canvi descala respecte de lorigen.

    Com a transformacio es pot expressar tambe en la forma EC = T(CEO(C)) EO

    Encara hi ha un procediment alternatiu, una altra manera denfocar la resolucio, que sol sermolt frequent en els textos dinformatica grafica i que consisteix en la concatenacio de transfor-macions basiques o ja conegudes. Per estendre el canvi descala respecte dun centre qualsevol,es procedeix de la manera seguent:

    En primer lloc, es fa una translacio de tot lobjecte, de manera que el centre de canvidescala passi a coincidir amb lorigen de coordenades i sigui ara equivalent aplicar latransformacio a lobjecte traslladat respecte de lorigen (cosa que ja sabem fer).

    Es reescala el traslladat.

    Es restableix la situacio desfent la translacio efectuada inicialment.

    Aixo correspon a la composicio seguent (comencant la lectura per la dreta).

    EC = TC EO TC ,

    que coincideix plenament amb el que sobte per canvi de coordenades, ja que

    EC(P ) = EO(P C) + C = E

    O(TC(P )) + C

    = TC(EO(TC(P ))) = (TC E

    O TC)(P ).

  • 302 Geometria per a la informatica grafica i CAD

    Dacord amb aquesta concatenacio de transformacions podem reobtenir la matriu ampliadacorresponent, amb resultat final coincident amb el que ja havem obtingut per canvi de sistemade coordenades:

    EC =

    1 0 a

    0 1 b

    0 0 1

    0 0

    0 0

    0 0 1

    1 0 a

    0 1 b

    0 0 1

    =

    0 a(1 )

    0 b(1 )

    0 0 1

    Aquesta manera de pensar la resolucio per concatenacio de transformacions es especialmentcomoda i la utilitzarem en altres situacions. En tot cas, es util per utilitzar software que nomestingui incorporades les transformacions mes basiques.

    Tant per al cas de lorigen com per al dun centre arbitrari, si els factors descala coincideixen,aleshores la transformacio af corresponent sanomena homotecia de centre el centre del canvidescala i de rao el factor descala comu.

    1 2 3 4

    2

    4

    6

    8

    Figura 7.11. La figura sha obtingut percanvi descala a partir del taulell descacsconstrut anteriorment amb translacions.

    7.2.1 Exercicis

    1 Estudieu si commuten dos canvis descala arbitraris.

    2 Estudieu si commuten les translacions i els canvis descala arbitraris.

    3 Considerem el rectangle del plaABCD, de vertex inferior esquerre A i vertex superior dret C, ambels costats respectivament paral.lels als eixos de coordenades. Estudieu quina es la transformaciode canvi descala que modifica la figura segons les especificacions:

    Dobla la dimensio horitzontal.

    Quadruplica la dimensio vertical.

    Deixa fix el vertex inferior esquerra A.

    Resoleu-lo directament i per concatenacio de transformacions.

    4 Transformeu la circumferencia unitat x2 + y2 = 1 en lel.lipse x2

    9 +y2

    4 = 1 per canvi descala.

    7.2.2 Transformacions de visualitzacio en informatica grafica

    Com a aplicacio dels canvis descala i les translacions tractem aqu un aspecte molt simple de lavisualitzacio limitat als aspectes bidimensionals. Els aspectes mes complexos, tridimensionals,es tractaran mes endavant i en un altre context, el de la produccio de perspectives.

    El que ara tractem nomes inclou transformacions afins senzilles: canvis descala i translacions.Es tracta de formular les equacions que permeten passar dobjectes bidimensionals en el pla decoordenades a la seva representacio en algun mitja de representacio, per exemple una pantalla.

  • 7 Transformacions afins 2D 303

    7.2.2.1 Finestres dusuari i de representacio

    Que volem veure? Suposem que tenim un objecte 2D del qual nomes volem representar ovisualitzar una part. Lobjecte pot ser, per exemple, la grafica duna funcio y = f(x). Establiruna finestra dusuari per a la visualitzacio es decidir allo que es vol veure; la finestra dusuarinormalment es un rectangle de costats paral.lels als eixos de coordenades:

    FU = [xmin, xmax] [ymin, ymax]

    De fet, la finestra dusuari anterior esta determinada per dos punts que passen a ser de coorde-nades extremes del rectangle, que son precisament P = (xmin, ymin), Q = (xmax, ymax).

    FU

    y

    x

    O

    P

    Q Figura 7.12

    Les coordenades utilitzades son les usuals del sistema de coordenades cartesianes del pla o monreal on viuen els objectes a representar. Allo que representarem dels objectes es el que quedadins del rectangle, es a dir, les parts dels objectes amb les propietats

    xmin x xmaxymin y ymax

    On ho volem veure? Un cop triat que volem veure, cal decidir on ho volem veure dins del mitjade representacio escollit (pantalla, plotter, impressora). El mitja de representacio esta dotatnormalment dun sistema de coordenades propi (O;u, v). Definim una finestra de representaciocontestant a la pregunta don volem fer la representacio. La finestra de representacio es unrectangle

    FR = [umin, umax] [vmin, vmax]

    determinat pels punts de coordenades extremes R = (umin, vmin), S = (umax, vmax), decostats respectivament paral.lels als eixos de coordenades, de la mateixa forma que la finestradusuari. Amb aquesta finestra, a mes dindicar on volem representar lobjecte seleccionat perla finestra dusuari, podem determinar amb quines mides el volem representar (reescalamentamb manteniment de la proporcio o amb distorsio)

    pantalla

    O

    v

    u

    FR

    R

    S

    Figura 7.13

    Existeix la possibilitat de finestres mes complicades, pero aqu no es considerara.

  • 304 Geometria per a la informatica grafica i CAD

    7.2.2.2 La transformacio de visualitzacio

    En qualsevol sistema grafic cal passar finalment del mon real al mon de la representacio.La transformacio de visualitzacio es la que converteix la finestra dusuari en finestra de repre-sentacio, es a dir FU en FR. A lefecte de lobtencio podem interpretar que som en un unicpla 2D i que fem la identificacio u = x, v = y, o be que resolem un problema equivalenten el pla xy. Podem obtenir lexpressio matricial corresponent (o les equacions) concatenanttransformacions:

    Pas 1. Traslladem la finestra FU , determinada per P,Q, tal com sha descrit anteriorment fins aidentificar P , extrem de coordenades mnimes, amb lorigen de coordenades, es a dir, apliquemTP , amb P = (xmin, ymin). En termes de matrius ampliades, resulta

    TP =

    1 0 xmin

    0 1 ymin

    0 0 1

    Pas 2. Reescalem lultima finestra fins convertir-la en una de les mateixes dimensions que lafinestra de representacio, amb els factors de canvi descala

    =umax umin

    xmax xmin, =

    vmax vmin

    ymax ymin

    per un canvi descala respecte de lorigen de coordenades. La matriu ampliada corresponent es

    EO =

    0 0

    0 0

    0 0 1

    Pas 3. Finalment, una translacio TR de vector R col.locara una finestra identica a la de repre-

    sentacio en una posicio equiparada a la que ha de tenir en pantalla, pero encara en el pla decoordenades x, y (despres farem la identificacio corresponent a coordenades u, v). Matricialmentes

    TR =

    1 0 umin

    0 1 vmin

    0 0 1

    La concatenacio de les transformacions, TV = TR EO TP o, en termes matricials,

    TV =

    0 umin xmin

    0 vmin ymin

    0 0 1

  • 7 Transformacions afins 2D 305

    produeix el resultat definitiu, es a dir,

    xy

    1

    =

    0 umin xmin

    0 vmin ymin

    0 0 1

    xy

    1

    o be, identificant convenientment u = x, v = y:

    uv

    1

    =

    0 umin xmin

    0 vmin ymin

    0 0 1

    xy

    1

    Lexpressio matricial pot ser la mes convenient en moltes circumstancies, sobretot per a pro-gramacio eficient i per a concatenacio amb daltres transformacions, previes o posteriors.

    Tambe es pot escriure directament en coordenades, seguint en coordenades cada un dels passosanteriorment indicats: {

    u = (x xmin)umaxuminxmaxxmin + uminv = (y ymin)vmaxvmin

    ymaxymin + vmin

    La majoria de sistemes grafics i llibreries grafiques tenen ordres especfiques per establir aquestsdos tipus de finestres (amb ordres com per exemple ViewPort o altres de similars). Moltes vega-des la transformacio de visualitzacio funciona automaticament. En Mathematica es automatica,pero es poden controlar diversos aspectes relatius a aquesta questio amb les opcions PlotRangei AspectRatio.

    El problema de lescapcat de segments ( clipping)

    Un problema important a les finestres es el de lescapcat bidimensional de segments o clipping,que no tractarem aqu, ja que es mes un problema de programacio grafica o dalgorsmica quede geometria. El lector interessat pot consultar, per exemple, [FODA90]. Moltes vegades esrealitza automaticament contra la finestra escollida.

    7.2.3 Exercicis

    1 Indiqueu quina seria la transformacio de visualitzacio si el sistema de coordenades de pantallatingues lorigen a lextrem superior esquerre, leix Ox esta orientat de la manera habitual i leixOy esta orientat cap avall. Aquesta situacio es molt frequent en els equips informatics usuals.

    7.3 Isometries

    Ens situem en el marc dels espais (afins) euclidians, on tenim una norma a lespai vectorialassociat definida a partir del producte escalar x =

    x x. Tot i que es poden fer raonaments

    mes generals, finalment saplicara tot en els espais euclidians R2,R3, amb el producte escalarordinari.

    Un tipus de transformacio af especialment interessant es la que conserva la distancia euclidianaentre punts. Anomenarem moviment rgid o desplacament una transformacio af daquestescaracterstiques, es a dir, una transformacio f = Tw tal que d(f(P ), f(Q)) = d(P,Q). El

  • 306 Geometria per a la informatica grafica i CAD

    que, de fet, determina aquesta propietat es la part lineal de lafinitat. De manera generalestem interessats en transformacions que conservin els angles, lortogonalitat i que no produeixindeformacions en els objectes.

    Observem que PQ = QP = QP = ((Q)+ w) ((P )+ w) = (Q)(P ) =

    (QP ) = (PQ); per tant, les afinitats que conserven la distancia entre punts es correspo-

    nen amb les aplicacions lineals de lespai vectorial que conserven la norma euclidiana. Daquestamanera traslladem el problema de la geometria a lalgebra i podem comencar estudiant aqueststipus daplicacions. Deixarem de banda aspectes destructura algebraica o propietats que nosiguin necessaries per a la programacio grafica i geometrica.

    Quines son les aplicacions dun espai vectorial euclidia que conserven la norma euclidiana?

    Definicio 7.6 Es diu que una aplicacio lineal : V V es una isometria o transformacioortogonal si conserva la norma, es a dir, x = (x), x V .

    Definicio 7.7 Un moviment rgid o desplacament es una afinitat que te com a part lineal unaisometria1.

    Les isometries que ens interessaran mes endavant son les rotacions, les simetries especulars, lessimetries axials; aixo en els casos del pla i de lespai tridimensional. Les propietats generals queara veurem es podran aplicar a cada un del tipus disometries.

    En primer lloc, es facil veure que les isometries en dimensio finita son isomorfismes (per tant,bijectives). Aixo significa que el determinant es no nul, que es transformen bases en bases i quees conserva o no lorientacio de les bases depenent del signe del determinant, cosa que tindrainteres mes endavant.

    Vegem ara la relacio amb la propietat de conservacio del producte escalar.

    Teorema 7.5 Sigui : V V una aplicacio lineal. Aleshores

    1. Si es isometria, conserva el producte escalar.

    2. Si conserva el producte escalar, es isometria.

    Per tant, en un espai vectorial euclidia hi ha equivalencia entre la conservacio de la norma idel producte escalar per a aplicacions lineals.

    Demostracio 1) Anem a establir una expressio del producte escalar en termes de la normaeucldea. Escrivim, per les propietats de bilinealitat i simetria del producte escalar, x+ y2 =(x+y) (x+y) = x x+2x yy y = x2+ y2+2x y, don x y = 12 [x+y

    2x2y2].

    Per tant, utilitzant la identitat anterior, la linealitat i la conservacio de la norma, podemescriure:

    (x) (y) = 12 [(x) + (y)2 (x)2 (y)2] = 12 [(x+ y)

    2 (x)2 (y)2] =12 [x+ y

    2 x2 y2] = x y.

    2) (x) =(x) (x) =

    x x = x

    Teorema 7.6 Tota isometria conserva els angles (en particular, lortogonalitat).

    1La nomenclatura pot variar en altres textos.

  • 7 Transformacions afins 2D 307

    Demostracio Siguin x, y V vectors no nuls formant un angle , i sigui langle format perles imatges.

    Pel resultat anterior, es (x) (y) = x y. Ara be, podem escriure x y = xy cos i(x) (y) = (x)(y) cos

    Tambe tenim (x) = x, (y) = y i, per tant, essent els vectors no nuls, cos = cos.Ates que , [0, ], de la igualtat anterior resulta = .

    Observacio. En el pla 2D orientat, els angles es conserven en valor absolut, pero no els anglesorientats: es conserven en el cas de determinant positiu.

    Quina es lexpressio matricial duna isometria? Quines propietats matricials especfiques ca-racteritzen la propietat disometria?

    Teorema 7.7 Una aplicacio lineal es una isometria si, i nomes si, transforma bases orto-normals en ortonormals.

    Demostracio

    Sigui isometria i sigui e1, , en una base ortonormal. Considerem el conjunt de les imatgese1, , en, base per consideracions generals, pel fet que es isomorfisme. Pel teorema deconservacio del producte escalar es

    (ei) (ej) = ei ej = ij , i, j = 1, , n,

    cosa que prova que e1, , en es una base ortonormal.

    Sigui ara lineal i suposem que existeix una base ortonormal e1, , en tal que e1, , enes tambe una base ortonormal. Vegem que (x) = x, x. Per lexpressio de la normaen base ortonormal, si x =

    ni=1 xiei, aleshores duna banda tenim x =

    ni=1 x

    2i i, de

    laltra, podem escriure (x) = (n

    i=1 xiei) =n

    i=1 (xiei) =n

    i=1 xi(ei); en consequencia,

    (x) =n

    i=1 x2i .

    De fet, demostrem mes: si transforma una base ortonormal en una base ortonormal, ho faraamb totes les bases ortonormals.

    Com a consequencia de la propietat anterior i la forma de les matrius de canvi de base entrebases ortonormals resulta el seguent.

    Teorema 7.8 Les isometries son les aplicacions lineals que en base ortonormal tenen matriuortogonal.

    Recordem que una matriu es ortogonal si la inversa i la transposta coincideixen. Una consequen-cia que sen deriva es que el determinant es 1. Les isometries propies son les de determinant1 (conserven lorientacio); les altres, les de de determinant 1, son les impropies. Es pot veure(nomes ho veurem parcialment, ates el caracter eminentment practic i limitat daquesta obra)que les propies son exactament les rotacions vectorials i que les impropies son exactament lessimetries axials vectorials, cosa que constitueix una caracteritzacio de les isometries en dimensio2.

  • 308 Geometria per a la informatica grafica i CAD

    7.4 Rotacions 2D

    7.4.1 Rotacions vectorials

    Sigui V espai vectorial euclidia de dimensio 2, amb base ortonormal {e1, e2}, que podem pensarcom R2 amb el producte escalar ordinari i la base canonica. Se suposa lespai vectorial orientatper aquesta base. Definim en aquest context el concepte de rotacio vectorial dangle [0, ].

    Definicio 7.8 Una rotacio vectorial R dangle [0, ] es una aplicacio lineal : V Vtal que per a tot v = 0 es compleix

    v = (v)

    Langle que formen v, (v) es

    v

    (v)

    Observem que, si v = 0, de la conservacio de la norma resulta que (v) = 0 i te sentit parlarde langle anterior. Aquesta definicio conte laspecte conceptual mes important en una rotacio,pero no correspon a una transformacio unica i no es suficient per obtenir-ne lexpressio matricial.Per a aixo cal fer intervenir el concepte dorientacio del pla orientat i cal definir les rotacionsvectorials positives i negatives com sindica a continuacio.

    Definicio 7.9 La rotacio vectorial positiva R dangle (0, ) es una aplicacio lineal :V V tal que per a tot v = 0 es compleix

    v = (v)

    Langle que formen v, (v) es

    Langle orientat de la parella ordenada de vectors no nuls {v, (v)} es positiu, es adir, la base {v, (v)} defineix la mateixa orientacio que {e1, e2} o, equivalentment,dete(v, (v)) > 0.

    Les rotacions dangles 0, es consideren positives.

    En cas contrari, es a dir, si langle orientat de la parella ordenada de vectors no nuls v, (v)es negatiu, es a dir, les bases {v, (v)}, {e1, e2} son dorientacio diferent o, equivalentment,dete(v, (v)) < 0, aleshores la rotacio vectorial es negativa.

    v

    (v)

    e1

    e2

    v

    (v)

    e1

    e2Figura 7.14

  • 7 Transformacions afins 2D 309

    Amb lorientacio habitual, les rotacions positives son rotacions antihoraries, de sentit contrarial de les agulles del rellotge. En daltres termes, van del vector e1 al e2 el cam mes curt. Lesrotacions negatives son rotacions horaries, en el sentit de les agulles del rellotge, que vandel segon vector de la base al primer pel cam mes curt.

    Aquesta descripcio en termes de sentit de les agulles del rellotge es depenent de lorientacio delespai. La situacio sinverteix si sinvertex lorientacio; aleshores, les rotacions positives en elsentit de lorientacio serien les horaries.

    Matrius

    Resulta facil obtenir la matriu de les rotacions positives i negatives (amb angle positiu), ja quenomes cal obtenir les imatges dels vectors de la base: (e1), (e2). En el cas de la rotaciopositiva, i per trigonometria elemental resulta (e1) = (cos, sin), (e2) = ( sin, cos);en el cas de la rotacio negativa, tenim que (e1) = (cos, sin), (e2) = (sin, cos). Lesmatrius resultants son (

    cos sinsin cos

    ),

    (cos sin sin cos

    )

    Les isometries propies en dimensio 2 son les rotacions vectorials de lespai vectorial de dimensio2.

    Les dues matrius corresponen a rotacions vectorials dangle 0. La matriu de lesquerra esuna rotacio positiva o antihoraria, ja que produeix un gir en sentit contrari al de les agulles delrellotge (observeu que aixo esta lligat a lorientacio del pla: la mateixa matriu, amb el mateixangle positiu, produiria un gir horari si lorientacio fos diferent). La matriu de la dreta es unarotacio negativa o horaria, ja que produeix un gir contrari al de les agulles del rellotge.

    Observem que, si acceptem treballar amb angles negatius, les matrius que per a angles positiusprodueixen rotacions horaries, amb angles negatius les produeixen horaries, cosa que deriva derelacions trigonometriques elementals. Daquesta manera, a lefecte de la programacio podemprogramar un sol tipus de matriu de rotacio i obtenir girs horaris i antihoraris amb la mateixamatriu: (

    cos sin sin cos

    ),

    (cos() sin()sin() cos()

    )Observacio sobre la rotacio dangle : el resultat final duna rotacio daquests angles es elmateix, pero en determinades aplicacions pot ser rellevant com es fa la rotacio. Per exemple,en robotica pot interessar fer girar un brac robotic per un canto, pero no per laltre, ja que pothaver-hi un obstacle o pot no ser convenient (per exemple, pot ser perillos per a un operari).Aixo es pot resoldre triant adequadament langle o a les rotacions positives.

    Observacio. Les rotacions, tan si son positives com si son negatives, conserven sempre lorien-tacio, com es pot veure comprovant que el determinant es positiu.

    Algunes propietats de les rotacions vectorials en el pla.

    Teorema 7.9 Les rotacions vectorials en dimensio 2 satisfan les propietats seguents:

    1. Les rotacions commuten.

    2. Si es una rotacio dangle , aleshores 1 es una rotacio dangle .

    3. La composicio de rotacions es una rotacio dangle la suma dels angles.

    4. La identitat es la rotacio dangle = 0.

    Demostracio Sobtenen totes trivialment a partir de lestructura matricial.

  • 310 Geometria per a la informatica grafica i CAD

    7.4.2 Caracteritzacio de les isometries propies en dimensio 2

    Tot i que no ho demostrarem de manera completa, en dimensio 2 hi ha dos tipus diferentsdisometries: les rotacions (vectorials) i les simetries axials (vectorials). Les rotacions son lesque conserven lorientacio (determinant positiu) i les simetries axials son les que no la conserven(determinant negatiu).

    Farem un estudi de les matrius ortogonals de determinant 1, cosa que donara lloc a les rotacionsvectorials. Tambe es podria estudiar el cas de les matrius ortogonals de determinant -1, quedonen lloc a les simetries axials vectorials; no farem aqu aquest estudi.

    Anem a estudiar les isometries propies de V = R2, es a dir, aquelles per a les quals det > 0, queson tambe les que conserven lorientacio. Se suposa que sesta treballant en la base ortonormalusual i es considera el pla orientat per aquesta base en la forma usual.

    Vegem quina es lestructura duna matriu ortogonal 22 de determinant 1. SiguiA =

    (a cb d

    )matriu ortogonal amb detA = 1; imposem que la inversa sigui la transposta.

    Calculem la inversa pel ben conegut procediment de calcular la transposta, substituir cadaelement de la transposta per ladjunt amb signe i, finalment, dividir pel determinant:

    A1 =

    (a cb d

    )1=

    1

    ad bc

    (d cb a

    )=

    (d cb a

    )

    Imposem ara la igualtat amb la transposta A1 = AT , es a dir

    (d cb a

    )=

    (a cb d

    )T=

    (a bc d

    )

    Igualant terme a terme, resulta a = d, c = b, amb a2 + b2 = detA = 1.

    Tenim, per tant, dos tipus de matrius, amb la condicio comuna a2+b2 = 1. Suposem que b 0:(a bb a

    ),

    (a bb a

    ),

    De la condicio a2 + b2 = 1, suposant b 0 sen deriva que existeix un unic [0, ] tal quea = cos i b = sin (en el cas que b < 0, seria de [, 0]) i, en consequencia, existeixen dostipus de matrius amb 0:(

    cos sinsin cos

    ),

    (cos sin sin cos

    )

    Les isometries propies en dimensio 2 son les rotacions vectorials de lespai vectorial de dimensio2.

    Les dues matrius corresponen a rotacions vectorials dangle 0. La matriu de lesquerra esuna rotacio positiva o antihoraria, com sha vist anteriorment.

    Podem encara precisar amb altres termes les rotacions positives i negatives. Retornem a lex-pressio matricial no trigonometrica i suposem b > 0.

    En el cas de les matrius A =

    (a bb a

    ), si considerem un vector u unitari (per simplificar, ja

    que nomes caldria que fos no nul), efectuant els calculs pertinents podem escriure det(u,Au) =b > 0. Resulta que la rotacio es positiva si, i nomes si, det(u,Au) > 0, langle orientat que

  • 7 Transformacions afins 2D 311

    formen {u,Au} es positiu, i aixo passa, si, i nomes si, {u,Au} es una base de la mateixaorientacio que la base {e1, e2}.

    En el cas de les matrius B =

    (a bb a

    ), si considerem un vector u unitari, aleshores

    det(u,Bu) = b < 0, resulta que la rotacio es negativa si, i nomes si, det(u,Bu) < 0, langleorientat que formen {u,Bu} es negatiu, i aixo passa si, i nomes si, {u,Bu} i {e1, e2} son basesdorientacio diferent.

    7.4.3 Els girs en el pla

    Les rotacions vectorials bidimensionals que hem vist anteriorment donen lloc a rotacions o girsa lespai de punts de lespai af bidimensional.

    Suposem fixat el sistema de coordenades cartesianes habituals amb lorientacio associada.

    Gir respecte de lorigen

    Una rotacio vectorial R, dangle 0, positiva, indueix una afinitat en el pla amb vectorde translacio nul i part lineal donada per la rotacio R. Aquesta transformacio af es el girpositiu dangle 0 respecte de lorigen; la notacio corresponent es GO. Es pot consideraruna definicio analoga per a girs negatius. Es igualment usual fer servir el terme rotacio.

    La matriu ampliada i lexpressio en coordenades son, respectivament,

    GO =

    cos sin 0

    sin cos 0

    0 0 1

    {x = x cos y siny = x sin + y cos

    -0.5 0.5 1 1.5 2 2.5 3

    0.5

    1

    1.5

    2

    2.5

    3

    3.5

    Figura 7.15. A la figura sob-serva lefecte duna rotacio dan-gle /4, de centre lorigen, ensentit contrari a les agulles delrellotge respecte de lorigen, delquadrat donat per la poligonal(1, 0), (3, 0), (3, 2), (1, 2).

    Analogament, tenim els girs negatius respecte de lorigen. La matriu ampliada corresponent es

    cos sin 0

    sin cos 0

    0 0 1

    Observeu que hereten el caracter de positivitat o negativitat de laplicacio lineal.

  • 312 Geometria per a la informatica grafica i CAD

    Gir respecte dun punt o centre

    Considerem donat un punt C = (a, b). Anem a definir gir positiu de centre C i angle 0 dedues maneres alternatives, ambdues equivalents. Analogament, tindrem els girs negatius.

    C

    O

    P

    P

    e1

    e2

    C

    O

    P

    P

    e1

    e2Figura 7.16

    Metode 1: Per canvi de sistema de coordenades

    Considerem el nou sistema de coordenades S1 = (C; {e1, e2}) (canvi dorigen). Expressem lescoordenades dun punt generic P en el nou sistema de coordenades, efectuem el gir respecte delnou origen i, finalment, expressem el resultat en el sistema antic: GC(P ) = G

    O(P C) + C =

    GO(P )+(CGO(C)), que es finalment un gir positiu respecte de lorigen seguit duna translacio

    de vector w = C GO(C) = (a a cos+ b sin, b a sin b cos).

    La matriu ampliada corresponent seria

    GC =

    cos sin a a cos+ b sin

    sin cos b a sin b cos

    0 0 1

    Les equacions tambe es poden formular immediatament; considerem per exemple la variant quederiva danar seguint en coordenades, pas per pas, les concatenacions{

    x = (x a) cos (y b) sin + ay = (x a) sin (y b) cos + b

    Metode 2: Per concatenacio de transformacions

    La idea ja esta suggerida per GC(P ) = GO(P C) + C, que podem reescriure com

    GC = TC GO TC

    La concatenacio seria:

    1. Passem a lorigen, es a dir, efectuem una translacio de lobjecte de manera que el centrede gir passi a lorigen; concretament, TC .

  • 7 Transformacions afins 2D 313

    2. Efectuem un gir positiu dangle 0 respecte de lorigen.

    3. Restablim la situacio, desfent la translacio inicial, es a dir, aplicant la translacio TC .

    Es podria ara obtenir la matriu ampliada corresponent multiplicant en el mateix ordre lesmatrius ampliades de cada una de les transformacions. El resultat, logicament, coincideix ambla ja obtinguda.

    Si el centre de gir es lorigen, aleshores recuperem lexpressio del gir respecte de lorigen.

    7.4.4 Exercicis

    1 Trobeu la rotacio positiva en el pla de centre A i angle :

    a) A = (0, 0), = /3;

    b) A = (1, 2), = /3.

    2 Calculeu les equacions resultants defectuar, amb lordre indicat, les transformacions 2D seguents:

    a) Rotacio de 30 a lentorn del punt (2, 4) i de sentit antihorari;

    b) Translacio de vector (5,2).

    3 Donat un pentagon regular de centre (0, 0), radi 1 i amb un vertex al punt (1, 0), com obtindreua partir daquest pentagon un de regular amb un costat determinat pels punts (1, 0) i (0, 1)?

    4 Siguin r i s dues rectes del pla que es tallen en el punt P0 = (x0, y0). Suposem-les donades perles parelles de punts

    r : P0 = (x0, y0), P1 = (x1, y1);s : P0 = (x0, y0), P2 = (x2, y2).

    Escriviu la transformacio de rotacio respecte de P0 que transforma la recta r en la recta s.Justifiqueu detalladament la resposta.

    7.5 Les simetries axials en el pla

    Podrem fer tambe un estudi vectorial de la simetria axial respecte dun vector no nul, que esdefiniria o be per canvi de base o be directament per projeccio ortogonal sobre el vector. Comque un estudi del tot similar es fa per a la simetria axial respecte duna recta del pla, passemdirectament a aquesta situacio.

    Les simetries axials son les simetries respecte duna recta. Donada una recta r del pla, lasimetria Sr respecte de la recta r es la transformacio que fa correspondre a cada punt P el puntP (anomenat simetric de P respecte de la recta r) amb les condicions seguents:

  • 314 Geometria per a la informatica grafica i CAD

    El segment PP es perpendicular a r.

    El punt mitja M = 12 (P +P) del segment

    PP es de la recta r.

    r

    P

    P

    M

    1 2 3

    -2

    -1

    1

    Figura 7.17. A la figura saplica alhexagon regular la simetria axialrespecte de leix determinat pelspunts (2, 0), (3, 1).

    La simetria axial respecte de qualsevol dels ei-xos de coordenades es pot obtenir trivialment.Per exemple, si considerem leix Ox i indiquemper S1 la simetria axial corresponent, aleshoreses S1(x, y) = (x,y); la matriu de la transfor-

    macio es S1 =

    (1 00 1

    ). Analogament es-

    criurem S2, simetria axial respecte de leix Oy.En podem veure un esquema a la figura 7.18.

    P

    P

    P

    y

    x

    S2

    S1

    Figura 7.18

    La simetria axial respecte duna recta es pot calcular de diverses maneres.

    Metode 1. Directament a partir de ladefinicioNomes en donarem la idea: calculemM com a projeccio ortogonal de P so-bre r (del captol de geometria metri-

    ca). Aleshores ha de serPP = 2

    PM

    i, per tant, P = P + 2PM . A partir

    daqu sen podrien obtenir les equaci-ons prenent coordenades. A la figura7.19 es pot veure aquesta idea.

    rA

    u

    P

    P

    M

    Figura 7.19

    Metode 2. Per canvi de sistema de coordenades

    Utilitzarem el fet que coneixem la forma de les simetries axials respecte dels eixos de coorde-nades, de matrius S1, S2.

  • 7 Transformacions afins 2D 315

    Es tracta de construir un nou sistema de coordenades respecte del qual la recta r sigui el primereix de coordenades x. Posteriorment expressarem en el nou sistema les coordenades del punt P(inicialment expressat en el sistema original o antic), calcularem el transformat per la simetriai, finalment, lexpressarem en el sistema antic original.

    Suposem que la recta passa per Q i te vector director u; unitaritzant obtenim e1 = 1uu =

    (a, b), i ara podem escollir el vector ortogonal, ja unitari, e2 = (b, a) (mantenint lorientacio,

    tot i que en aquest cas no es necessari). Considerem el nou sistema de coordenades S =(Q; {e1 , e2 }) i sigui A la matriu de canvi de base, matriu ortogonal ja que es un canvi entrebases ortonormals. Les relacions entre les coordenades noves i antigues son X = AX+Q i X =AT (X Q). Aleshores, podem finalment concretar el calcul del simetric: P = A(S1(AT (X Q))) +Q = (AS1A

    T )(X) + (Q (AS1AT )Q).A partir daqu tenim clarament especificades lapart lineal i de translacio de lafinitat i podem escriure la matriu ampliada corresponent.

    Metode 3. Per concatenacio de transformacions

    Suposem leix de simetria com a recta que passa pel punt A i te vector director u (figura 7.20).Aleshores el que farem sera la concatenacio de transformacions que es descriu a continuacio.

    A

    u

    P

    x

    y

    e2

    e1O

    r

    Figura 7.20

    AO

    u

    r

    e2

    e1

    r

    Figura 7.21

    En primer lloc una translacio per reduir el problema al dobtenir la simetria axial respecte duneix que passa per lorigen. Aixo es pot fer amb la translacio TA (aniria be qualsevol punt de larecta) (figura 7.21).

    En segon lloc, es tracta daprofitar que les simetries axials son trivials respecte de qualsevoleix de coordenades, de manera que abatrem leix (traslladat) sobre (per exemple) leix Oxmitjancant la rotacio adequada de centre lorigen de coordenades. Langle es calculara com alangle orientat que formen u,e1. Sigui = angleOr2D[u,e1]. La rotacio a afectuar es G

    O

    (figura 7.22).

    En tercer lloc, convertit leix de simetria en leix Ox, efectuem la simetria corresponent ambla transformacio S1 (figura 7.23).

    O

    u

    r

    e2

    e1

    Figura 7.22

    O

    r

    e2

    e1 S1

    r

    Figura 7.23

  • 316 Geometria per a la informatica grafica i CAD

    Finalment desfem totes les transformacions auxiliars anteriors en lordre invers al qual han estatfetes.

    Aix, doncs, resultaraSr = TP G

    O S1 G

    O TC .

    En realitat, la descripcio anterior es una possible manera de parlar; de fet totes les transforma-cions sestan aplicant a la figura a transformar. Pero aixo es nomes conceptual. A la practica,pero, calcularem la matriu final corresponent a la concatenacio i nomes laplicarem una vegadaa la figura a transformar.

    Les equacions de la simetria axial en el pla respecte de la recta ax+ by+ c = 0 son les seguents:{x = x 2a(ax+by+c)

    a2+b2

    y = y 2b(ax+by+c)a2+b2

    En podem obtenir la matriu ampliada

    Sr =

    b2a2

    a2+b2 2ab

    a2+b2 2ac

    a2+b2

    2aba2+b2

    a2b2

    a2+b2 2bc

    a2+b2

    0 0 1

    7.5.1 Exercicis

    1 Obteniu lexpressio de la simetria axial, a partir de la definicio, corresponent al metode 1 descritanteriorment.

    2 Obteniu la simetria axial per concatenacio de transformacions utilitzant la simetria axial respectede leix Oy

    3 Obteniu les equacions de la simetria axial en el pla respecte de la recta determinada per A = (1, 1)i B = (3, 2). Resoleu el problema mitjancant canvi de sistema de coordenades.

    4 Trobeu el producte de les 4 simetries deixos els costats dun quadrat.

    7.6 Les simetries centrals en el pla

    La idea de la simetria central es la de simetria respecte dun punt.

    P

    P

    C

    P

    P

    C

    Figura 7.24

  • 7 Transformacions afins 2D 317

    Es defineix la simetria central vectorial com laplicacio (u) = u, que correspon a una rotaciovectorial dangle i, en consequencia, es trivialment expressable i programable com a tal.

    Matricialment es S =

    (1 00 1

    )= I.

    La simetria central vectorial indueix una transformacio af a lespai de punts que es la simetriacentral respecte de lorigen, que es lafinitat sense part de translacio i amb part lineal la matriuS. Aquesta afinitat sindicara per SO. Si P es un punt del pla, aleshores SO(P ) = P .

    Es defineix la simetria central SC respecte del punt C = (a, b) com SC = TC SO TC. Aplicata punts, es SC(P ) = (P C) +C = P +2C. La matriu ampliada corresponent i lexpressiode la transformacio en coordenades son:

    SC =

    I 2C

    0 0 1

    { x = x+ 2a

    y = y + 2b

    Vegem un exemple concret de simetria central o simetria respecte dun punt del pla. La simetriacentral respecte dun punt C del pla es un gir dangle radiants de centre C.

    A la figura 7.25 sefectua una simetria central respecte de (2, 0) del triangle donat per(0.5, 0.5), (0.5,0.5), (1,1).

    -1 1 2 3 4 5

    -1

    -0.5

    0.5

    1

    Figura 7.25

    7.6.1 Exercicis

    1 Obteniu les equacions duna simetria central per canvi de sistema de coordenades.

    2 Calculeu les equacions de la simetria central respecte el punt A = (3, 2).

    3 Trobeu el producte dels tres girs antihoraris dangle 60 i centres respectius els vertexs consecutiusdun triangle equilater.

    7.7 Exercicis addicionals

    1 Considerem lesquema de la figuraadjunta. Proposeu diverses sequen-cies de transformacions afins queconverteixin la figura F1 en la figuraF2. Les solucions shan dexpressaren termes de a, b, c, d, P,Q,, . Q

    c

    d

    F2

    P

    a

    b

    F1

  • 318 Geometria per a la informatica grafica i CAD

    2 Considerem lesquema de la figu-ra adjunta. Proposeu diversessequencies de transformacions afinsque converteixin el rectangle F1 enel paral.lelogram F2. Les solu-cions shan dexpressar en termesde a, b, c, d, P,Q, , . Escriviu lesequacions de lafinitat que transfor-ma F1 en F2.

    Q

    c

    d

    F2

    P

    a

    bF1

    3 Considerem lel.lipse de centre C =(, ), semieixos a, b, tal que leixprincipal corresponent al semieix aforma amb leix de coordenades Oxun angle segons la figura adjun-ta. Obteniu una parametritzacio dela corba mitjancant concatenacio detransformacions afins.

    O x

    C

    P

    b

    at

    4 Considerem una espiral dArquimedes de parame-tre a, dorigen en el punt del pla (3, 2) i tal quela tangent a lorigen tingui la direccio del vectoru = (1, 1) (similar a lesquema adjunt). Suposemque es fan 4 voltes a lentorn de lorigen de lespi-ral. Obteniu una parametritzacio de la corba descri-ta utilitzant concatenacio de transformacions afins.Proposeu mes duna solucio.

    7.8 Alguns problemes resolts

    En aquesta seccio resolem alguns problemes especfics de la tematica del captol i tambe refor-mulem en termes de transformacions afins alguns problemes que previament shavien resolt percanvi de sistema de coordenades, per exemple lobtencio de parametritzacions de corbes.

    Enunciat 7.11

    Donada la circumferencia C : (x 2)2 + (y 3)2 = 1 i lel.lipse E de centre D = (4, 5), desemieixos a = 5, b = 1 i tal que el semieix positiu Ox+ forma un angle de 45 amb el semieixmajor de lel.lipse. Indiqueu una possible concatenacio de transformacions afins que converteixiC en E.

    Resolucio

    Observeu que la circumferencia es de centre Q = (2, 3) i radi R = 1.

    Hi ha mes duna possibilitat de resolucio.

  • 7 Transformacions afins 2D 319

    Vegem una primera variant. La idea es traslladar la circumferencia a lorigen, transformar-laper canvi descala en una el.lipse identica metricament a E i efectuar una rotacio i una translaciofinal:

    TD GO4EOa

    R ,bR

    TQ

    En una segona variant, podem traslladar directament la circumferencia de manera que el seucentre passi a la posicio D:

    GD4EDa

    R ,bR TDQ

    Encara es possible una tercera variant, transformant in situ la circumferencia en una el.lipsemetricament identica a la requerida, col.locant-la en posicio per rotacio i, finalment, situant-laen la localitzacio definitiva:

    TDQ GQ4EQa

    R ,bR

    Enunciat 7.12

    Considereu lesquema adjunt, on F1 es un quadrat de costat c i F2 es un rectangle de costats a,b.

    Q

    ba

    c

    F1 F2

    Figura 7.26

    En funcio de a, b, c,Q, , proposeu una concatenacio de transformacions afins que converteixila figura F1 en la F2.

    Resolucio

    Hi ha diverses variants possibles de resolucio.

    GQ TQ EOac ,

    bc

    TQ GO EOac ,

    bc

    GQ EQac ,

    bc

    TQ

    Enunciat 7.13

    Parametritzeu la cardioide de parametre a, vertex situat al punt A = (1, 1/2) i semieix en la

  • 320 Geometria per a la informatica grafica i CAD

    direccio del vector u = (2, 1) (figura 7.27).

    A

    BFigura 7.27. Exercici plantejatanteriorment al captol de corbesper ser resolt per canvi de sistemade coordenades. En aquest cap-tol el resolem per concatenacio detransformacions.

    Resolucio

    La parametritzacio de la corba en posicio estandard (en lnia discontnua) es (t) = (a(1 +cos t) cos t, a(1 + cos t) sin t), t [0, 2]. Sigui langle orientat que e1 = (1, 0) forma ambu = (2, 1). Podem ara considerar dues variants de resolucio:

    (t) =

    (x(t)y(t)

    )= GO

    (a(1 + cos t) cos ta(1 + cos t) sin t

    )+A

    Equivalentment, podem fer la concatenacio (t) = (TA GO )(t).

    Hi ha una altra manera de procedir: (t) = (GA TA)(t)

    Podem interpretar el parametre t com langle polar de la cardioide nova en el seu sistemanatural i local deixos, o be langle polar dels punts homolegs en la cardioide puntejada. No es,en canvi, langle polar dels punts de la cardioide nova en el sistema de coordenades universal.

    c: Els autors, 1999; Edicions UPC, 1999.