Gerçekleştirim Raporu

Yazılım Geliştirme Projesi

Bilgi Teknolojileri Sertifika Programı

İDEA: ODTÜ Sanal Kampüsü

Geliştiren: Ömürden Tekin

 

 


Öz:

Bu raporda projenin gerçekleştirimi sırasında gerçekleştirilen görevler, karşılaşılan sorunlar, ve yazılım hakkında bilgi verilmesi amaçlanmaktadır.

 

Karşılaşılan Sorunlar ve Uygulanan Çözümler:

Yazılımın gerçekleştirimi sırasında herjhangi bir sorunla karşılaşılmamıştır.

 

Yazılımın Bileşenleri ve Görevleri:

Harmonik Osilator

Modüller:

Osilator:

Bu sınıfta, kütlenin sürtünmeli ve sürtünmesiz yüzeylerde zamanla değişen konumunu, hızını, enerjisini hesaplamak için fonksiyonlar vardır. Bu sınıf, parametre olarak fare yardımıyla belirlenen başlangıç noktasını alarak, bu nokta yardımıyla toplam enerjiyi, hızı ve konumu belirler. Yay resmi her seferinde değişik bir boyla çizilir, bu da yayın esnediği ve daraldığı izlenimini verir. İki değişik boyutttaki yay resimleri arasındaki geçiş süresi ise yayın hızını belirler. Hız hareket boyunca değişken olmalıdır. Bu ise yayın periyodu 360 olarak alınırsa, 360 ayrı nokta için geçiş süresi değerlerini bir diziye kaydederek elde edilebilir. Yine aynı şekilde yayın geçeceği noktalar ve bu noktalardaki enerji değerleri birer diziye atanarak, ana modüldeki paint işlevinde( ekranda grafiksel kısımları göstermekle sorumlu işlev ) diziler parametre olarak kullanılarak çıktılar gösterilir.

ResimDugmesi

Kontrol düğmelerinin konulduğu ResimDüğmesi nesne sınıfı parametre olarak düğmelerin üzerine konacak resimleri alır.

ButonKanvas

ButonKanvas nesne sınıfı ise düğmeleri belli bir yerde toplamak için oluşturulmuştur.

EnerjiGoster

Parametre olarak ortamın sürtünmeli veya sürtünmesiz olduğunu belirten boolean IsDamped ve IsUndamped değerleri, enerji değerlerinin bulunduğu enerji dizisini ve hızın belirlendiği iki resim arasındaki bekleme süresini belirten SleepTime dizisini alır. Zoom düğmesine basıldığında bu sınıf çalışır ve ekrana ayrı bir çerçeve çizer.

Dosyalar:

sim1.java ve sim1.class

Yazılımın ana sınıfıdır. Paint işlevi ve diğer dosyalar buradan çağrılır.

Osilator.java ve Osilator.class

Fiziksel hesaplamaların yapıldığı nesne sınıfının bulunduğu sınıfı içeren dosyadır.

ResimDugmesi.java ve ResimDugmesi.class

Düğmelerin üzerine resim koymak için kullanılan sınıfı içeren dosyadır.

ButonKanvas.java ve ButonKanvas.class

Düğmelerin belli bir yerde toplanmasını sağlayan sınıfı içeren dosyadır.

EnerjiGoster.java ve EnerjiGoster.class

Enerji grafiğini daha büyük bir şekilde gösteren sınıfı içeren dosyadır.

 

Rotasyonal Hareket Simulasyonu:

Modüller:

RotasyonalKutle

Bu sınıfta yine fiziksel hesapların yapıldığı fonksiyonlar yer almaktadır. Bu sınıf parametre almamaktadır çünkü kütlenin harekete başladığı nokta belli ve sabittir. Burada rotasyonal hareket eden kütlenin izlediği yol, onun düşey ve yatay düzlemlerdeki izdüşümleri, ve kütlenin bu düzlemlerdeki konumlarını grafiksel olarak gösteren ayrı bir fonksiyon bu sınıfta yer almaktadır.

ResimDugmesi

Kontrol düğmelerinin konulduğu ResimDüğmesi nesne sınıfı parametre olarak düğmelerin üzerine konacak resimleri alır.

DugmeSiniri

DüğmeSiniri nesne sınıfı ise düğmeleri belli bir yerde toplamak için oluşturulmuştur.

Dosyalar:

sim2.java ve sim2.class

Yazılımın ana sınıfıdır. Paint işlevi ve diğer dosyalar buradan çağrılır.

ResimDugmesi.java ve ResimDugmesi.class

Düğmelerin üzerine resim koymak için kullanılan sınıfı içeren dosyadır.

ButonKanvas.java ve ButonKanvas.class

Düğmelerin belli bir yerde toplanmasını sağlayan sınıfı içeren dosyadır.

RotasyonalKutle.java ve RotasyonalKutle.class

Fiziksel hesaplamaların yapıldığı nesne sınıfının bulunduğu sınıfı içeren dosyadır.

 

Bohr Atom Modeli:

Modüller:

AtomModeli:

Bu kısımda fiziksel hesaplamalar gerçekleştirilmektedir. Atom modelinde üç ana kısım vardır. Bunlardan birincisi çekirdek etrafında dönen elektronun izlediği yörünge ve o yörüngede elektronun karakteri gösterilmeye çalışılmıştır. Burada hız önemli bir kriterdir. Elektron çekirdeğe yaklaştıkça hızı artar, çünkü hız merkeze olan uzaklıkla ters orantılıdır. Her yörüngenin belli bir enerjisi vardır ve bu enerji değerleri sabittir ve elektron ancak bu yörüngelerde bulunabilir. Atom modelinde belli yörüngeler beyaz belli yörüngeler ise kırmızı ile gösterilmiştir. Beyaz yörüngeler, elektronun bulunabileceği yörüngelerdir, kırmızı yörüngeler ise elektronun bulunamayacağı yörüngelerdir. Bu yörüngelerin merkeze olan uzaklıklarının değerleri bir diziye konmuştur. Daha açıklayıcı olması amacıyla bu modele ek olarak elektronun bir dalga olarak gösterildiği ayrı bir model yer almaktadır. Bu modelde dalgalar üstüste binerse burada elektron bulunabilir. Fakat dalgalar eğer birbirini söndürürse burada elektron bulunamaz. Dalgaların hesaplanmasında parametre olarak elektronun bulunduğu yörünge kullanılmaktadır.

ResimDugmesi

Kontrol düğmelerinin konulduğu ResimDüğmesi nesne sınıfı parametre olarak düğmelerin üzerine konacak resimleri alır.

DugmeSiniri

DüğmeSiniri nesne sınıfı ise düğmeleri belli bir yerde toplamak için oluşturulmuştur.

AtomCercevesi

Yukarıda bahsedildiği gibi bu simulasyonda üç ana kısım vardı. İlk ikisi elektornun çekirdek etrafındaki durumu ikinicisi ise elektronun bir dalga gibi düşünüldüğü modellerin gösterildiği kısımlardı. Üçüncü ana kısım ise atomun dışarıdan görünümüyle ilgilidir. Yani burada atoma verilen veya alınan enerjiyle tüm atomun aldığı şekil gösterilmeye çalışılmaktadır. Parametre olarak bu sınıf atomun dış görünüşünün bulunduğu resimleri alır.

Dosyalar:

sim3.java ve sim3.class

Yazılımın ana sınıfıdır. Paint işlevi ve diğer dosyalar buradan çağrılır.

AtomModel.java ve AtomModel.class

Fiziksel hesaplamaların yapıldığı nesne sınıfının bulunduğu sınıfı içeren dosyadır.

ResimDugmesi.java ve ResimDugmesi.class

Düğmelerin üzerine resim koymak için kullanılan sınıfı içeren dosyadır.

ButonKanvas.java ve ButonKanvas.class

Düğmelerin belli bir yerde toplanmasını sağlayan sınıfı içeren dosyadır.

AtomCercevesi.java ve AtomCercevesi.class

Atomun dışarıdan görünüşünün yer aldığı sınıfı içeren dosyadır.

HTML Dosyaları:

sim1.html, sim2.html, sim3.html

Yukarıda sözü geçen sim1.class, sim2.class, ve sim3.class ana sınıf dosyalarının izlenebilmesi için oluşturulan sim1.html,sim2.html, ve sim1.html dosyalarına bu sınıflar eklenmiştir.

 

Yazılımdan Kesitler:

Harmonik Osilator:

Burada yaya bağlı kütlenin hareketinin yanısıra sistemin konumu ve enerjisi görülebilir.

Şekil 1

 

Burada da enerji grafiğinin daha büyütülmüş bir şekli ayrı bir çerçeveye konmuştur.

Şekil 2

 

Rotasyonal Kütle:

 

Rotasyonal hareket eden bir kütle, bunun dikey ve yatay izdüşümlerinin yanısıra bu izdüşümlerin grafikleri görülebilir.

Şekil 3

 

Bohr Atom Modeli:

 

Çekirdek etrafında dönen elektron ve bu elektronun dalga ile değiştirilmiş hali görülebilir.

 

Şekil 4

 

Atomun dışarıdan görünüşü ayrı bir çerçeveye konmuştur.

Şekil 5

 

Kullanıcı Kılavuzu:

 

Yazılım internet üzerinden verilen fizik derslerini görselleştirmek amacıyla Java programlama dili kullanılarak JDK1.1.5 derleyicisi ile oluşturulmuştur. Simulasyonları görebilmek için tarayıcı olarak, en az Internet Explorer veya Netscape Communicator 4.5 gerekmektedir.

Simulasyonlardan birincisi, yaya bağlı bir kütlenin hareketini simule etmektedir. Yaya fare yardımıyla verilen ilk konuma ve ortamın sürtünmeli veya sürtünmesiz oluşuna göre yayın hareketi değişmektedir. Simulasyon, yayın hareketinin yanısıra kütlenin konumu, sistemin enerjisi ve hızı hakkında bilgi verektedir.

İkinci simulasyonda ise rotasyonal hareket eden bir kütle incelenmiştir. Burada hareketin izdüşümleri ve bu izdüşümlerin zamanla değişim grafiği simulasyonda gösterilmektedir.

Üçüncü simulasyonda Bohr atom modeli incelenmiştir. Atoma dışarıdan verilen enerji ile düzenin değişmesi yani elektronun bir yörüngeden başka bir yörüngeye atlaması gösterilmiştir. Aynı zamanda elektronun ancak belli yörüngelerde bulunabileceği ayrı bir dalga modeliyle gösterilmektedir.