İçindekiler:
- Adım 1: Temel Kurulum
- Adım 2: Duyarlı Nüfus için Kodu Ayarlama
- Adım 3: Etkilenen ve Kaldırılan Sprite İçin Kodu Ayarlama
- Adım 4: Duyarlı Nüfus Kodunun Tamamlanması
- Adım 5: Etkilenen/Kaldırılan Kodun Tamamlanması
Video: (Çok Basit) Hastalık Modellemesi (Scratch Kullanarak): 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Bugün, mutlaka COVID-19 olması gerekmeyen herhangi bir hastalık olan bir hastalık salgınını simüle edeceğiz. Bu simülasyon, bağlantı vereceğim 3blue1brown'ın bir videosundan ilham aldı. Bu sürükle ve bırak olduğundan, JS veya Python ile elimizden gelenin en iyisini yapamıyoruz, ancak sıfırdan kullanmanın da faydaları var, bu nedenle, JS ile bir salgının nasıl modelleneceğini görmek istiyorsanız, Burada hastalık salgınlarını modelleme üzerine yazdığım makale. Şimdi başlayalım!
Not: Yukarıdaki görüntü, burada görüntüleyebileceğiniz quantum9innovation (Instructables kullanıcısı değil) tarafından yapılan bir simülasyondan alınmıştır.
Gereçler:
İhtiyacın olacak:
- Bir Kazı Kazan Hesabı (buradan kaydolabilirsiniz)
- Temel sürükle ve bırak bilgisi (ancak yine de kodu inceleyeceğim)
- Programlayabileceğiniz bir bilgisayar veya cihaz (bunu okuduğunuza göre muhtemelen sahip olduğunuz)
- İsteğe bağlı - 3b1b videosunu izleyin, size ne programladığımız hakkında bir fikir verecektir.
Adım 1: Temel Kurulum
İlk önce bir proje oluşturalım, onu istediğiniz gibi adlandıralım ve ardından tuval üzerindeki mevcut hareketli grafiği silelim. Bunu, sprite üzerindeki çöp kutusu düğmesine tıklayarak yapabilirsiniz. Artık boş bir tuvalimiz var ve arka plan rengini istediğiniz gibi değiştirebilirsiniz.
Ardından, yeni bir hareketli grafik oluşturun ve mevcut bir hareketli grafiği kullanmak yerine kendinizinkini boyayın. Mavi nokta yap. Bu hareketli grafik, topluluğun hassas popülasyonunu temsil eder ve ayrıca, SIR (duyarlı, enfekte, iyileştirilmiş/kaldırılmış) modelin adının geldiği iyileştirilmiş/kaldırılmış ve enfekte olmuş bir popülasyonumuz olacaktır. Sprite'ı "enfekte edilmemiş" olarak adlandırdığınızdan emin olun.
Şimdi, yeni bir hareketli grafik oluşturun (tekrar) ve onu kendimiz de boyayacağımız hareketli grafik1 olarak adlandırın. "Sprite1" olarak adlandırın ve biri kırmızı, diğeri gri nokta olmak üzere 2 kostüm oluşturun. Onları sırasıyla kostüm1 ve kostüm2 yapın. Bu ikisi, enfekte olmuş (kırmızı nokta) ve kurtarılmış/kaldırılmış (gri nokta) popülasyonları temsil eder.
Adım 2: Duyarlı Nüfus için Kodu Ayarlama
Şimdi duyarlı popülasyon kodunu ayarladık. Önce 2 değişken oluşturuyoruz: insanlar ve enfekte. "Kişiler" değişkeni popülasyonu temsil eder ve simülasyonumuzda kaç kişi istediğimize göre değiştirilebilir ve simülasyon buna göre değişecektir. Ayrıca enfekte bir değişken yaratırız ve bu, hastalığı olan/hastalığı olan popülasyonu temsil eder. Bu değişkenlerin her ikisi de global değişkenler olmalıdır, yani tüm sprite'larda kullanılabilirler.
Ardından, yukarıdaki kodu virüs bulaşmamış hareketli grafiğin içine kopyalayın. Ne yaptığına geçelim. Program başladığında, hareketli grafik gizlenir ve bu, klonlar için aynı kodu hareketli grafiğin kendisine koymak zorunda kalmamamız içindir, bu da yardımcı olur. Ardından, iki değişkeni (enfekteli ve insanlar) olmasını istediğimiz şeye ayarladık, bu durumda enfekte olanı 1'e ve insanları 100'e ayarladık. Bu, enfekte olan bir kişi ve toplam 100 kişi ile başladığımız anlamına geliyor, enfekte kişi dahil değil. Daha sonra bir döngü çalıştırırız, bu durumda insanlar değişkeninin miktarı çalıştırılır, bu durumda, 100. Rastgele bir konuma gidiyoruz ve sonra hareketli grafiğin bir klonunu oluşturuyoruz. Rastgele bir konuma gidiyoruz çünkü bu şekilde tek yönde hareket eden bir nokta çizgimiz yok ve bunun yerine rastgele konumlarda ortaya çıkıyoruz.
Adım 3: Etkilenen ve Kaldırılan Sprite İçin Kodu Ayarlama
Şimdi "Sprite1" hareketli grafiğine geçin ve ardından yukarıdaki kodu kopyalayın. Onu geçelim. Program başladığında, hareketli grafik gizlenir ve ardından virüs bulaşan miktar için bir döngü çalıştırır. Rastgele bir konuma gider ve kendisinin bir klonunu oluşturur.
Adım 4: Duyarlı Nüfus Kodunun Tamamlanması
Gelelim yapmamız gerekenlere:
- enfekte etmek
- Hareket
Uninfected sprite'a geçin, yukarıdaki kodu kopyalayın ve bulaşmayı ve taşımayı nasıl tamamladığına geçelim. Birincisi, kostüm bire gidiyor ve bu gerçekten gerekli değil, ama biz orada var, bu yüzden daha fazlasını eklemeye karar verirsek, eklediğimiz kostümleri yenileriyle değiştirme konusunda endişelenmemize gerek yok. Daha sonra kendini gösterir. Hatırlarsanız, orijinal sprite'ı sakladık, böylece klonlar da gizlenecek, ki bu istemiyoruz. Ardından, birisi sıfırdan dur işaretine tıklayana kadar tüm programı çalıştıracak bir sonsuza kadar döngü çalıştırırız. 1 saniye boyunca rastgele bir pozisyona süzülür ve sonra kenarda olup olmadığımızı kontrol ederiz, bu durumda sekeriz. Daha sonra, kırmızı renge dokunuyorsak, Sprite1'i (enfekte/kaldırılan popülasyon) klonlarız ve virüslü değişkeni 1 artırırız ve ardından hareketli grafiğimizi sileriz.
Adım 5: Etkilenen/Kaldırılan Kodun Tamamlanması
Sprite1'e geçerek yeni bir liste oluşturuyoruz, zamanlayıcı. Bu liste, bir noktanın ne kadar süreyle enfekte olduğunu takip eder ve belirli bir süre sonra ya ölür ya da iyileşir, kaldırılan/kurtarılan popülasyonun bir parçası olur ve yeniden enfekte edilemeyen gri bir nokta ile temsil edilir.
Yukarıdaki kodu kopyalayın ve üzerinden geçelim. Bir klon olarak başladığımızda, programın çalıştığı toplam saniye miktarını zamanlayıcı listesine ekleriz ve ne kadar süredir bulaştığını görmek için bunu kontrol eder ve buna göre kurtarılması için değiştiririz. Zamanlayıcı listesini gizleriz ve sonra klon kostümünü her ihtimale karşı virüslü kostüme çeviririz ve ardından sprite'ımızı gösteririz. Şimdi, birden çok şeyin gerçekleştiği bir sonsuza kadar döngü çalıştırıyoruz: klona her saniyede bir rastgele bir konuma kaymasını söylüyoruz, virüslü değişkenin popülasyonun kendisinden büyük olup olmadığını kontrol ediyoruz, bu durumda onu popülasyona ayarladık ve son olarak, 5 saniyeden fazla olup olmadığını görmek için zamanlayıcı listesinin ilk öğesini kontrol ediyoruz ve eğer doğruysa, bulaşmamak için kostümü kurtarılan kostüme değiştiriyoruz ve ardından öğeyi zamanlayıcıdan siliyoruz.
Önerilen:
GranDow - Basit Çok Dilli Dijital Saat: 4 Adım
GranDow - Basit Çok Dilli Dijital Saat: Büyükannem hapları için haftanın gününü unutup duruyor. Ne yazık ki haftanın gününü gösteren bulabildiğim tüm dijital saatler ingilizce. Sadece 3 bileşenli bu basit proje ucuz, inşası kolay ve umarım öyle olur
Çok Basit Hatırlatma Panosu: 4 Adım
Çok Basit Hatırlatma Panosu: Bu, masa üzerinde bir Hatırlatma Sistemi Panosudur. Ön kapıdan çıkmadan önce, dikkatinizi çekmek için geçerken 3 kez yanıp sönecek, 3 saniye sonra tekrar 3 kez yanıp sönecek vb. Tahtada yazılı olan bir kağıt olacak
Çok Akıllı Değil Ama Çok Sağlıklı Ama Biraz Ürpertici Ayna: 5 Adım (Resimlerle)
Çok Akıllı Değil Ama Çok Sağlıklı Yine de Biraz Ürpertici Ayna: Bir aynaya ihtiyacınız var ama evinize başka bir akıllı nesne eklemek istemiyor musunuz? O halde bu Pek Akıllı Değil Ama Çok Sağlıklı Yine de Biraz Ürpertici Ayna tam size göre
Aşı Olmak ya da Olmamak? Hastalık Simülasyonu ile Sürü Bağışıklığının Gözlenmesi Projesi: 15 Adım
Aşı Olmak ya da Olmamak? Hastalık Simülasyonu Yoluyla Sürü Bağışıklığını Gözlemleme Projesi: Projeye Genel Bakış: Projemiz, sürü bağışıklığını araştırıyor ve topluluklarımızdaki enfeksiyon oranlarını azaltmak için insanları aşı olmaya teşvik etmeyi umuyor. Programımız, bir hastalığın farklı aşı yüzdelerine sahip bir popülasyona nasıl bulaştığını simüle eder
Çok Basit Yine Çok Etkili Şaka (Bilgisayar Şakası): 3 Adım
Çok Basit… Yine Çok Etkili Şaka (Bilgisayar Şakası): Bu Eğitilebilirlik ÇOK basit, ancak ÇOK etkili! Ne olacak: Kurbanın masaüstündeki tüm simgeleri gizlersiniz. Siz şakayı yaptıktan sonra, kurban bilgisayarı gördüğünde çıldıracaktır. Bu bilgisayara hiçbir şekilde zarar veremez