AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Polygon.Inflate

Ein Thema von Bjoerk · begonnen am 7. Jul 2014 · letzter Beitrag vom 8. Jul 2014
Antwort Antwort
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#1

AW: Polygon.Inflate

  Alt 7. Jul 2014, 14:25
Zitat:
P.S.: Interessant, dass man hier noch mehr Bau-Menschen findet. Bin auch so einer.
Wir sollten einen Klub gründen.
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Polygon.Inflate

  Alt 7. Jul 2014, 14:31
Bloß nicht in Dreiecke zerlegen! Das ist ein weitaus komplizierteres Problem.

Such mal die Unit gr32_polygon, da ist genau so eine Inflate-Routine drin.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.691 Beiträge
 
Delphi 12 Athens
 
#3

AW: Polygon.Inflate

  Alt 7. Jul 2014, 14:51
Such mal die Unit gr32_polygon, da ist genau so eine Inflate-Routine drin.
Da wird aber in alle Richtungen immer der gleiche Abstand genommen. Das ist einfach.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Polygon.Inflate

  Alt 7. Jul 2014, 15:02
Achso... dann sucht Bjoerk vielleicht Minkowski-Summen? Die Beschreibung liest sich zumindest so.

Geändert von Namenloser ( 7. Jul 2014 um 15:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#5

AW: Polygon.Inflate

  Alt 7. Jul 2014, 15:34
Also wenn ich das richtig verstehe, geht es hier um eine Skalierungsmethode, die nicht nur einfach die X/Y achsen der punkte basierend zum Mittelpunkt scaliert, sondern auch entscheiden lässt, ob man auf der X achse nur die Punkte skalieren will, die relativ zum Mittelpunkt im Positiven oder Negativen Teilbereich einer Achse liegen?

In diesem Fall würde ich zuerst den Mittelpunkt und die BB(BoundingBox) berechnen und danach selbige in Quadranten aufteilen. Du hast jetzt 4 Bereiche, die bestimmen von welchen der 4 Parametern ein Punkt beeinflusst wird.

Liegt ein Punkt im oberen linken Quadranten wird er beeinflusst von
Y+ Achse(nteil?)
x- Achse

Was Top/Left entspricht.

Ein punkt der Direkt auf der X-Achse liegt(Egal ob X+ oder X- Teilbereich) kann nicht von der Y-Achse beeinflusst werden. In diesem Fall zählen nur Left oder Right Werte. Dies scheint z.B. im ersten Eintrag gar nicht berücksichtigt zu werden. Das selbe gilt natürlich auch umgekehrt für die Y-Achse
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Polygon.Inflate

  Alt 7. Jul 2014, 15:58
Also ich hab jetzt so ziemlich je Kombination von Skalieren und Normalisieren ausprobiert. Scheiten alle daran daß man nicht weiß in welche Richtung man normaliseren muß. Und wie die Bauleute natürlich sofort gemerkt haben, in Wirklichkeit ist es noch viel komplizierter. Die Margins verstehen sich senkrecht zu Polygonline und können auch unterschiedlich sein, z.B. Untere Bewehrung Decke vs. Unterzug..
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Polygon.Inflate

  Alt 7. Jul 2014, 16:21
Und wie die Bauleute natürlich sofort gemerkt haben, in Wirklichkeit ist es noch viel komplizierter. Die Margins verstehen sich senkrecht zu Polygonline und können auch unterschiedlich sein, z.B. Untere Bewehrung Decke vs. Unterzug..
Das muss nicht unbedingt komplizierter sein, du müsstest nur mal ganz genau beschreiben, was da passieren soll. Nicht jeder kennt sich mit irgendwelchen Bau-Richtlinien (?) aus.

Zeichne doch mal ein paar aussagekräftige Beispiele. Ein interessantes Beispiel fände ich z.B. einen (näherungsweisen) Kreis... wie soll das Ergebnis dort aussehen? Da gibt es ja nicht nur links, rechts, oben und unten, sondern ganz viele Zwischenstufen. Was genau passiert mit diesen?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz