EXODUS-työprojekti                               9. Pöytäkirja

Jyväskylän Yliopisto

Tietotekniikan laitos

 

Paikka: Ag C223.1

 

Aika: 1.11.2001, klo 16.15-17.50

 

Läsnäolijat:

Kari Kärkkäinen, projektin vastaava ohjaaja, puheenjohtaja

Markku Vire, tekninen ohjaaja

Sari Kallunki, harjoitustyöntekijä

Mikko Ketola, projektiryhmä

Kaisa Kokko, projektiryhmä, sihteeri

Lasse Laukkanen, projektiryhmä

Petri Eskelinen, projektiryhmä

 

Käsitellyt asiat:

 

1. Bezier-luokan rajapinta

 

Sovimme tahkon kontrollipisteiden numeroinnin järjestyksen. Järjestys vastaa Numertimen käyttöoppaassa esiteltyä järjestystä: ensiksi tulevat kontrollipisteet x-akselin suunnassa vasemmalta oikealle jatkuen samoin y-akselin suunnassa ylöspäin.

 

Sari toteuttaa kaksi eri luokkaa ts. sekä neliölle että kolmiolle:

cSquareBezier

cTriangleBezier

 

Sari tulee ensisijaisesti toteuttamaan projektiryhmälle Bezier-luokkien konstruktorit cTriangleBezier (double **A, int lkm=4) ja cSquareBezier (double **A, int lkm=4), joille välitetään  osoitintaulukko kontrollipisteiden koordinaateista sekä särmän kontrollipisteiden lukumäärä, sekä metodin getPoint (double u, double v, double w[3])  Siinä u on x-akselin ja v y-akselin suuntainen sekä u,v Î [0,1], w[3] on palautusvektori, jossa palautetaan pisteen koordinaatit.

 

Keskustelimme myös metodeista:

 

getTriangles(double *p, int max)

int getSizeOfTriangulation(int n), missä n = visualisointipisteiden lukumäärä särmällä

setTriangulationCount(int n), missä asetetaan pistemäärä

getTriangulationCount() const

 

getNet(double *p, int max)

int getSizeOfNet () const

 

Nämä metodit Sari tulee toteuttamaan harjoitustyössään, joita me mahdollisesti voimme käyttää ohjelmassamme, mutta OpenGL:llä ne pystyy helposti tekemään itsekin metodin getPoint palauttamien pisteiden pohjalta.

 

Keskusteltiin myös tulisiko Bezier-luokat yhdistää Surface-luokkiin moniperintää käyttämällä tai tulisiko Surface-luokilla olla attribuuttina Bezier-olio. Järkevimmäksi tavaksi osoittautui kuitenkin pitää Bezier-luokka ulkopuolisena Surface-luokasta ja luoda Bezier-olio dynaamisesti aina tarvittaessa.

 

Pohdimme visualisointiverkon visualisointia kolmion ja neliön tapauksissa. Tulisiko verkon muodostua neliöistä vai kolmioista ja voisiko kolmiolla verkko muodostua kolmioista ja neliöllä neliöistä. Kallungin mielestä olisi selvempi, jos molemmissa tapauksissa käytettäisiiin samaa tapaa ja hänen mielestään kolmiointi sopisi molempiin. Hän tulee kuitenkin toteuttamaan molemmat tapaukset.

 

PÄÄTÖKSET: Sari toteuttaa Bezier-luokkien konstruktorit sekä metodin getPoint, joka palauttaa pisteen koordinaatit 3D:ssä. Neliölle ja kolmiolle tulee omat luokat.

 

EXODUS-työprojekti

Lasse Laukkanen, Kaisa Kokko, Petri Eskelinen, Mikko Ketola

Puh. 014-2604966