Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Winkel zwischen 3 Punkten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Winkel zwischen 3 Punkten (4765 mal gelesen)
FiRo
Mitglied
Skript-Student


Sehen Sie sich das Profil von FiRo an!   Senden Sie eine Private Message an FiRo  Schreiben Sie einen Gästebucheintrag für FiRo

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 15. Mai. 2008 12:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo

in CATIA gibt es eine Funktion "Measure Item" mit welcher man den Winkel zw 3 Punkten messen kann.
Diese Funktion (genauer: diese Funktionalitaet) wuerde ich gern in einem Makro nutzen.

Bis jetzt ist es mir nur gelungen den Winkel 'per Hand' auszurechnen. Dabei muss man allerdings eine Fallunterscheidung machen in welchem Quadranten die Punkte liegen und das ist ziemlich ineffizient.

Da ich nur die Koordinaten der Punkte und nicht die Punkte selbst habe, waer eine Loesung, die darauf beruht am besten.

Hat jmd eine Idee wie ich das loesen koennte? Ist im Grunde auch egal ob's ein trigonometrische Loesung ist oder auf eine Funktion von CATIA zurueckgreift 

------------------
no milk today...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ladde2008
Mitglied



Sehen Sie sich das Profil von Ladde2008 an!   Senden Sie eine Private Message an Ladde2008  Schreiben Sie einen Gästebucheintrag für Ladde2008

Beiträge: 10
Registriert: 21.04.2008

erstellt am: 15. Mai. 2008 15:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRo 10 Unities + Antwort hilfreich

Also mathematisch ist das kein Problem


Winkel zwischen 2 Vektoren A und B

                              A      *      B
cos(alpha) = ----------------------
                      Length(A) + Length(B)

gegeben sind also 3 Punkte, p1, p2, p3
Daraus machen wir die 2 Vektoren A und B

A = p1 - p2
B = p3 - p2

Length eines Vektors berechnet sich wie folgt: Wurzel(x*x + y*y + z*z)


Setzt man nun alles oben ein, und nimmt den Arcus Cosinus, sobekommmt man Alpha, welches der Winkel am Punkt p2 ist.


Hab grad keine Zeit sonst hätt ichs hier auch als VB Berechnung reingeschrieben.
Sollte aber wohl kein Problem sein, oder?


[Diese Nachricht wurde von Ladde2008 am 15. Mai. 2008 editiert.]
Arggg, um den Bruch mal hier anständig hinzubekommen ;-)

[Diese Nachricht wurde von Ladde2008 am 15. Mai. 2008 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FiRo
Mitglied
Skript-Student


Sehen Sie sich das Profil von FiRo an!   Senden Sie eine Private Message an FiRo  Schreiben Sie einen Gästebucheintrag für FiRo

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 20. Mai. 2008 09:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

danke fuer deine antwort.
das hat ja eigentlich nix mit programmierung zu tun, sondern mit mathe. zum glueck studier ich sowas nicht, sonst waers peinlich 
anyhoo

da ich einen 'spezialfall' hab, kuerzen sich die meisten sachen weg:
p1 ist ein bel. punkt im raum (2d) (coords([x,y])
p2 ist der nullpunkt
p3 ist der punkt (1,0)

mein code dazu sieht so aus:

cosAlpha = coords(0) / (LengthA + LengthB)

ich bekomme damit nicht die richtigen werte, koenntest du mir da nochmal auf die spruenge helfen?

------------------
no milk today...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz