Skip to content

Feynman Diagrams

None

feynman_1.gle

feynman_1.gle

feynman_1.gle
size 7.2 1 ! 6*x+2*(dx+d) y+2*d

include "feyn.gle"

x = 1
y = 0.8
dx = 0.5
d = 0.1

a = 1.75*doublea

sub quad x y
    amove x-a y-a
    begin path fill black
        rline 2*a 0
        rline 0 2*a
        rline -2*a 0
        rline 0 -2*a
    end path
    amove x y
end sub

begin translate x+d d
    amove -x 0
    @double x 0
    @arrow 0.25
    @arrow 0.75
    @quad 0 0
end translate

begin translate 3*x+dx+d d
    amove -x 0
    @double x 0
    @arrow 0.25
    @arrow 0.75
    @quad 0 0
    @photon 0 y
end translate

begin translate 5*x+2*dx+d d
    amove -x 0
    @double x 0
    @arrow 0.25
    @arrow 0.75
    @quad 0 0
    @photon -y y
    amove 0 0
    photona = -photona
    @photon y y
    photona = -photona
end translate

feynman_10.gle

feynman_10.gle

feynman_10.gle
size 2.2 2.2 ! 2*(x+d) 2*(x+d)

include "feyn.gle"

x = 1
d = 0.1

r = 0.05

begin translate x+d x+d
    amove -x 0
    set lwidth 0.06
    @fermion2 0 x x 0
    @fermion2 0 -x -x 0
    set lwidth 0.03
    circle r fill black
    @photon x 0
    circle r fill black
end translate

feynman_11.gle

feynman_11.gle

feynman_11.gle
size 11.4 1.64 ! 4*x2+2*(x4+d1+d) y1+y+2*d

include "feyn.gle"

x = 0.8
x1 = 1.6
x2 = 2
x3 = 0.72
x4 = 1.2
y = 0.56
y1 = 0.88
d = 0.1
d1 = 0.4

r = 0.05
doublea = 0.05
a = 1.75*doublea

sub quad x y
    amove x-a y-a
    begin path fill black
        rline 2*a 0
        rline 0 2*a
        rline -2*a 0
        rline 0 -2*a
    end path
    amove x y
end sub

begin translate x2+d d
    amove -x2 0
    @double x2 0
    amove -x1 0
    circle r fill black
    photonn = -1
    @photon -x y1
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y1+y x y1
    set lwidth 0.03
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y1-y -x y1
    set lwidth 0.03
    amove x1 0
    circle r fill black
    photona = -photona
    photonn = -1
    @photon x y1
    photona = -photona
    @quad 0 0
end translate

begin translate 3*x2+d1+d d
    amove -x2 0
    @double x2 0
    @quad -x1 0
    amove -x1 0
    photonn = -1
    @photon -x y1
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y1+y x y1
    set lwidth 0.03
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y1-y -x y1
    set lwidth 0.03
    amove x1 0
    circle r fill black
    photona = -photona
    photonn = -1
    @photon x y1
    photona = -photona
end translate

begin translate 4*x2+x4+2*d1+d d
    amove -x4 0
    @double x4 0
    @quad 0 0
    amove 0 0
    @photon2 -x3 0.5*y1 -x y1
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y1+y x y1
    set lwidth 0.03
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y1-y -x y1
    set lwidth 0.03
    amove 0 0
    photona = -photona
    @photon2 x3 0.5*y1 x y1
    photona = -photona
end translate

feynman_12.gle

feynman_12.gle

feynman_12.gle
size 9.8 2.8 ! 6*a 1.5*a+2*d

include "feyn.gle"

a = 1.6
b = 0.2
d1 = 0.4
d2 = 0.1
d = 0.1
r = 0.05

begin translate a-d2 0.5*a+d
    amove -sqrt(0.75)*a -0.5*a
    photonn = -1
    @photon 0 0
    momd = -momd
    @mom 0.5
    amove sqrt(0.75)*a -0.5*a
    photonn = -1
    photona = -photona
    @photon 0 0
    @mom 0.5
    amove 0 a
    photonn = -1
    @photon 0 0
    photona = -photona
    @mom 0.5
    circle r fill black
    amove -sqrt(0.5)*b a-sqrt(0.5)*b
    @fermion sqrt(0.5)*b a+sqrt(0.5)*b
    amove -sqrt(0.5)*b a+sqrt(0.5)*b
    @fermion sqrt(0.5)*b a-sqrt(0.5)*b
end translate

begin translate 3*a+d1 0.5*a+d
    amove -sqrt(0.75)*a -0.5*a
    @dash 0 0
    @arrow 0.5
    @mom 0.5
    @dash sqrt(0.75)*a -0.5*a
    @arrow 0.5
    @mom 0.5
    amove 0 0
    circle r fill black
    photonn = -1
    @photon 0 a
    amove -sqrt(0.5)*b a-sqrt(0.5)*b
    @fermion sqrt(0.5)*b a+sqrt(0.5)*b
    amove -sqrt(0.5)*b a+sqrt(0.5)*b
    @fermion sqrt(0.5)*b a-sqrt(0.5)*b
end translate

begin translate 5*a+d1 sqrt(0.5)*a+d
    amove -sqrt(0.5)*a -sqrt(0.5)*a
    @dash 0 0
    @arrow 0.5
    @dash sqrt(0.5)*a -sqrt(0.5)*a
    @arrow 0.5
    amove -sqrt(0.5)*a sqrt(0.5)*a
    @photon 0 0
    circle r fill black
    photona = -photona
    @photon sqrt(0.5)*a sqrt(0.5)*a
    amove sqrt(0.5)*a-b sqrt(0.5)*a
    @fermion sqrt(0.5)*a+b sqrt(0.5)*a
    amove sqrt(0.5)*a sqrt(0.5)*a-b
    @fermion sqrt(0.5)*a sqrt(0.5)*a+b
end translate

feynman_13.gle

feynman_13.gle

feynman_13.gle
size 6 2.4 ! 4*(x+x2)+2*d+d1 2*(x+d)

include "feyn.gle"

x = 1
y = 0.75
x2 = 0.2
b = 0.2*sqrt(0.5)
d = 0.1
d1 = 1
d2 = 0.4
r = 0.05

begin translate x+x2+d y+d2+0.1
    amove -x-x2 0
    set lwidth 0.06
    @fermion x+x2 0
    set lwidth 0.03
    @arrow (0.5*x+x2)/(2*(x+x2))
    @arrow (1.5*x+x2)/(2*(x+x2))
    amove x 0
    circle r fill black
    @photon2 0 -y -x 0
    @mom 0.5
    circle r fill black
    amove 0 x
    @photon 0 0
    @mom 0.4
    circle r fill black
    amove -b x-b
    @fermion b x+b
    amove -b x+b
    @fermion b x-b
end translate

begin translate 3*(x+x2)+d+d1 d+0.1
    amove -x-x2 0
    set lwidth 0.06
    @fermion x+x2 0
    set lwidth 0.03
    @arrow 0.5
    amove x 0
    circle r fill black
    photona = -photona
    photonn = -1
    @photon 0 x
    momd = -momd
    @mom 0.4
    circle r fill black
    photonn = -1
    @photon -x 0
    photona = -photona
    @mom 0.6
    momd = -momd
    circle r fill black
    amove 0 2*x
    @photon 0 x
    @mom 0.4
    circle r fill black
    amove -b 2*x-b
    @fermion b 2*x+b
    amove -b 2*x+b
    @fermion b 2*x-b
end translate

feynman_14.gle

feynman_14.gle

feynman_14.gle
size 10.7 3.2 ! 2*(x+y+x2+d1+d)+d2 2*y+dl+d+dy

include "feyn.gle"

x = 1
x2 = 1.5
y = 0.75
y1 = 0.2
d = 0.1
dl = 0.3
d1 = 1.5
d2 = 1
d3 = 0.05
dy = 1.25
r = 0.05
r2 = 0.07
rr = 0.2
at = 0.12

sub tri a
    begin origin
        begin rotate 90*a
            begin path fill black
                amove 0 -at
                aline -0.75*at at
                aline 0.75*at at
                aline 0 -at
            end path
        end rotate
    end origin
end sub

begin translate d y+dy+dl ! 1.1
    amove 0 0
    circle r fill black
    @fermion 2*x 0
    @arrow 0.25
    @arrow 0.75
    circle r fill black
    amove x 0
    circle r fill black
    @photon x y
    @tri 0
    amove 1.5*x y1
    circle r2 fill black
end translate

begin translate 2*x+d1+d y+dy+dl ! 1.2
    amove 0 0
    @fermion 2*y 0
    @arrow 0.25
    @arrow 0.75
    amove y 0
    circle r fill black
    @photon y y
end translate

begin translate 2*(x+y+d1)+d y+dy+dl ! 1.3
    amove 0 0
    circle r fill black
    @fermion x2 0
    @arrow 0.5
    circle r fill black
    amove 0.5*x2 y1
    circle r2 fill black
end translate

begin translate 2*(x+y+d1)+x2+d2+d y+dy+dl ! 1.4
    amove 0 0
    circle r fill black
    @fermion x2 0
    @arrow 0.5
    circle r fill black
end translate

begin translate d dl ! 2.1
    amove 0 0
    circle r fill black
    @photon 2*x 0
    circle r fill black
    amove x 0
    circle r fill black
    @photon x y
    @tri 0
    amove 1.5*x y1
    circle r2 fill black
end translate

begin translate 2*x+d1+d dl ! 2.2
    amove 0 0
    @photon 2*y 0
    amove y 0
    circle r fill black
    @photon y y
    ! direction
    amove y-rr rr+d3
    @fermion y-rr d3
    @fermion2 y d3-rr y+rr d3
    @fermion y+rr rr+d3
    @arrow 1
end translate

begin translate 2*(x+y+d1)+d dl ! 2.3
    amove 0 0
    circle r fill black
    @photon x2 0
    circle r fill black
    amove 0.5*x2 y1
    circle r2 fill black
end translate

begin translate 2*(x+y+d1)+x2+d2+d dl ! 2.4
    amove 0 0
    circle r fill black
    @photon x2 0
    circle r fill black
end translate

feynman_15.gle

feynman_15.gle

feynman_15.gle
size 11.3 7.7 ! 8*x2+4*(x+y)+2*(d2+d)+d1 4*y+2*(x+dy+d)

include "feyn.gle"

x = 1
x2 = 0.2
y = 0.75
y1 = 0.2
x3 = 0.5
d = 0.1
d1 = 1
d2 = 1
d3 = 0.2
dy = 1.25
r = 0.05
r2 = 0.07
rr = 0.2
at = 0.12

sub tri a
    begin origin
        begin rotate 90*a
            begin path fill black
                amove 0 -at
                aline -0.75*at at
                aline 0.75*at at
                aline 0 -at
            end path
        end rotate
    end origin
end sub

begin translate x+x2+d 3*y+2*(x+dy)+d ! 1.1
    amove -x-x2 0
    set lwidth 0.06
    @fermion x+x2 0
    set lwidth 0.03
    @arrow (0.5*x+x2)/(2*(x+x2))
    @arrow (1.5*x+x2)/(2*(x+x2))
    amove x 0
    circle r fill black
    @photon2 0 -y -x 0
    circle r fill black
    amove 0 y
    @tri 0
    @photon 0 0
    circle r fill black
    amove 0.5*x y1
    circle r2 fill black
end translate

begin translate 3*x2+2*x+y+d2+d 3*y+2*(x+dy)+d ! 1.2
    amove -y-x2 0
    @fermion y+x2 0
    @arrow (0.5*y+x2)/(2*(y+x2))
    @arrow (1.5*y+x2)/(2*(y+x2))
    amove y 0
    circle r fill black
    photonn = -1
    @photon2 0 -0.75*y -y 0
    circle r fill black
    amove 0 y
    @photon 0 0
    circle r fill black
end translate

begin translate 5*x2+3*y+2*(x+d2)+d 2.625*y+2*(x+dy)+d ! 1.3
    amove -y-x2 0
    set lwidth 0.06
    @fermion y+x2 0
    set lwidth 0.03
    @arrow 0.5
    amove -y 0
    circle r fill black
    photonn = -1
    @photon2 0 0.75*y y 0
    circle r fill black
    amove 0 -y1
    circle r2 fill black
end translate

begin translate 7*x2+5*y+2*(x+d2)+d1+d 2.625*y+2*(x+dy)+d ! 1.4
    amove -y-x2 0
    set lwidth 0.06
    @fermion y+x2 0
    set lwidth 0.03
    @arrow 0.5
    amove -y 0
    circle r fill black
    photonn = -1
    @photon2 0 0.75*y y 0
    circle r fill black
end translate

begin translate x+x2+d x+y+dy+d ! 2.1
    amove -x-x2 0
    set lwidth 0.06
    @fermion x+x2 0
    set lwidth 0.03
    @arrow 0.5
    amove x 0
    circle r fill black
    photona = -photona
    photonn = -1
    @photon 0 x
    circle r fill black
    photonn = -1
    @photon -x 0
    photona = -photona
    circle r fill black
    amove 0 x+y
    @tri 0
    @photon 0 x
    circle r fill black
    amove 0.5*x+sqrt(0.5)*y1 0.5*x+sqrt(0.5)*y1
    circle r2 fill black
end translate

begin translate 3*x2+2*x+y+d2+d x+1.625*y+dy+d ! 2.2
    amove -y-x2 0
    @fermion y+x2 0
    @arrow 0.5
    amove y 0
    circle r fill black
    photona = -photona
    @photon 0 y
    circle r fill black
    @photon -y 0
    photona = -photona
    circle r fill black
    amove 0 2*y
    @photon 0 y
    circle r fill black
    ! direction
    amove -2*rr y+rr-d3
    @fermion -rr y-d3
    @fermion2 0 y-sqrt(0.125)*rr-d3 rr y-d3
    @fermion 2*rr y+rr-d3
    @arrow 1
end translate

begin translate 5*x2+3*y+2*(x+d2)+d x+1.625*y+dy+d ! 2.3
    amove -y-x2 0
    set lwidth 0.06
    @fermion y+x2 0
    set lwidth 0.03
    @arrow 0.5
    amove -y 0
    circle r fill black
    photonn = -1
    @photon2 0 0.75*y y 0
    circle r fill black
    amove 0 0.75*y+y1
    circle r2 fill black
end translate

begin translate 7*x2+5*y+2*(x+d2)+d1+d x+1.625*y+dy+d ! 2.4
    amove -y-x2 0
    set lwidth 0.06
    @fermion y+x2 0
    set lwidth 0.03
    @arrow 0.5
    amove -y 0
    circle r fill black
    photonn = -1
    @photon2 0 0.75*y y 0
    circle r fill black
end translate

begin translate x+x2+d y+d ! 3.1
    amove -x-x2 0
    @fermion x+x2 0
    @arrow (0.5*x+x2)/(2*(x+x2))
    @arrow (1.5*x+x2)/(2*(x+x2))
    amove x 0
    circle r fill black
    @photon2 0 -y -x 0
    circle r fill black
    amove 0 y
    @photon 0 0
    circle r fill black
end translate

begin translate 3*(x+x2)+d+d1 0.5*y+d ! 3.2
    amove -x-x2 0
    @fermion x+x2 0
    @arrow 0.5
    amove x 0
    circle r fill black
    photona = -photona
    photonn = -1
    @photon 0 x
    circle r fill black
    photonn = -1
    @photon -x 0
    photona = -photona
    circle r fill black
    amove 0 x+y
    @photon 0 x
    circle r fill black
    ! direction
    amove -2*rr x+rr-d3
    @fermion -rr x-d3
    @fermion2 0 x-sqrt(0.125)*rr-d3 rr x-d3
    @fermion 2*rr x+rr-d3
    @arrow 1
end translate

begin translate 4*(x+x2)+2*d1+d 0.5*y+d ! 3.3
    amove 0 0
    @fermion 2*(x+x2)+x3 0
    @arrow (x+x2)/(2*(x+x2)+x3)
    amove x2 0
    circle r fill black
    @photon2 x2+x y x2+2*x 0
    circle r fill black
    amove x2+2*x+x3 0
    circle r fill black
    @photon x2+2*x+x3 y
end translate

feynman_16.gle

feynman_16.gle

feynman_16.gle
size 6 2.4 ! 4*(x+x2)+2*d+d1 x+y+d2+d

include "feyn.gle"

x = 1
y = 0.75
x2 = 0.2
d = 0.1
d1 = 1
d2 = 0.5
r = 0.05

begin translate x+x2+d y+d2
    amove -x-x2 0
    @double x+x2 0
    @arrow (0.5*x+x2)/(2*(x+x2))
    @arrow (1.5*x+x2)/(2*(x+x2))
    amove x 0
    circle r fill black
    @photon2 0 -y -x 0
    circle r fill black
    amove 0 x
    @photon 0 0
    circle r fill black
end translate

begin translate 3*(x+x2)+d+d1 d2
    amove -x-x2 0
    @double x+x2 0
    @arrow 0.5
    momd = -momd
    @mom 0.5
    amove x 0
    circle r fill black
    photona = -photona
    photonn = -1
    @photon 0 x
    @mom 0.4
    circle r fill black
    photonn = -1
    @photon -x 0
    photona = -photona
    @mom 0.6
    momd = -momd
    circle r fill black
    amove 0 x+y
    @photon 0 x
    circle r fill black
end translate

feynman_17.gle

feynman_17.gle

feynman_17.gle
size 10.2 1.7 ! 6*x1+2*(d1+d) 2*(y+d)

include "feyn.gle"

x = 1
y = 0.75
rr = (x*x+y*y)/(2*y)
y2 = 0.5
x2 = sqrt(sqr(rr)-sqr(rr-y+y2))
x1 = 1.5
d = 0.1
d1 = 0.5
r = 0.05

begin translate x1+d y+d
    amove -x1 0
    @photon -x 0
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y x 0
    @fermion2 0 -y -x 0
    set lwidth 0.03
    amove x 0
    circle r fill black
    @photon x1 0
end translate

begin translate 3*x1+d1+d y+d
    amove -x1 0
    @photon -x 0
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y x 0
    @fermion2 0 -y -x 0
    set lwidth 0.03
    amove x 0
    circle r fill black
    @photon x1 0
    amove -x2 y2
    circle r fill black
    photona = -photona
    photonn = -1
    @photon2 0 y2-0.75*x2 x2 y2
    circle r fill black
    photona = -photona
end translate

begin translate 5*x1+2*d1+d y+d
    amove -x1 0
    @photon -x 0
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y x 0
    @fermion2 0 -y -x 0
    set lwidth 0.03
    amove x 0
    circle r fill black
    @photon x1 0
    amove 0 -y
    circle r fill black
    @photon 0 y
    circle r fill black
end translate

feynman_18.gle

feynman_18.gle

feynman_18.gle
size 5.2 2 ! 2*(x2+d) y1+y+2*d

include "feyn.gle"

x = 1
x1 = 2
x2 = 2.5
y = 0.7
y1 = 1.1
d = 0.1

r = 0.05
doublea = 0.05

begin translate x2+d d
    amove -x2 0
    @fermion x2 0
    amove -x1 0
    circle r fill black
    @photon -x y1
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y1+y x y1
    set lwidth 0.03
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y1-y -x y1
    set lwidth 0.03
    amove x1 0
    circle r fill black
    photona = -photona
    @photon x y1
end translate

feynman_19.gle

feynman_19.gle

feynman_19.gle
size 11.2 2.3 ! 6*x2+2*(d1+d) y1+y+y2+2*d

include "feyn.gle"

x = 0.75
x1 = 1.5*0.75
x2 = 2*0.75
y = 0.7*0.75
y1 = 1.1*0.75
y2 = 0.75
y3 = 1.1*0.75
x3 = x1*y3/(y1+y)
x4 = 0.3*0.75
y4 = (y1+y)*x4/x1
x5 = 0.75*((y1+y)/2-y4)
y5 = 0.75*(x1/2-x4)
d = 0.1
d1 = 1

r = 0.05
doublea = 0.05

begin translate x2+d y1+y+d ! a
    amove -x2 0
    @double x2 0
    amove -x1 0
    circle r fill black
    photona = -photona
    @photon -x -y1
    circle r fill black
    set lwidth 0.06
    @fermion2 0 -y1-y x -y1
    set lwidth 0.03
    circle r fill black
    set lwidth 0.06
    @fermion2 0 -y1+y -x -y1
    set lwidth 0.03
    amove x1 0
    circle r fill black
    photona = -photona
    @photon x -y1
    amove 0 y2
    @photon 0 0
    circle r fill black
end translate

begin translate 3*x2+d1+d d ! b
    amove -x2 0
    @double x2 0
    amove -x1 0
    circle r fill black
    photonn = -1
    @photon 0 y1+y
    circle r fill black
    @photon 0 y1+y+y2
    amove x1 0
    circle r fill black
    photona = -photona
    photonn = -1
    @photon x1-x4 y4
    circle r fill black
    set lwidth 0.06
    @fermion2 x1/2+x5 (y1+y)/2+y5 x4 y1+y-y4
    set lwidth 0.03
    circle r fill black
    set lwidth 0.06
    @fermion2 x1/2-x5 (y1+y)/2-y5 x1-x4 y4
    set lwidth 0.03
    amove x4 y1+y-y4
    photonn = -1
    @photon 0 y1+y
    photona = -photona
end translate

begin translate 5*x2+2*d1+d d ! c
    amove -x2 0
    @double x2 0
    amove -x1 0
    circle r fill black
    @photon -x3 y1+y-y3
    circle r fill black
    set lwidth 0.06
    @fermion x3 y1+y-y3
    set lwidth 0.03
    circle r fill black
    set lwidth 0.06
    @fermion 0 y1+y
    set lwidth 0.03
    circle r fill black
    set lwidth 0.06
    @fermion -x3 y1+y-y3
    set lwidth 0.03
    amove x1 0
    photona = -photona
    @photon x3 y1+y-y3
    photona = -photona
    amove 0 y1+y
    @photon 0 y1+y+y2
end translate

feynman_2.gle

feynman_2.gle

feynman_2.gle
size 6.9 1 ! 4*x1+2*d+d1 y+2*d

include "feyn.gle"

x = 1
x1 = 1.5
d = 0.1
d1 = 0.7
r = 0.05
y = 0.75*x
a = 1.75*doublea

sub quad x y
    amove x-a y-a
    begin path fill black
        rline 2*a 0
        rline 0 2*a
        rline -2*a 0
        rline 0 -2*a
    end path
    amove x y
end sub

begin translate x1+d d ! a
    amove -x1 0
    @double x1 0
    amove -x 0
    circle r fill black
    @photon2 0 y x 0
    circle r fill black
    @quad 0 0
end translate

begin translate 3*x1+d1+d d ! b
    amove -x1 0
    @double x1 0
    amove -x 0
    @photon2 0 y x 0
    circle r fill black
    @quad -1 0
end translate

feynman_3.gle

feynman_3.gle

feynman_3.gle
size 4.7 1 ! 4*x+dx+2*d y+2*d

include "feyn.gle"

x = 1
y = 0.8
dx = 0.5
d = 0.1

a = 2.5*doublea

sub tre x y
    amove x-0.5*sqrt(3.0)*a y-0.5*a
    begin path fill black
        aline x+0.5*sqrt(3.0)*a y-0.5*a
        aline x y+a
        aline x-0.5*sqrt(3.0)*a y-0.5*a
    end path
    amove x y
end sub

begin translate x+d d
    amove -x 0
    @double x 0
    @arrow 0.25
    @arrow 0.75
    @tre 0 0
    @photon 0 y
    arrowl = -arrowl
    moml = -0.7*moml
    momd = -momd
    @mom 0.5
    arrowl = -arrowl
    moml = -moml
    momd = -momd
end translate

begin translate 3*x+dx+d d
    amove -x 0
    @double x 0
    @arrow 0.25
    @arrow 0.75
    @tre 0 0
    @photon -y y
    amove 0 0
    photona = -photona
    @photon y y
    photona = -photona
end translate

feynman_4.gle

feynman_4.gle

feynman_4.gle
size 3.2 1 ! 2*(x1+d) y+d+dl

include "feyn.gle"

x = 1
y = 0.75
x1 = 1.5
d = 0.1
dl = 0.15
r = 0.05
doublea = 0.05

begin translate x1+d dl
    amove -x1 0
    set lwidth 0.06
    @fermion x1 0
    set lwidth 0.03
    amove -x 0
    circle r fill black
    @fermion2 0 y x 0
    circle r fill black
end translate

feynman_5.gle

feynman_5.gle

feynman_5.gle
size 8.7 4.8 ! 4*(x1+x2)-x+d1+2*d=4*x1+2*(y+d1+d) yy+2*x2+2*dl+y

include "feyn.gle"

x = 1
y = 0.75
x1 = 1.5
x2 = 0.75
y2 = 0.5625
yc = 0.3
d = 0.1
dl = 0.2
d1 = 0.5
yy = 2.2
r = 0.05
doublea = 0.05

rr = (x*x+y*y)/(2*y)
yb = sqrt(rr*rr-0.25*x*x)+y-rr
xi = x*(2*yb-y)/(x*x+y*y)
xa=0.5*x-xi*y
ya=yb-xi*x

begin translate d+2*x2+x1-x yy+y+dl ! a
    amove -2*x2-x1+x 0
    set lwidth 0.06
    @fermion 2*x2+x1-x 0
    set lwidth 0.03
    amove -2*x2 0
    circle r fill black
    @fermion 0 2*x2
    circle r fill black
    @fermion 2*x2 0
    circle r fill black
    amove 0 2*x2
    @fermion 0 0
    circle r fill black
end translate

begin translate d+d1-2*x+3*x1+4*x2 yy+dl+2*y ! b
    amove -x1 0
    set lwidth 0.06
    @fermion x1+x 0
    set lwidth 0.03
    amove -x 0
    circle r fill black
    @fermion2 0 y x 0
    circle r fill black
    amove 0 0
    circle r fill black
    @fermion2 x -y 2*x 0
    circle r fill black
end translate

begin translate d+y y+dl ! c
    amove -y 0
    set lwidth 0.06
    @fermion y 0
    amove 0 0
    circle r fill black
    @fermion2 -0.5*y 0.5*y 0 y
    @fermion2 0.5*y 0.5*y 0 0
    @fermion2 -0.5*y -0.5*y 0 -y
    @fermion2 0.5*y -0.5*y 0 0
    set lwidth 0.03
end translate

begin translate d+d1+2*y+x1 y+dl ! d
    amove -x1 0
    set lwidth 0.06
    @fermion x1 0
    set lwidth 0.03
    amove x 0
    circle r fill black
    @fermion2 0 y -x 0
    circle r fill black
    @fermion2 0 -y x 0
end translate

begin translate d+2*(d1+y)+3*x1 y+dl ! e
    amove -x1 0
    set lwidth 0.06
    @fermion x1 0
    set lwidth 0.03
    amove x 0
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y -x 0
    set lwidth 0.03
    circle r fill black
    set lwidth 0.06
    @fermion2 0 -y x 0
    set lwidth 0.03
end translate

feynman_6.gle

feynman_6.gle

feynman_6.gle
size 5.2 2 ! 2*(x2+d) y1+y+2*d

include "feyn.gle"

x = 1
x1 = 2
x2 = 2.5
y = 0.7
y1 = 1.1
d = 0.1

r = 0.05
doublea = 0.05

begin translate x2+d d
    amove -x2 0
    set lwidth 0.06
    @fermion x2 0
    set lwidth 0.03
    amove -x1 0
    circle r fill black
    @photon -x y1
    circle r fill black
    @fermion2 0 y1+y x y1
    circle r fill black
    @fermion2 0 y1-y -x y1
    amove x1 0
    circle r fill black
    photona = -photona
    @photon x y1
end translate

feynman_7.gle

feynman_7.gle

feynman_7.gle
size 10.7 1.7 ! 4*(x1+y)+3*d1+2*d 2*(y+d)

include "feyn.gle"

x = 1
y = 0.75
x1 = 1.5
d = 0.1
d1 = 0.5
a = 0.5
r = 0.05
doublea = 0.05

begin translate y+d y+d ! a
    amove -y 0
    set lwidth 0.06
    @fermion y 0
    amove 0 0
    circle r fill black
    @fermion2 -0.5*y -0.5*y 0 -y
    @fermion2 0.5*y -0.5*y 0 0
    set lwidth 0.03
    @fermion2 -0.5*y 0.5*y 0 y
    @fermion2 0.5*y 0.5*y 0 0
end translate

begin translate 3*y+d1+d y+d ! b
    amove -y 0
    set lwidth 0.06
    @fermion y 0
    amove 0 0
    circle r fill black
    set lwidth 0.03
    @fermion2 -0.5*y 0.5*y 0 y
    @fermion2 0.5*y 0.5*y 0 0
    @fermion2 -0.5*y -0.5*y 0 -y
    @fermion2 0.5*y -0.5*y 0 0
end translate

begin translate 4*y+x1+2*d1+d y+d ! c
    amove -x1 0
    set lwidth 0.06
    @fermion x1 0
    set lwidth 0.03
    amove x 0
    circle r fill black
    @fermion2 0 y -x 0
    circle r fill black
    @fermion2 0 -y x 0
end translate

begin translate 4*y+3*(x1+d1)+d y-0.5*x+d ! d
    amove -x1 0
    set lwidth 0.06
    @fermion x1 0
    set lwidth 0.03
    amove 0 x
    @fermion2 (1+a)*0.5*x (1+a)*0.5*x x 0
    circle r fill black
    @fermion2 (1-a)*0.5*x (1-a)*0.5*x 0 x
    circle r fill black
    photona = -photona
    photonn = -1
    @photon -x 0
    photona = -photona
    circle r fill black
end translate

feynman_8.gle

feynman_8.gle

feynman_8.gle
size 2.2 0.4 ! 2*(x+dx) 4*d

include "feyn.gle"

x = 1
d = 0.1
a = 0.1

begin translate x+d 2*d
    amove -x 0
    @fermion x 0
    @arrow 0.25
    @arrow 0.75
    amove -a -a
    @fermion a a
    amove -a a
    @fermion a -a
end translate

feynman_9.gle

feynman_9.gle

feynman_9.gle
size 5.2 2 ! 2*(x2+d) y1+y+2*d

include "feyn.gle"

x = 1
x1 = 2
x2 = 2.5
y = 0.7
y1 = 1.1
d = 0.1

r = 0.05
doublea = 0.05

begin translate x2+d d
    amove -x2 0
    @double x2 0
    amove -x1 0
    circle r fill black
    @photon -x y1
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y1+y x y1
    set lwidth 0.03
    circle r fill black
    set lwidth 0.06
    @fermion2 0 y1-y -x y1
    set lwidth 0.03
    amove x1 0
    circle r fill black
    photona = -photona
    @photon x y1
end translate

feynman_shadow.gle

feynman_shadow.gle

feynman_shadow.gle
hei = 2.5
wid = 2.5

verty = hei*.4

size wid hei

include "feyn.gle"

@Fermion wid hei
amove wid 0
ShadowA = .15
@Gluon 0 hei
@Shadow .5
amove .25*wid .75*hei
@Gluon2 .25*wid .25*hei .75*wid .25*hei
@Shadow .5

feynman_test.gle

feynman_test.gle

feynman_test.gle
size 16 12 

include "feyn.gle" 
! this is line number 1630 

! example 1 
begin translate 0 6 
    x1 = 1 
    x2 = 3 
    x3 = 5 
    x4 = 7 
    y1 = 1 
    y2 = 3 
    y3 = 5 
    xt = 4 
    yt = 2 
    yt1 = 2.5 
    yt2 = 3.5 
    ! it is usually a good idea to introduce named variables 
    ! so that you can easily tune their values 
    amove x1 y1 
    @Fermion x2 y2   ! first  fermion line 
    @Arrow 0.5 
    @Mom 0.5 
    @Fermion x1 y3   ! second fermion line 
    @Arrow 0.5 
    MomL = -MomL 
    ArrowL = -ArrowL 
    @Mom 0.5         ! opposite direction 
    MomL = -MomL 
    ArrowL = -ArrowL 
    amove x2 y2 
    @Photon x3 y2    ! photon line 
    MomD = -MomD 
    @Mom 0.5         ! to the right from the line 
    @Zigzag x4 y3    ! first  zigzag line 
    @Mom 0.5 
    MomD = -MomD 
    amove x3 y2 
    PhotonA = -PhotonA 
    @Zigzag x4 y1    ! second zigzag line 
    PhotonA = -PhotonA 
    @Mom 0.5 
    ! momenta near the arrows 
    amove x1 yt1 
    text p_{1} 
    amove x1 yt2 
    text p_{2} 
    amove x4 yt1 
    text k_{1} 
    amove x4 yt2 
    text k_{2} 
    amove xt yt 
    text p_{1}{\setfont{texcmr}+}p_{2} 
    ! there is no + in the font texmi 
end translate 

! example 2 
begin translate 8 6 
    x5 = 2 
    x6 = 4 
    x7 = 6 
    y0 = 1.5 
    y4 = 2.5 
    y5 = 3.5 
    amove x1 y0 
    @Double x4 y0 
    @Arrow 0.5 
    amove x5 y0+DoubleA  ! above the center 
    @Gluon x2 y2 
    @Dash2 x6 y5 x3 y2 
    @Arrow 0.5 
    @Dash2 x6 y4 x2 y2 
    @Arrow 0.5 
    amove x3 y2 
    @Gluon x7 y0+DoubleA 
end translate 

! example 3 
begin translate 0 0 
    x2 = 3.3 
    x3 = 4.7 
    y4 = 2.2 
    amove x1 y0 
    @Fermion x4 y0 
    @Arrow 0.26 
    @Arrow 0.5 
    @Arrow 0.74 
    amove x5 y0 
    @Gluon2 x6 y5 x7 y0 
    amove x2 y0 
    PhotonN = -1  ! to make the number of half-waves odd 
    @Photon2 x6 y4 x3 y0 
end translate