English: Hermite-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 hermite
size = 320
I_0 = 1.
w = size/4.
m = int(sys.argv[1])
n = 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):
I = I_0 * (hermite(m)(sqrt(2)*x/w)*exp(-x**2/w**2))**2 \
* (hermite(n)(sqrt(2)*y/w)*exp(-y**2/w**2))**2
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):
l = raw.getpixel((x,y))/high
cooked.putpixel((x,y), linear_to_sRGB(l))
print 'row ' + str(x+1) + ' of ' + str(size) + ' complete'
de partager – de copier, distribuer et transmettre cette œuvre
d’adapter – de modifier cette œuvre
Sous les conditions suivantes :
paternité – Vous devez donner les informations appropriées concernant l'auteur, fournir un lien vers la licence et indiquer si des modifications ont été faites. Vous pouvez faire cela par tout moyen raisonnable, mais en aucune façon suggérant que l’auteur vous soutient ou approuve l’utilisation que vous en faites.
partage à l’identique – Si vous modifiez, transformez, ou vous basez sur cette œuvre, vous devez distribuer votre contribution sous la même licence ou une licence compatible avec celle de l’original.
Vous avez la permission de copier, distribuer et modifier ce document selon les termes de la GNU Free Documentation License version 1.2 ou toute version ultérieure publiée par la Free Software Foundation, sans sections inaltérables, sans texte de première page de couverture et sans texte de dernière page de couverture. Un exemplaire de la licence est inclus dans la section intitulée GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue
Vous pouvez choisir l’une de ces licences.
Journal des téléversements d’origine
La page de description originale était ici. Tous les noms d'utilisateur qui suivent se rapportent à en.wikipedia.
Upload date | User | Bytes | Dimensions | Comment
2007-07-08 22:25 (UTC) | Keenan Pepper | 122975 (bytes) | 1280×960 | Hermite-Gaussian transverse mode patterns. Bigger & better version, created with this Python script: #!/usr/bin/env python import sys import Image from math import * from scipy.special.orthogonal import hermite size = 320 I_0 = 1. w = size/4