File originale(1 280 × 960 pixel, dimensione del file: 120 KB, tipo MIME: image/png)
Questo file proviene da Wikimedia Commons e può essere utilizzato da altri progetti.
Di seguito viene mostrata la descrizione presente nella pagina di descrizione del file.
Dettagli
DescrizioneHermite-gaussian.png
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'
di condividere – di copiare, distribuire e trasmettere quest'opera
di modificare – di adattare l'opera
Alle seguenti condizioni:
attribuzione – Devi fornire i crediti appropriati, un collegamento alla licenza e indicare se sono state apportate modifiche. Puoi farlo in qualsiasi modo ragionevole, ma non in alcun modo che suggerisca che il licenziante approvi te o il tuo uso.
condividi allo stesso modo – Se remixi, trasformi o sviluppi il materiale, devi distribuire i tuoi contributi in base alla stessa licenza o compatibile all'originale.
È permesso copiare, distribuire e/o modificare questo documento in base ai termini della GNU Free Documentation License, Versione 1.2 o successive pubblicata dalla Free Software Foundation; senza alcuna sezione non modificabile, senza testo di copertina e senza testo di quarta di copertina. Una copia della licenza è inclusa nella sezione intitolata Testo della GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue
Puoi scegliere la licenza che preferisci.
Registro originale del caricamento
La pagina di descrizione originale era qui. Tutti i nomi utente che seguono sono riferiti a 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