Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Addition von relativen Koordinatenangaben

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Addition von relativen Koordinatenangaben (1250 mal gelesen)
mundal
Mitglied
Techniker


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

Beiträge: 320
Registriert: 14.02.2005

erstellt am: 07. Feb. 2009 12:19    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 Zusammen,

etwas zum Knobeln am WE !! ;-)

Ich habe einem fixen Koordinatenpunkt, nennen wir ihn P1 (Koordinate 10,10).
Diesem Punkt sollen relative Koordinatenangaben "aufaddiert".

Kann dies LISP ?

Beispiel:
---------
(setq endpunkt ( + p1 @100<45))

Dass diese Lispzeile nicht funktioniert ist mir bewusst.
Sie soll lediglich mein Problem darstellen.

Gruß

Franz


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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 07. Feb. 2009 14: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 Nur für mundal 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von mundal:
Ich habe einem fixen Koordinatenpunkt, nennen wir ihn P1 (Koordinate 10,10).
Diesem Punkt sollen relative Koordinatenangaben "aufaddiert".
Kann dies LISP ?
Beispiel:
---------
(setq endpunkt ( + p1 @100<45))


Hallo Franz, natürlich kann Lisp mit Koordinaten umgehen, es ist eine dafür prädestinierte Programmiersprache. Allerdings muss man auch die notwendigen Lisp-Funktionen kennen (stehen alle in der Online-Hilfe - Ich hab sie mal alle sorgfältig durchgelesen und folgende Funktione für dich rausgesucht - das war aber keine Knobelei ;)

Also wenn es LISP werden soll, dann so:

Addition kartesischer Koordinaten:

Code:
(setq  endpunkt (mapcar '+ p1 '(70.71 70.71 0.0)))

Addition polarer Koordinaten:
Für Umrechnung von kartesischen Koordinaten nach Polarkoordinaten gibt es eine fertige Funktion namens Polar.
Code:
(setq endpunkt (Polar p1  (angtof "45" 0) 100.0))

besser ist es natürlich, Winkel gleich in Rad anzugeben
Code:
(setq endpunkt (Polar p1 (/ Pi 4) 100.0))

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

[Diese Nachricht wurde von CAD-Huebner am 07. Feb. 2009 editiert.]

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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 07. Feb. 2009 18:19    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 mundal 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CAD-Huebner:
  [QUOTE]Original erstellt von mundal:
Ich habe einem fixen Koordinatenpunkt, nennen wir ihn P1 (Koordinate 10,10).
Diesem Punkt sollen relative Koordinatenangaben "aufaddiert".
Kann dies LISP ?
Beispiel:
---------
(setq endpunkt ( + p1 @100<45))


Hallo Franz, natürlich kann Lisp mit Koordinaten umgehen, es ist eine dafür prädestinierte Programmiersprache. Allerdings muss man auch die notwendigen Lisp-Funktionen kennen (stehen alle in der Online-Hilfe - Ich hab sie mal alle sorgfältig durchgelesen und folgende Funktione für dich rausgesucht - das war aber keine Knobelei ;)

Also wenn es LISP werden soll, dann so:

Addition kartesischer Koordinaten:

Code:
(setq  endpunkt (mapcar '+ p1 '(70.71 70.71 0.0)))

[...]
[/QUOTE]

Hallo Udo,

mit dieser Antwort provozierst Du natürlich jede Menge Fehlermeldungen und reichlich Frust beim Fragesteller.

Das Problem ist, dass uns der OP mit seiner Fragestellung zeigt, dass er erstens nicht weiss, was eine beliebige Programmiersprache machen kann, dass er aber zweitens auch nicht die mathematischen Grundlagen kennt, die hinter den AutoCAD-Begriffen "absolute" und "relative" Koordinaten stehen.

Das fängt doch schon damit an, dass die Angabe relativer Koordinaten in AutoCAD prinzipiell bereits eine Vektoraddition ist. "@3,4" beschreibt eine Koordinate, die sich per Vektoraddition aus den Koordinaten des Punkts "@" (für den mitlesenden Fragesteller: das Symbol "@" steht in AutoCAD für den zuletzt eingegebenen Punkt) und den Koordinaten "3,4" ergibt. Die Mathematik kennt keine "relativen" Koordinaten.

Bei obiger Frage eines völligen Laien halte ich Deine Verwendung des Beispiels mit "mapcar" für irrwitzig überzogen. Da muss erst mal eine grundlegende Einführung in das Wesen von Vektoren im kartesischen oder polaren Koordinatensystem her, und dann muss man erklären, dass Vektoren bzw Punktkoordinaten in Lisp in Listen gespeichert werden. Und dann muss man erklären, wie Vektoren mathematisch richtig addiert werden, und wie man das dann in Lisp umsetzt.

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

mundal
Mitglied
Techniker


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

Beiträge: 320
Registriert: 14.02.2005

erstellt am: 07. Feb. 2009 18:30    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 Zusammen,

ich kann durchaus sagen dass mir der erste Beitrag weitergeholfen hat.
Über Winkelfunktionen berechne ich nun die Werte die zu addieren sind.

Sicher geht das noch einfacher, aber mir ist auf jeden fall geholfen.

Deshalb nochmals Danke an den Verfasser des ersten Beitrages.

Gruss
Franz

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

mundal
Mitglied
Techniker


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

Beiträge: 320
Registriert: 14.02.2005

erstellt am: 07. Feb. 2009 18:33    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 Udo Hübner,

es ist noch besser wie ich vorhin beschrieben habe.
Mein Problem ist gelöst, Du hast mir toll geholfen - wow


Nochmals Danke

Gruss
Franz

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