Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Polygon, jonka osat osuvat päällekkäin

Sivun loppuun

Tilli [16.07.2011 12:49:22]

#

Jos polygoniin sisältyy 2 kuviota jotka ovat päällekäin, polygonin päällekäisistä osista tulee läpinäkyviä. Tämä tapahtuu esim. silloin kun piirtää kuution jokaisen sivun yhteen polygoniin. Eli onko Javassa valmiina jotain jolla voisi muokata polygonin piirtotyyliä vai pitääkö tehdä oma luokka, jonka periyttäisin Polygonista?

Jokotai [16.07.2011 12:58:03]

#

Täydellinen dokumentaatio polygonista:
http://download.oracle.com/javase/1.4.2/docs/api/java/awt/Polygon.html
Eli ei, sinun täytyy toteuttaa se itse.

Tilli [16.07.2011 14:43:55]

#

Siltä se alkoi jo hieman vaikuttaakin...

Grez [16.07.2011 15:32:12]

#

Itse jäin ihmettelemään miksi ihmeessä kuution kaikki sivut laitettaisiin yhteen polygoniin. Sehän tarkoittaa mm. sitä että kaikki täytyy olla samalla värillä, jne.

Tilli [16.07.2011 19:29:17]

#

Joo, ajattelin että yksinkertaiset kuviot voisivat olla selkeämpiä ja "taloudellisempia" yhdessä polygonissa kuin tehdä kuutiokin 6:sta polygonista, mutta toisaalta silloin koordinaatteja olisi vain enemmän. Se siitä selkeydestä...

Grez [16.07.2011 19:56:11]

#

No, voithan toki piirtää sen kuution yhdellä polygonilla. Silloin se on käytännössä 6-kulmainen polygoni. Jos piirrät erillisiä (läpinäkymättömiä) polygoneja, et tarvitse kuutta vaan kolme.

Tilli [17.07.2011 09:57:20]

#

Tulin ajatelleeksi ettei minun tarvi oikeastaan milloinkaan tehdä 1-värisiä kuutioita yms. joten taidan siirtyä siihen monipolygoniseen vaihtoehtoon ja parannella suosiolla 3D-kuvion piirtävää ohjelmaani.

Pekka Karjalainen [17.07.2011 10:58:24]

#

Tässäpä hyödyllinen käsite heille, jotka haluavat värittää polygoninsa sisäosia. Sisäosan voi määritellä eri tavoilla polygonin leikatessa itsensä, joista non-zero winding rule luultavasti tekisi sen, mitä alkuperäinen kysyjä kaipasi.

http://en.wikipedia.org/wiki/Nonzero-rule

Javassa winding rulen voi asettaa GeneralPath-luokan olioille, joilla voi piirtää erinäisiä viivoista ja kaarista muodostuvia polkuja, siis erikoistapauksena myös polygoneja

http://download.oracle.com/javase/1.4.2/docs/api/java/awt/geom/GeneralPath.html

Vastaukseni on siis, että kyllä, Javassa on valmiina jotakin, jolla voi muokata polygonin piirtotyyliä. Tämä valinta ehkä tekee sen, mitä alkuperäinen kysyjä kaipasi, jos nyt ymmärsin kysymyksen siten kuin se oli tarkoitettu. Varmaankin on kuitenkin parempi piirtää useampia polygoneja yhden sijasta.

Tilli [17.07.2011 20:38:06]

#

Pekka Karjalainen kirjoitti:

Tämä valinta ehkä tekee sen, mitä alkuperäinen kysyjä kaipasi.

Tuo oli juuri se, mitä alunperin kaipasin, josta tulee varmasti olemaan hyötyä. Kiitos!


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta