این پرونده از ویکیانبار است و ممکن است توسط پروژههای دیگر هم استفاده شده باشد.
توضیحات موجود در صفحهٔ توضیحات پرونده در آنجا، در زیر نشان داده شده است.
خلاصه
توضیحLaguerre-gaussian.png
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'
DrBob در ویکیپدیا انگلیسی، صاحب حقوق قانونی این اثر، به این وسیله این اثر را تحث اجازهنامههای ذیل منتشر میکند:
اجازهٔ کپی، پخش و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو، نسخهٔ ۱٫۲ یا هر نسخهٔ بعدتری که توسط بنیاد نرمافزار آزاد منتشر شده؛ بدون بخشهای ناوردا (نامتغیر)، متون روی جلد، و متون پشت جلد، اعطا میشود. یک کپی از مجوز در بخشی تحت عنوان مجوز مستندات آزاد گنو ضمیمه شده است.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue
برای به اشتراک گذاشتن – برای کپی، توزیع و انتقال اثر
تلفیق کردن – برای انطباق اثر
تحت شرایط زیر:
انتساب – شما باید اعتبار مربوطه را به دست آورید، پیوندی به مجوز ارائه دهید و نشان دهید که آیا تغییرات ایجاد شدهاند یا خیر. شما ممکن است این کار را به هر روش منطقی انجام دهید، اما نه به هر شیوهای که پیشنهاد میکند که مجوزدهنده از شما یا استفادهتان حمایت کند.
انتشار مشابه – اگر این اثر را تلفیق یا تبدیل میکنید، یا بر پایه آن اثری دیگر خلق میکنید، میبایست مشارکتهای خود را تحت مجوز same or compatible license|یکسان یا مشابه با اصل آن توزیع کنید.
{{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 *