Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
8. Jul 2014
Das war mir die ganze Zeit schon klar.
Das muss man anhand der Winkels der schrägen Kante bestimmen. Im einfachsten Fall: < 45° Betondeckung für oben bzw unten, >45°: Betondeckung für seitlich (rechts und links müssten eigentlich immer gleich sein). Es kann aber auch sein, dass die Grenze woanders liegen müsste. Das kann ich gerade nicht beurteilen, dazu müsste man sich tiefer in die...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
8. Jul 2014
Es gäbe auch noch die Möglichkeit, anhand der Winkel zu unterscheiden, ob eine Kante unten oder oben ist:
Angenommen, in deinem Beispiel aus #31 hat die Linie 4-5 die Neigung 0°, Wenn man jetzt im Uhrzeigersinn die Winkel addiert, hat die Linie 0-1 180° und 2-3 wieder 0°.
Also könnte man sagen: alles was annähernd 180° ist, bekommt die Margin für oben und was annähernd 0° ist, Margin für...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
7. Jul 2014
Die Grundfrage ist doch die:
Beschreiben deine 4 Margins Kantenverschiebungen senkrecht zu den bisherigen Polygon-Kanten oder senkrecht zu den Kanten eines umhüllenden Rechtecks? Wenn es sich um Betondeckungen handelt, sind die wohl senkrecht zu den Polygonkanten gemeint, sonst macht es ja keinen Sinn. Du willst wahrscheinlich die Vorgaben der DIN, die nur für oben/unten/seitlich angegeben...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
7. Jul 2014
Ich würde einfach die Kanten parallel verschieben, und zwar je nach Lage der Kante um Top, Bottom, Left oder Right. Du musst nur eine Regel für die schrägen Kanten festlegen: gilt da die Betondeckung für oben/ unten oder seitlich? (evtl. aghängig von der Neigung der Kante). Dann neue Schnittpunkte bestimmen. Das sind dann die neuen Polygonpunkte.