Yeni bir başlık gönderCevap gönder 1. sayfa (Toplam 1 sayfa)   [ 3 mesaj ]
Yazar Mesaj
 Mesaj Başlığı: denklem grafikleri
MesajGönderilme zamanı: 04 Kas 2004 18:08 

Kayıt: 04 Kas 2004 18:04
Mesajlar: 1
Konum:
Üniversitede öretim görevlisiyim. Programinizi inceliyordum kafama bir iki soru takildi.
Matematiksel bir denklemin grafiini çizmemiz mümkün olabiliyor mu??
Çalismalarinizda basarilar...


Başa Dön
 Profil  
 
 Mesaj Başlığı:
MesajGönderilme zamanı: 05 Kas 2004 13:04 
Site Admin

Kayıt: 07 Oca 2002 13:14
Mesajlar: 1085
Konum: Turkey
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">


Başa Dön
 Profil  
 
 Mesaj Başlığı:
MesajGönderilme zamanı: 05 Kas 2004 14:21 
Site Admin

Kayıt: 07 Oca 2002 13:14
Mesajlar: 1085
Konum: Turkey
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">


Başa Dön
 Profil  
 
Eskiden itibaren mesajları göster:  Sırala  
Yeni bir başlık gönderCevap gönder 1. sayfa (Toplam 1 sayfa)   [ 3 mesaj ]


Kimler çevrimiçi

Bu forumu gezen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 21 misafir


Bu foruma yeni başlıklar gönderemezsiniz
Bu forumdaki başlıklara cevap veremezsiniz
Bu forumdaki mesajlarınızı düzenleyemezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu foruma eklentiler gönderemezsiniz

Aranacak:
Geçiş yap:  
cron


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
610nm Style by Daniel St. Jules of Gamexe.net


Türkçe çeviri: phpBB Türkiye