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
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;
ich tipp auf
if (!first[edge])
first [edge] [X] = point [0];
first [edge] [Y] = point [1];
ist aber ohne jede garantie...
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
was bedeutet das?
danke!!
Das ist C-Schreibweise für:
first[b][0] = p[0];
first[b][1] = p[1];
oder einfacher:
first[b] = p;
vBulletin® v3.7.1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.