ADeko Technologies http://www.adeko.com/phpBB3/ |
|
denklem grafikleri http://www.adeko.com/phpBB3/viewtopic.php?f=3&t=1296 |
1. sayfa (Toplam 1 sayfa) |
Yazar: | aslanbey [ 04 Kas 2004 18:08 ] |
Mesaj Başlığı: | denklem grafikleri |
Üniversitede öretim görevlisiyim. Programinizi inceliyordum kafama bir iki soru takildi. Matematiksel bir denklemin grafiini çizmemiz mümkün olabiliyor mu?? Çalismalarinizda basarilar... |
Yazar: | Destek/Support [ 05 Kas 2004 13:04 ] |
Mesaj Başlığı: | |
Merhaba aslanbey. Denklem çizdirme işlemini aşağıdaki gibi oldukça basit bir LISP programı yardımı ile IntelliCAD ekranına çizdirmek mümkündür. <li>Aşağıdaki lisp kodunu uzantısı .LSP olacak şekilde bir metin dosyasına kaydedin.</li> <li>En altta göreceğiniz <b>f</b> fonksiyonunu LISP dili kurallarına uyarak istediğiniz herhangi bir denklem ile değiştirin. </li> <li>UYÜKLE (APPLOAD) komutu ile kodu IntelliCAD'e yükleyin.</li> <li>Ve <b>GRAF </b>komutunu kullanarak ekrana çizdirin.</li> Bu kod X-Y düzlemi üzerinde y=f(x) şeklindeki denklemleri ekrana çizer. Benzer şekilde X-Y-Z hacminde z=f(x,y) denklemlerini de çizdirmek mümkündür. <hr noshade size="1">[code] (defun C:<b>GRAF</b> (/ x y Xmin Xmax echo blip) (initget 1) (setq Xmin (getreal "\nAlt x: ")) (initget 1) (setq Xmax (getreal "\nÜst x: ")) (initget 7) (setq dx (getreal "\nX yönünde adım aralığı: ") x Xmin blip (getvar "BLIPMODE") echo (getvar "CMDECHO") ) (setvar "CMDECHO" 0) (setvar "BLIPMODE" 0) (command "_.ZOOM" "_W" (list Xmin (f Xmin)) (list Xmax (f Xmax))) (command "_.POLYLINE") (while (<= x Xmax) (setq y (<font color="red">f</font id="red"> x)) <font color="green">;Aşağıda tanımlanan fonksiyon burada çağrılıyor</font id="green"> (command (list x y)) (setq x (+ x dx)) ) (command) (command "_.ZOOM" "_E") (setvar "CMDECHO" echo) (setvar "BLIPMODE" blip) (princ) ) <font color="green">;Örnek denklem: y= 3 * sin(10x) * cos(x)</font id="green"> (defun <font color="red">f</font id="red"> (x) (* 3 (sin (* 10 x)) (cos x)) ) [/code]<hr noshade size="1"> |
Yazar: | Destek/Support [ 05 Kas 2004 14:21 ] |
Mesaj Başlığı: | |
3B grafik çizim fonksiyonu da aşağıda bulabilirsiniz: <hr noshade size="1">[code] (defun C:<b>GRAF3D</b> (/ x y z xstep ystep temp echo blip continue) (setq blip (getvar "BLIPMODE") echo (getvar "CMDECHO") ) (setvar "CMDECHO" 0) (setvar "BLIPMODE" 0) <font color="green">;Öndeğerler</font id="green"> (if (null Xmin) (setq Xmin -2.0)) (if (null Ymin) (setq Ymin -2.0)) (if (null Xmax) (setq Xmax 2.0)) (if (null Ymax) (setq Ymax 2.0)) (if (null xstep) (setq xstep 0.1)) (if (null ystep) (setq ystep 0.1)) (setq continue T) (while continue (setq temp (getreal (strcat "\nAlt x <" (rtos Xmin 2 1) ">: "))) (if temp (setq Xmin temp)) (setq temp (getreal (strcat "\nÜst x <" (rtos Xmax 2 1) ">: "))) (if temp (setq Xmax temp)) (setq temp (getreal (strcat "\nAlt y <" (rtos Ymin 2 1) ">: "))) (if temp (setq Ymin temp)) (setq temp (getreal (strcat "\nÜst y <" (rtos Ymax 2 1) ">: "))) (if temp (setq Ymax temp)) (setq temp (getreal (strcat "\nX yönünde adım aralığı <" (rtos dx 2 2) ">: "))) (if temp (setq dx temp)) (setq temp (getreal (strcat "\nY yönünde adım aralığı <" (rtos dy 2 2) ">: "))) (if temp (setq dy temp)) (setq xstep (fix (/ (- Xmax Xmin) dx)) ystep (fix (/ (- Ymax Ymin) dy)) ) (if (> xstep 256) (alert (strcat "X adım adedi (=" (rtos xstep 2 0) ") 256'yı geçmemeli. Ya X limitlerini daraltın ya da adımı büyütün.")) (if (> ystep 256) (alert (strcat "Y adım adedi (=" (rtos ystep 2 0) ") 256'yı geçmemeli. Ya Y limitlerini daraltın ya da adımı büyütün.")) (setq continue nil) ) ) ) (command "_.MESH" xstep ystep) (setq x Xmin) (repeat xstep (setq y Ymin) (repeat ystep (setq z (<font color="red">g</font id="red"> x y)) <font color="green">;Aşağıda tanımlanan fonksiyon burada çağrılıyor</font id="green"> (command (list x y z)) (setq y (+ y dy)) ) (setq x (+ x dx)) ) (command "_.ZOOM" "_E") (setvar "CMDECHO" echo) (setvar "BLIPMODE" blip) (princ) ) <font color="green">;Örnek z= x*y*cos(x)*sin(2y)</font id="green"> (defun <font color="red">g</font id="red"> (x y) (* x y (cos x) (sin (* 2 y))) ) [/code]<hr noshade size="1"> |
1. sayfa (Toplam 1 sayfa) | Tüm zamanlar UTC + 2 saat [ GITZ ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |