PDA

View Full Version : clipPoint


Jeff_Mills
23-10-2002, 23:30
wie funkt die abfrage
if(!first[b])
first [b]= &p;

wofür steht first[][]
und s[][]



danke

buschti
24-10-2002, 10:46
first[][] uns s[][] geben jeweils den ersten und den letzten punkt an, der gegen diesen Rand geclippt wurde.
first[left] gibt beispielsweise den punkt an, der als erstes gegen die linke seite geclippt wurde. angenommen, das wär der punkt (1,2) dann würde das so aussehen:
first[LEFT][X]=1
first[LEFT][Y]=2

du fragst einfach ab, ob noch kein punkt gegen diese seite geclippt wurde (first[edge]==null), wenn ja, wird eben der Punkt in first[edge] geschrieben.


ciao,
Sebastian

Kuschelmaus
24-10-2002, 12:52
ich versteh das nur noch immer nicht ganz mit den 2-dimensionalen arrays. laut vorgabe soll ich an die methoden nur 1-dimesionale übergeben, wie funktioniert das dann?

und in welchem array stehen eigentlich die punkte vom polygon, is das projected? aber in welcher form sind die da drinnen?

danke im vorraus!

leobasil
24-10-2002, 21:18
heisst das im klartext, dass diese abfrage ca. so ausschauen würde ?

if (!first[edge]) first[b]=point;

Shade
24-10-2002, 22:01
ich tipp auf
if (!first[edge])
first [edge] [X] = point [0];
first [edge] [Y] = point [1];

ist aber ohne jede garantie...

wolk
24-10-2002, 23:04
ne, eher

if (first[edge] == null)

da das ja ein 2-dim array ist, wird das nicht mit ! funktionieren


andere frage :
im clip()
habt ihr da das feld first mit 0,0,0,0 initialisiert wie es im buch war ?
wenn ja, wie?
da es ja ein 2-dim feld ist ?

noch ne frage:
funktioniert der algoritmus vom buch überhaupt?
mein prog. zeichnet nur figuren in rechter hälfte und in linker hälfte das, was ich bei rechten figur weggeschnitten habe

mfg

enola
26-10-2002, 17:55
was bedeutet das?
danke!!

Lucutus
26-10-2002, 18:32
Das ist C-Schreibweise für:

first[b][0] = p[0];
first[b][1] = p[1];

oder einfacher:

first[b] = p;