next up previous contents
Next: Polaarimuunnokset Up: Toiminnot Previous: Muunnokset kuvatietorakennetyyppien välillä

Kierrot

Kuvien kierrosta toteutetaan tehokkuussyistä lukuisia eri versioita:

point rotate_point(point p, orientation o);

image_real *rotate_real(image_real *in, image_real *out, 
                                 orientation o);

image_real *rotate_around_X_real(image_real *in, image_real *out, 
                                 double alpha);

image_real *rotate_around_Y_real(image_real *in, image_real *out,
                                 double alpha);

image_real *rotate_around_Z_real(image_real *in, image_real *out,
                                 double alpha);
Funktio rotate_point kiertää pisteen p origon ympäri parametrin o ilmoittamaan asentoon.

Funktio rotate_real kiertää kuvan in keskipisteensä ympäri parametrin o ilmoittamaan asentoon. Jos parametri out on NULL, funktio luo uuden kuvatietorakenteen kierron tuloksen tallettamista varten ja palauttaa osoittimen siihen. Muuten funktio käyttää tuloksen tallettamiseen parametrin out osoittamaa kuvatietorakennetta ja palauttaa osoittimen out arvon. Tietorakenteen out dimensioita kasvatetaan tarvittaessa.

Funktiot rotate_around_X_real, rotate_around_Y_real ja rotate_around_Z_real kiertävät kuvaa in keskipisteensä kautta kulkevan X-, Y- tai Z-akselin suuntaisen akselin ympäri kulman alpha ilmoittaman määrän. Palautusarvo ja parametrin out tulkinta on vastaava kuin funktion rotate_real tapauksessa.



T Valtteri Rahkonen
2000-04-02