Ši byla yra iš bendros Wikimedia Commons nemokamų resursų duomenų bazės, palaikomos Wikimedia Foundation organizacijos. Norėdami sužinoti licencijavimo smulkmenas, žiūrėkite paveikslėlio aprašymą
English: Laguerre-Gaussian transverse mode patterns.
Bigger and better version created with the help of the Python script below
Русский: моды оптического резонатора с круглыми зеркалами
#!/usr/bin/env python
import sys
import Image
from math import *
from scipy.special.orthogonal import genlaguerre
size = 320
I_0 = 1.
w = size/4.
p = int(sys.argv[1])
l = int(sys.argv[2])
def linear_to_sRGB(l):
# Formula from http://www.w3.org/Graphics/Color/sRGB
if l <= 0.00304:
l = 12.92*l
else:
l = 1.055*pow(l,1.0/2.4) - 0.055
return 255.0*l
# First, let's make a floating-point image of the raw intensities.
raw = Image.new('F', (size,size))
high = 0
for x in range(1, size, 2):
for y in range(1, size, 2):
r = hypot(x,y)
phi = atan2(x,y)
rho = 2*r**2/w**2
I = I_0 * rho**l * (genlaguerre(p,l)(rho))**2 \
* (cos(l*phi))**2 * exp(-rho)
if I > high: high = I
raw.putpixel((size/2+(x-1)/2,size/2+(y-1)/2), I)
raw.putpixel((size/2+(x-1)/2,size/2-(y+1)/2), I)
raw.putpixel((size/2-(x+1)/2,size/2+(y-1)/2), I)
raw.putpixel((size/2-(x+1)/2,size/2-(y+1)/2), I)
print 'row ' + str((x+1)/2) + ' of ' + str(size/2) + ' complete'
# Now, let's normalize them and export them as sRGB.
cooked = Image.new('L', (size,size))
for x in range(size):
for y in range(size):
I = raw.getpixel((x,y))/high
cooked.putpixel((x,y), linear_to_sRGB(I))
print 'row ' + str(x+1) + ' of ' + str(size) + ' complete'
Suteikiamas leidimas kopijuoti, platinti ir/ar redaguoti šį dokumentą pagal GNU Free Documentation licencijos versijos 1.2 ar bet kurios vėlesnės versijos sąlygas, publikuotas Free Software Foundation; be nekintamų dalių, be priekinių ir galinių tekstinių žymų viršeliuose. Šios licencijos kopija įtraukta dalyje, pavadintoje GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue
dalintis – kopijuoti, platinti bei persiųsti šį darbą
pri(si)taikyti – adaptuoti darbą
Su šiomis sąlygomis:
autoriaus nurodymas – Turite pateikti atitinkamą kreditą, pateikti nuorodą į licenciją ir nurodyti, ar buvo atlikti pakeitimai. Tai galite padaryti bet kokiu būdu, bet ne taip, kad licencijos išdavėjas patvirtintų jus ar jūsų naudojimą.
dalinkis panašiai – Jei perdirbsite, redaguosite ar atkursite šį darbą, jį galėsite platinti tik su tokia pačia ar panašia į šią licencija.
{{BotMoveToCommons|en.wikipedia}} {{Information |Description={{en|Laguerre-Gaussian transverse mode patterns. Bigger and better version created with the help of this Python script: #!/usr/bin/env python import sys import Image from math import *