Grafikus tervezőrendszerek programozása 3. előadás.

Slides:



Advertisements
Hasonló előadás
Síkmértani szerkesztések
Advertisements

“Hogyan oldunk meg gyorsan egy csomó számítást?”
Tananyag: konzultáció
Grafikus tervezőrendszerek programozása 10. előadás.
C++ programozási nyelv Gyakorlat hét
Grafikus tervezőrendszerek programozása 2. előadás.
Geometriai transzformációk
Kifejezések 2+3 Egy egyszerű kifejezés… © Pasztuhov Dániel, www.programozas-oktatas.hu.
Adatbázis alapú rendszerek
2012. március 6. Rózsa Győző Interaktív környezet március Rózsa Győző
JavaScript.
Dinamikus tömbök.
Sztringek.
Bevezetés a Java programozásba
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
Táblázatkezelés alapjai MS Excel, OpenOffice Calc
Függvények, mutatók Csernoch Mária.
Transzformációk kucg.korea.ac.kr.
Agárdy Gyula-dr. Lublóy László
Operációs rendszerek gyakorlat
A háromszögek nevezetes vonalai
Operációs rendszerek gyakorlat sed, awk parancsok.
Operációs rendszerek 6. gyakorlat sed parancsok. Sed parancs Stream editor – folyamban lévő szöveg szerkesztése Pl.: szöveg lecserélésére Működése: Keres.
Grafikus tervezőrendszerek programozása
Programozás I Függvények általános jellemzői
Lénárt Anett egyetemi adjunktus - PTE PMMK Rendszer- és Szoftvertechnológia Tanszék Előadás JavaScript Tananyag: W eb - programozás.
Salamon Róza felkészítő tanár
Lineáris függvények.
Függvények III Logikai függvények. Hamis A HAMIS logikai értéket adja eredményül. HAMIS( ) A függvény alkalmazása helyett egyszerűen beírhatjuk a HAMIS.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
SQL.
METSZÉSI FELADATOK.
Függvények.
Grafikus tervezőrendszerek programozása 8. előadás.
Grafikus tervezőrendszerek programozása 6. előadás.
Grafikus tervezőrendszerek programozása 9. előadás.
Grafikus tervezőrendszerek programozása 7. előadás.
Grafikus tervezőrendszerek programozása 11. előadás.
A Pascal programozási nyelv alapjai
16. Modul Egybevágóságok.
2012. tavaszi félév Véső Tamás Véső Tamás OE­NIK / 18.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
A hozzáírt kör középpontja
2.2. Az egyenes és a sík egyenlete
Objektum orientált programozás
A lineáris függvény NULLAHELYE GYAKORLÁS
Objektum orientált programozás
Táblázatkezelés alapjai
ACCESS Lekérdezések, űrlapok, jelentések
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Operációs rendszerek gyakorlat sed parancsok.
Számítógépes grafika I. AUTOCAD alapok 2. előadás.
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Számítógépes grafika I. AUTOCAD alapok 6. előadás.
Nemrekurzív programozás ÜA LISP tartalmaz nemrekurzív eszközöket is, mivel azonban funkcionális nyelv, ezeket is függvényként használhatjuk. ÜSokszor a.
Számítógépes grafika I. AUTOCAD alapok
Számítógépes grafika I. AUTOCAD alapok
A 2. géptermi beszámoló VBA anyagának összefoglalása
Grafikus programozás Készítette: Csernok László
Geometriai feladatok programozása Geometriai programozás Szlávi Péter ELTE IK Média- és Oktatásinformatika Tanszék 2010.
Objektum orientált programozás 4. Mutatók, típusok és struktúrák Nagy Szilvia.
Fájlkezelés Programozási tételek
1 Függvények használata – az első függvénynél a formulát háromszor be kell írni, rendre az x, x+h, x-h argumentumokkal, – a második függvénynél az új (feltételes.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
PHP függvények MySQL adatbázisok kezelésére
Neumann János Informatikai Kar
Programozási nyelvek alapfogalmai
Könyvtári függvények I. Input / output kezelés függvényei
A lineáris függvény NULLAHELYE
Előadás másolata:

Grafikus tervezőrendszerek programozása 3. előadás

Értékadás, változók (ismétlés) (setq szimbólum kifejezés) Beállítja a szimbólumot / változót a második argumentum / kifejezés kiértékelésének eredményére Például: –(setq radius 2.3)=2.3 –radius=2.3 –(setq lista ‘(1 2))=(1 2) –(setq szam (+ 2 radius))=4.3 –(setq a 1.2 b 3.4)=3.4

Lokális-globális változók (ismétlés) Függvényen kívül használt setq, set globális változót definiál Lokális változó definiálása: (defun fvg ( / lok1 )... ) Egy lokális változó „eltakarhat” (shadow) egy másik globális vagy lokális változót

(defun f1 ( / a b c) (setq a 1 b 2 c 3) (setq b (f2 b)) (list a b c) ) (defun f2 (a) (setq a 11 b 12 c 13) (setq a (f3)) (princ (list a b c))-> ??? c ) (defun f3 (/ b c) (setq a 21 b 22 c 23) ) (f1)-> ???

Megoldás 1. (f1) lokális: a,b,c lokális változó új dobozt definiál (setq a 1 b 2 c 3) (f2 2) argumentum, lokális: a argumentum új dobozt definiál (setq a 11 b 12 c 13) abc 123 abc abc

Megoldás 2. (f3) lokális: b,c (setq a 21 b 22 c 23) Egyenértékű: (setq a 21) (setq b 22) (setq c 23) -> visszatérési érték (setq a (f3)) abc nil abc abc

Megoldás 3. (princ (list a b c)) -> ( ) c -> visszatérési érték (setq b (f2 a)) = (setq b 13) (list a b c) -> ( ) abc abc

Rendszerváltozók Az AutoCAD állapotát és parancsait befolyásolják ill. tárolják AutoCAD változók, nem AutoLISP változók ! A rendszerváltozó lekérdezése (getvar ”rendszerváltozó”) A rendszerváltozó beállítása (setvar ”rendszerváltozó” érték)

Rendszerváltozó példa 1. Biztosítani, hogy a FILLET parancs egységnyi lekerekítést használjon (setvar "filletrad" 1)

Rendszerváltozó példa 2. Legfontosabb, leggyakrabban használt AutoCAD változók CMDECHO – AutoCAD parancs üzenetek kiírása és letiltása OSMODE – AutoCAD tárgyraszter (snapping) beállítása

Input függvények 1. Az input függvények adatokat kérnek a felhasználótól Getxxx függvények Függvény neveFüggvény funckiója (getint [prompt]) Egész szám bekérése (getreal [prompt]) Valós szám bekérése (getstring [prompt]) Sztring bekérése (getpoint [pt] [prompt]) Pont bekérése (getcorner pt [prompt]) Sarokpont bekérése (getdist [pt] [prompt]) Távolság bekérése (getangle [pt] [prompt]) Szög bekérése (getorient [pt] [prompt]) Irány, orientáció bekérése (getkword [prompt]) Kulcsszó bekérése

Input függvények 2. getint, getreal, getstring –egész, valós és sztring értékkel tér vissza –Billentyűzeten kell begépelni getpoint –Pont listával tér vissza –Billentyűzettel vagy egérrel kell megadni

getpoint (getpoint ”Válassz egy pontot: ”) (getpoint ‘(0 0) ”Válassz egy pontot: ”)

getcorner Pont listával tér vissza Billentyűzettel vagy egérrel kell megadni (getcorner ‘(0 0) ”Válassz egy pontot: ”)

getdist Távolságot adja vissza mint valós számot Ponto(ka)t billentyűzettel vagy egérrel kell megadni Valós számot billentyűzettel kell megadni Pont vagy szám adható meg (getdist ‘(0 0) ”Második pont: ”) Két pont vagy szám adható meg (getdist ”Távolság: ”)

getangle Szöget adja vissza radiánban mint valós szám Valós számot (szöget fokban) billentyűzettel kell megadni Ponto(ka)t billentyűzettel vagy egérrel kell megadni ANGBASE és ANGDIR rendszerváltozókat használja

getangle (setvar ”angbase” ) ; 45 fok (getangle ”Add meg a szöget”) ->

getorient Olyan mint a getangle, de csak a ANGDIR rendszerváltozót használja Zérus fok mindig keletre néz

Az input ellenőrzése A getxxx függvények ellenőrzést végeznek alapvető hibákra –Például betűt nem fogad el inputnak ha számot kell megadni További ellenőrzés adható meg az initget függvénnyel, de a getstring függvényre nincs hatással

initget függvény Szintaxis: (initget [bitek] [kulcsszavak]) A megadott bitek és kulcsszavak csak a következő getxxx függvényre vonatkoznak Az argumentumok opcionálisak

initget bitek Függvény Input nem üres Szám nem nulla Szám nem negatív Nincs rajzhatár Gumivonal szaggatott 2D-s távolság Tetszőleges input getint XXX X getrealXXXX getdistXXXXXX getangleXXXX getorientXXXX getpointXXXX getcornerXXXX getkwordXX

initget példa Életkor bekérése: –Számot meg kell adni –A szám nem lehet nulla –A szám nem lehet negatív (initget ( )) (getint "Hány éves vagy? ")

Kulcsszavak Minden getxxx függvény (kivéve a getstring ) definiálhat kulcsszót is A kulcsszavakat az initget függvénnyel kell megadni –Teljes kulcsszó is megadható mint input –Rövidítés is megadható mint input Nagybetű jelöli a rövidítést (initget ”LType eXit toP”) Rövidítés vesszővel van elválasztva (initget ”LTYPE,LT”)

Kulcsszó példa (initget 1 ”Origo Egy”) (getpoint ”Válassz egy pontot [Origo/Egy]”) Vagy pontot kell megadni vagy az „origo” vagy az „egy” kulcsszót Visszatérhet: –Pont listával –„origo” sztringgel –„egy” sztringgel

Output függvények Szöveget, LISP kifejezést írnak ki a képernyőre illetve fájlba (prompt sztring) (princ [kif] [fájlleíró]) (print [kif] [fájlleíró]) (prin1 [kif] [fájlleíró]) (terpri) Ablakban jeleníti meg (alert sztring)

Output példa 1. (setq str ”Példa \”szöveg\”!”) (prompt str) nyomtat: Példa ”szöveg”! visszatérési érték: nil (princ str) nyomtat: Példa ”szöveg”! visszatérési érték: ”Példa \”szöveg\”!” (prin1 str) nyomtat: ”Példa \”szöveg\”!” visszatérési érték: ”Példa \”szöveg\”!” (print str) nyomtat: ”Példa \”szöveg\”!” visszatérési érték: ”Példa \”szöveg\”!”

Output példa 2. (terpri) Csak egy új sort nyomtat a képernyőre (alert ”Szöveg kiirás!”)

Input és output függvények Mit használjunk arra hogy közöljük a felhasználóval milyen adatot kérünk ? –princ, prompt,... output függvények hiba esetén a szöveget nem nyomtatja ki még egyszer –a getxxx függvény paramétere hiba esetén a szöveget megismétli

Példa 1. LispOutput (initget 1) (princ ”Új pont:”) Új pont: (getpoint) Invalid point. (initget 1) (getpoint ”Új pont:”) Új pont: Invalid point. Új pont:

Példa 2.

Geometriai függvények 1. A két pont által megadott egyenes és a pozitív X tengely általi szöget adja meg radiánban. (angle ) A visszatérési érték 0 és 2 P között van Példa (angle '(2 2) '(3 3)) ->

Geometriai függvények 2. Két pont közötti távolságot ad meg (distance ) Példa (distance '( ) '( )) -> 5.0

Geometriai függvények 3. Két egyenesszakasz metszéspontját adja meg (inters [szakasz]) Első egyenes/szakasz: Második egyenes/szakasz: szakasz : ha nil akkor az egyenesek metszésponját adja meg Metszés esetén pontot egyébként nil –t ad vissza

Metszéspont (setq a ‘(1 1) b ‘(5 5)) (setq c ‘(2.5 0) d ‘(2.5 3)) (inters a b c d) -> nil (inters a b c d t) -> nil (inters a b c d nil) -> ( )

Geometriai függvények 4. Polárisan lehet pontot megadni (polar ) A szöget radiánban kell megadni Pont listát ad vissza

Geometriai függvények 5. Pontokra vonatkozó műveletek (osnap ) Pont listát vagy nil –t ad vissza Példa: vonal 1,1 -> 8,8 (osnap ‘( ) ”_endp”) -> (8 8)