Dosya:FeynmanPropagatorWithMass0.2.jpg - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

Dosya:FeynmanPropagatorWithMass0.2.jpg

Sayfa içeriği diğer dillerde desteklenmemektedir.
  • Dosya
  • Tartışma
  • Oku
  • Wikimedia Commons üzerinde gör
  • Yerel açıklama ekle
  • Yerel açıklama kaynağı ekle
Araçlar
Eylemler
  • Oku
  • Wikimedia Commons üzerinde gör
  • Yerel açıklama ekle
  • Yerel açıklama kaynağı ekle
Genel
  • Sayfaya bağlantılar
  • Basılmaya uygun görünüm
  • Sayfa bilgisi
  • Kısaltılmış URL'yi al
  • Karekodu indir
Diğer projelerde
Görünüm
Vikipedi, özgür ansiklopedi
  • Dosya
  • Dosya geçmişi
  • Dosya kullanımı
  • Üstveri
Dosya:FeynmanPropagatorWithMass0.2.jpg
Bu önizlemenin boyutu: 600 × 600 piksel. Diğer çözünürlükler: 240 × 240 piksel | 480 × 480 piksel | 1.001 × 1.001 piksel.
Tam çözünürlük ((1.001 × 1.001 piksel, dosya boyutu: 37 KB, MIME tipi: image/jpeg))
Bu dosya Wikimedia Commons'ta bulunmaktadır. Dosyanın açıklaması aşağıda gösterilmiştir.
Commons, serbest/özgür telifli medya dosyalarının bulundurulduğu depodur. Siz de yardım edebilirsiniz.
Bu dosya Wikimedia Commons'ta bulunmaktadır.

Özet

AçıklamaFeynmanPropagatorWithMass0.2.jpg
English: Feynman propagator, m = 0.2, left/right/top/bottom bounds of image are at = ±2.
Kaynak Yükleyenin kendi çalışması
Yazar Cyp

Lisanslama

Ben, bu işin telif sahibi, burada işi aşağıdaki lisanslar altında yayımlıyorum:
w:tr:Creative Commons
atıf benzer paylaşım
Bu dosya, Creative Commons Atıf-Benzer Paylaşım 3.0 Taşınmamış lisansı ile lisanslanmıştır
Şu seçeneklerde özgürsünüz:
  • paylaşım – eser paylaşımı, dağıtımı ve iletimi
  • içeriği değiştirip uyarlama – eser adaptasyonu
Aşağıdaki koşullar geçerli olacaktır:
  • atıf – Esere yazar veya lisans sahibi tarafından belirtilen (ancak sizi ya da eseri kullanımınızı desteklediklerini ileri sürmeyecek bir) şekilde atıfta bulunmalısınız.
  • benzer paylaşım – Maddeyi yeniden düzenler, dönüştürür veya inşa ederseniz, katkılarınızı özgünüyle aynı veya uyumlu lisans altında dağıtmanız gerekir.
https://creativecommons.org/licenses/by-sa/3.0CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 truetrue
GNU head Bu belgenin GNU Özgür Belgeleme Lisansı, Sürüm 1.2 veya Özgür Yazılım Vakfı tarafından yayımlanan sonraki herhangi bir sürüm şartları altında bu belgenin kopyalanması, dağıtılması ve/veya değiştirilmesi için izin verilmiştir;

Değişmeyen Bölümler, Ön Kapak Metinleri ve Arka Kapak Metinleri yoktur. Lisansın bir kopyası GNU Özgür Belgeleme Lisansı sayfasında yer almaktadır.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue

İstediğiniz lisansı seçebilirsiniz.
C++ source code - click on "show" on the right to view
C++ source code - click on "show" on the right to view
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
#include <stdexcept>
#include <complex>
#include <stdint.h>
#include <tr1/cmath>

class Function
{
    public:
        virtual ~Function() {}

        //virtual std::string name() const = 0;
        virtual std::complex<double> eval(double x, double y) const = 0;
};

class Identity : public Function
{
    std::complex<double> eval(double x, double y) const
    {
        return std::complex<double>(x, y);
    }
};

class Propagator : public Function
{
    public:
        Propagator(double mass/*, char const *name*/) : m(mass)/*, n(name)*/ {}
        //std::string name() const { return n/*"propagator"*/; }
        std::complex<double> eval(double x, double y) const
        {
            double s = y*y-x*x;  // y is time, x is a space dimension.
            //double const m = 0.0000000001;//.0001;
            if(s >= -1.e-20 && s <= 1.e-20)
                return 1.e20;
            if(s >= 0)
                return m/(8*M_PI*std::sqrt(s))*std::complex<double>(std::tr1::cyl_bessel_j(1, m*std::sqrt(s)), std::tr1::cyl_neumann(1, m*std::sqrt(s)));
            else
                return m/(4*M_PI*M_PI*std::sqrt(-s))*std::complex<double>(0, -std::tr1::cyl_bessel_k(1, m*std::sqrt(-s)));
            return std::complex<double>(x, y);
        }

    private:
        double m;
        //char const *n;
};

struct Pixel
{
    Pixel() { col[0] = 0xFF; col[1] = 0x00; col[2] = 0xFF; }
    Pixel(double r, double g, double b)
    {
        col[0] = std::max(0, std::min(255, int(0.5+255*r)));
        col[1] = std::max(0, std::min(255, int(0.5+255*g)));
        col[2] = std::max(0, std::min(255, int(0.5+255*b)));
    }
    //Pixel(std::complex<double> const &val) { col[0] = 0; col[1] = std::max(0, std::min(255, int(127.5+63.75*std::real(val)))); col[2] = std::max(0, std::min(255, int(127.5+63.75*std::imag(val)))); }

    uint8_t col[3];
};

Pixel colourComplex(std::complex<double> const &z)
{
    double r = std::abs(z);
    double theta = std::arg(z);

    double y = std::tanh(r/2);
    double m = y*(1-y);
    double s = m*std::sin(theta);
    double c = m*std::cos(theta);

    double const q = .5;
    double const w = std::sqrt(.75);

    return Pixel(y + c, y - q*c + w*s, y - q*c - w*s);
}

class Image
{
    public:
        Image(unsigned x, unsigned y, Function const &function_, double x1_, double y1_, double x2_, double y2_)
            : sx(x), sy(y), function(&function_), /*filename(function_.name() + ".ppm"),*/ x1(x1_), y1(y1_), x2(x2_), y2(y2_)
        {
            data.resize(x*y);
//#pragma omp parallel for
            for(int py = 0; py < int(y); ++py)
                for(unsigned px = 0; px != x; ++px)
                    data[px+py*sx] = colourComplex(function->eval(x1+(x2-x1)*(px/(sx-1.)), y1+(y2-y1)*(py/(sy-1.))));
        }
        void save(std::string const &name)
        {
            std::string filename = name+".ppm";
            std::ofstream f(filename.c_str(), std::ios::binary);
            if(!f)
                throw std::runtime_error("Couldn't open file \""+filename+"\" for writing.");
            f << "P6\n" << sx << " " << sy << "\n255\n";
            f.write(data, 3*sx*sy);
        }

    private:
        unsigned sx, sy;
        Function const *function;
        //std::string filename;
        double x1, y1, x2, y2;
        std::vector<Pixel> data;
};

int main()
{
    Image identity(1001, 1001, Identity(), -2, -2, 2, 2);
    identity.save("PropagatorColours");

    Image propagator1(1001, 1001, Propagator(.2), -2, -2, 2, 2);
    propagator1.save("FeynmanPropagatorWithMass0.2");
    Image propagator2(1001, 1001, Propagator(2), -2, -2, 2, 2);
    propagator2.save("FeynmanPropagatorWithMass2");
    Image propagator3(1001, 1001, Propagator(20), -2, -2, 2, 2);
    propagator3.save("FeynmanPropagatorWithMass20");
    Image propagator4(1001, 1001, Propagator(200), -2, -2, 2, 2);
    propagator4.save("FeynmanPropagatorWithMass200");

    return 0;
}

Altyazılar

Bu dosyanın temsil ettiği şeyin tek satırlık açıklamasını ekleyin.

Bu dosyada gösterilen öğeler

betimlenen

yaratıcı

Vikiveri ögesi olmayan bir değer

Wikimedia kullanıcı adı: Cyp
URL: https://commons.wikimedia.org/wiki/user:Cyp
bağlantısı olmayan yazarı: Cyp

telif hakkı durumu

telif hakkı alınmış

telif hakkı lisansı

GNU Free Documentation License, version 1.2 or later İngilizce

Creative Commons Atıf-AynıLisanslaPaylaş 3.0 Yerelleştirilmemiş

dosya kaynağı

yükleyicinin orijinal eseri

ortam türü

image/jpeg

dosya boyutu

37.847 bayt

boyu

1.001 piksel

genişliği

1.001 piksel

sağlama toplamı

e94f34336a55e9bf8028e35a4af8243c525ccef0

tespit yöntemi: SHA-1

Dosya geçmişi

Dosyanın herhangi bir zamandaki hâli için ilgili tarih/saat kısmına tıklayın.

Tarih/SaatKüçük resimBoyutlarKullanıcıYorum
güncel20.34, 26 Ağustos 200820.34, 26 Ağustos 2008 tarihindeki sürümün küçültülmüş hâli1.001 × 1.001 (37 KB)Cyp{{Information |Description={{en|1=Feynman propagator, m = 0.2, left/right/top/bottom bounds of image are at = ±2.}} |Source=Own work by uploader |Author=Cyp |Date= |Permission= |other_versions= }} <!--{{ImageUpload|full}}--> [[Category:Feyn

Dosya kullanımı

Bu görüntü dosyasına bağlantısı olan sayfalar:

  • Yayıcı

Üstveri

Bu dosyada, muhtemelen fotoğraf makinesi ya da tarayıcı tarafından eklenmiş ek bilgiler mevcuttur. Eğer dosyada sonradan değişiklik yapıldıysa, bazı bilgiler yeni değişikliğe göre eski kalmış olabilir.

_error0
"https://tr.wikipedia.org/wiki/Dosya:FeynmanPropagatorWithMass0.2.jpg" sayfasından alınmıştır
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Dosya:FeynmanPropagatorWithMass0.2.jpg
Konu ekle