| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Frage zu Aufgabe aus dem Kochbuch (456 mal gelesen)
|
ManuelKuhn Mitglied Techniker und DvD :-)
Beiträge: 100 Registriert: 23.03.2005 Intel XEON W3503 @ 2.4GHz 8 GB DDR3 NVIDIA QUADRO FX3800 WinXP Prof SP3 x64 ACAD 2007 + ProSteel 17.2/ 18 ACAD 2010 + ProSteel V8i S3 Rhino 3D V4 Autodesk VIZ-2006 Max2011 Design Visual Studio 2008
|
erstellt am: 13. Aug. 2008 08:30 <-- editieren / zitieren --> Unities abgeben:
Moin Moin zusammen, ich habe nun endlich etwas Zeit gefunden mich mit der LISP-Programmierung etwas auseinander zu setzten und habe mir hierzu das allseits bekannte "AUTO LISP Kochbuch" besorgt. Ich stehe noch ziemlich am Anfang und bis jetzt ist mir soweit auch alles klar, aber die Lösung der Übungsaufgabe Nr. 50 verstehe ich nicht so ganz. Die Aufgabe ist: Zitat: 49.Definieren Sie eine Funktion, die testet, ob ein 2D-Punkt im rechten oberen Quadranten des Koordinatensystems liegt. Machen Sie die Funktion so kurz wie möglich.
und die Lösung: Zitat: (defun rechtsoben? (pkt) (and (< 0 (car pkt)) (< 0 (cadr pkt)) ) )
könnte mir das bitte einer mal kurz erläutern oder steh ich aufm Schlauch!?? Mein Gedanke war eigentlich: Ok, rechter oberer Quadrant somit X>0 und Y>0 und ich hätte das ganze so formuliert: (defun rechtsoben (pkt) (and (< x 0 (car pkt)) ;prüft ob X<0 wenn ja dann nil (< y 0 (car pkt)) ;prüft ob y<0 wenn ja dann nil ) ) Grüße aus Wü ------------------ Immer auf der Suche nach Wissen....wenn ichs doch nur finden würde....???kann mir jemand helfen??? [Diese Nachricht wurde von ManuelKuhn am 13. Aug. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 13. Aug. 2008 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für ManuelKuhn
|
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 13. Aug. 2008 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für ManuelKuhn
Zitat: Original erstellt von ManuelKuhn:
(< x 0 (car pkt)) ;prüft ob X<0 wenn ja dann nil (< y 0 (car pkt)) ;prüft ob y<0 wenn ja dann nil
wozu das x und das y? Du vergleichst (0<Koordinate) --> T für erfüllt, nil nicht erfüllt oben rechts x und y -Koordinate sind grösser Null Dein Punkt ist eine Liste also y mit cadr x mit car mfg heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 13. Aug. 2008 09:05 <-- editieren / zitieren --> Unities abgeben: Nur für ManuelKuhn
pkt ist eine Variable an die eine Liste ( xwert ywert ) oder (xwert ywert zwert) gebunden ist. (car pkt) ermittelt den ersten Listeneintrag -> xwert (cadr pkt) ermittelt den zweiten Listeneintrag -> ywert (< 0 (car pkt)) überprüft, ob 0 kleiner als der Xwert ist (< 0 (cadr pkt)) überprüft, ob 0 kleiner als der ywert ist (and (< 0 (car pkt)) (< 0 (cadr pkt)) )
fast beide Bedingungen zusammen und gibt "nicht nil" (also True, was es eigentlich nicht gibt ) zurück, wenn beide Einzelbedingungen wahr sind.
------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ManuelKuhn Mitglied Techniker und DvD :-)
Beiträge: 100 Registriert: 23.03.2005
|
erstellt am: 13. Aug. 2008 09:10 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von joern bosse: Hallo, PKT ist eine Liste aus x y z, => (20.0 30.0 0.0) mit CAR kannst Du das erste Element der Liste wählen (also x) und mit CADR das zweite Element (also Y)
ahh klar, ich de** ich war echt irgendwie auf'm Schlauch.... ich hab's irgendwie nicht so ganz mitbekommen das pkt ja eine liste ist , dann ist es logisch mit car und cadr (mit dem Ausdruck c?r hab ich gestern allein fast ne dreiviertel Stunde rumgespielt) danke euch allen, Unitys sind unterwegs!! ich glaube ich werde in nächster Zeit ab und an mal eure Hilfe brauchen! Gruß aus Wü
------------------ Immer auf der Suche nach Wissen....wenn ichs doch nur finden würde....???kann mir jemand helfen??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |