|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: May 2005
Messaggi: 23
|
[java]GeneralPath e aree
Ciao!
Nello scorso compito il docente aveva chiesto di disegnare questa stella solamente con un GeneralPath. ![]() Io ho scritto il codice seguente che disegna solamente l'ellisse, anche se non capisco il perché. Inoltre non mi è chiaro il ruolo del valore booleano in append. Codice:
GeneralPath stella = new GeneralPath(); stella.moveTo (-100, 0); stella.lineTo (-3, -3); stella.lineTo (0, -100); stella.lineTo (3, -3); stella.lineTo (100, 0); stella.lineTo (3,3); stella.lineTo (0, 100); stella.lineTo (-3, 3); stella.append(new Ellipse2D.Double(-100,-100, 200,200), true); stella.closePath(); |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
GeneralPath può contenere più figure geometriche separate.
moveTo -> punto di partenza line ...line ...line close -> fine della prima parte moveTo -> inizia un'altra parte, separata dalla prima line...line...line close -> fine della seconda eccetera Il valore boolean che usi in append stabilisce se la figura aggiunta deva essere connessa all'ultimo segmento presente nel GeneralPath oppure no. La ragione per cui disegna solo l'ellisse dipende dalla figura e dalla norma di riempimento. La norma di riempimento è ciò che determina se una parte della figura è da considerarsi interna o esterna alla figura. Il metodo fill(Shape) colora le parti interne e non colora le parti esterne. Per farla breve, la tua stella è: Codice:
GeneralPath stella = new GeneralPath(Path2D.Float.WIND_EVEN_ODD); stella.moveTo (-100, 0); stella.lineTo (-3, -3); stella.lineTo (0, -100); stella.lineTo (3, -3); stella.lineTo (100, 0); stella.lineTo (3,3); stella.lineTo (0, 100); stella.lineTo (-3, 3); stella.closePath(); stella.append(new Ellipse2D.Double(-100,-100, 200,200), false); stella.append(new Ellipse2D.Double(-104, -104, 208, 208), false);
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: May 2005
Messaggi: 23
|
Grazie mille!
Solo un'ultima cosa... Mi potresti spiegare meglio la norma WIND_EVEN_ODD, soprattutto per quale motivo si comporta in questo modo? Da cosa si capisce cosa è interno e cosa è esterno? |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Tracci una linea che interseca la figura a partire da un punto a piacere. Considera quel punto. Se il numero di interesezioni della linea con la figura a partire dal punto verso l'esterno è dispari allora il punto si trova all'interno della figura. Altrimenti è all'esterno.
O una cosa così
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:29.




















