AGB  ·  Datenschutz  ·  Impressum  







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

Drehsinn von Ebenen

Ein Thema von Bjoerk · begonnen am 28. Okt 2015 · letzter Beitrag vom 31. Okt 2015
Antwort Antwort
Seite 1 von 3  1 23      
Bjoerk

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

Drehsinn von Ebenen

  Alt 28. Okt 2015, 11:59
Gibt es die Möglichkeit herauszufinden ob der Drehsinn einer Ebene mathematisch positiv oder negativ eingegeben wurde (Siehe Anlage)?
Angehängte Dateien
Dateityp: pdf EbenenBsp.pdf (825,7 KB, 42x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

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

AW: Drehsinn von Ebenen

  Alt 28. Okt 2015, 12:10
Ich schätze mal nicht. Für eine Drehung bzw eine sichtbare Orientierung eines Objektes gibt es mehrere Wege die nach Rom führen.
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#3

AW: Drehsinn von Ebenen

  Alt 28. Okt 2015, 12:13
Gibt es die Möglichkeit herauszufinden ob der Drehsinn einer Ebene mathematisch positiv oder negativ eingegeben wurde (Siehe Anlage)?
Wenn man die Reihenfolge der Vertexes kennt, schon.
  Mit Zitat antworten Zitat
Jens01

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

AW: Drehsinn von Ebenen

  Alt 28. Okt 2015, 12:14
Meinst Clockwise sowas?

Such mal nach "clockwise" auf der Seite.

So sieht die Funktion bei mir aus:

Delphi-Quellcode:
function TPolygon.IsClockwiseXY: Boolean;
// Paul Bourk - A = Area des Polygons
var
  A: Double;
  i: Integer;
begin
  A := 0;
  for i := 0 to Count - 2 do
    A := A + (Self[i].X * Self[i + 1].Y - Self[i + 1].X * Self[i].Y);
  A := A / 2;
  Result := A < 0;
end;
Bin mir aber nicht ganz sicher, ob es das ist, was Du suchst.
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Bjoerk

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

AW: Drehsinn von Ebenen

  Alt 28. Okt 2015, 12:23
Hallo Jens,
das mit A = Summe Determinanten / 2 stimmt nur am Gesamtsystem.
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#6

AW: Drehsinn von Ebenen

  Alt 28. Okt 2015, 12:38
http://stackoverflow.com/questions/1...lockwise-order
  Mit Zitat antworten Zitat
Jens01

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

AW: Drehsinn von Ebenen

  Alt 28. Okt 2015, 12:57
Du zählst die Punkte eh irgendwie anders. Ist das FEM-Shit?
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Bjoerk

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

AW: Drehsinn von Ebenen

  Alt 28. Okt 2015, 13:29
Nee, ich zähle nicht anders? Deine Formel gilt hat nicht für Slice(Polygon) und wäre auch nur so wie gezeigt richtig, wenn du den 1. Punkt als letzen Punkt nochmal drin hast.

Ich brauch das für die Berechnung von Volumen und Schwerpunkt von Spannungskörpern bei schiefer Biegung für meine Polyederklasse. Polyeder sind quasi räumliche N-Ecke. Da gibt man die Eckpunkte und die einzelnen Begrenzungsebenen an. Voraussetzung ist hierbei, daß alle Ebenen mathematisch positiv eigegeben worden sind. Hierfür wollte ich eine kleine Überprüfung schreiben und falls nicht dann die Punkte in umgekehrter Reihenfolge setzen.

Delphi-Quellcode:
    Polyeder.Clear;
    Polyeder.AddPoint(1, 1, 0);
    Polyeder.AddPoint(4, 1, 0);
    Polyeder.AddPoint(4, 6, 0);
    Polyeder.AddPoint(1, 6, 0);
    Polyeder.AddPoint(4, 6, 10);

    Polyeder.AddPlane([0, 3, 2, 1]);
    Polyeder.AddPlane([1, 2, 4]);
    Polyeder.AddPlane([1, 4, 0]);
    Polyeder.AddPlane([4, 3, 0]);
    Polyeder.AddPlane([3, 4, 2]);

    ShowMessage(Format('%.3f', [Polyeder.Volumen]));
    C := Polyeder.Center;
    ShowMessage(Format('%.3f', [C.X]));
    ShowMessage(Format('%.3f', [C.Y]));
    ShowMessage(Format('%.3f', [C.Z]));
  Mit Zitat antworten Zitat
Jens01

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

AW: Drehsinn von Ebenen

  Alt 28. Okt 2015, 13:48
Zitat:
wäre auch nur so wie gezeigt richtig, wenn du den 1. Punkt als letzen Punkt nochmal drin hast
Danke für den Himweis, schon bei mir korrigiert. Ansonsten bin ich raus. Ich schmeiss mal den Begriff Triangulation rein, aber ohne drüber nachgedacht zu haben.
Bis dahin...
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
 
#10

AW: Drehsinn von Ebenen

  Alt 28. Okt 2015, 14:11
Einfach von allen aneinanderliegenden Vektoren (Differenzen zwischen den Punkten) das Kreuzprodukt nehmen? Wenn bei allen Ergebnissen (wieder ein Vektor) die Z-Achse > 0 ist, ist der Drehsinn positiv. Wenn er bei allen < 0 ist, ist der Drehsinn negativ. Falls beide Vorzeichen vorkommen, ist bei der Eingabe ein Fehler passiert. Zumindest müsste das meiner Meinung nach funktionieren.

Du solltest aber auch noch prüfen, ob die Punkte wirklich auf einer Ebene liegen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 08:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz