- for(i in numpoints) //eigentlich sollte man hier eher mit Epsilon arbeiten
- {
- p1 = points[i];
- p2 = points[(i+1)%numpoints]
- if(abs(dist(p1)) == 0)
- {
- //falls lieber ein neues Polygon erstellen will muss man diesen Punkt behalten
- continue;
- }
- if(dist(p1) > 0) //bzw < 0 falls man die andere Seite will
- {
- //auch hier ggf zum neuen Polygon hinzufügen
- }
- if((dist(p2) == dist(p1) || abs(dist(p2)) == 0)
- {
- continue;
- }
- dot = dist(p1) / ( dists(p1) - dists(p2) );
- for(j in 3)
- {
- if(normal[j] == 1)
- {
- mid[j] == dist(0);
- }
- elseif(normal[j] == -1)
- {
- mid[j] == -dist(0);
- }
- else
- {
- mid[j] = p1[j] + dot * ( p2[j] - p1[j] );
- }
- }
- //mid ist ein Schnittpunkt
- }