Airydisks_rayleigh_sqrt.png (400 × 400 Pixel, Dateigröße: 16 KB, MIME-Typ: image/png)
Diese Datei stammt aus Wikimedia Commons und kann von anderen Projekten verwendet werden. Die Beschreibung von deren Dateibeschreibungsseite wird unten angezeigt.
BeschreibungAirydisks rayleigh sqrt.png |
English: Airy disks of two point light-sources seen through a round aperture. The distance of the two sources matches the rayleigh-criterion
|
Datum | |
Quelle | Eigenes Werk |
Urheber | Geek3 |
The image was generated by the following python script using scipy and PIL
Python source code - click on the right to view |
---|
airydisks_rayleigh_sqrt.py: |
#!/usr/bin/env python
# -*- coding: utf8 -*-
'''
Copyright (C) 2008 Wikimedia Foundation
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
'''
from math import *
import scipy
import scipy.special
from PIL import Image
w = 400
h = 400
image = scipy.zeros((h, w))
# rayleigh criterion
r0 = scipy.special.jn_zeros(1, 1)
scalex = scipy.special.jn_zeros(1, 2)[-1] + r0 / 2.
scaley = h * scalex / w
# make dark areas better visible
color_func = sqrt
for y in range(h):
for x in range(w):
xx = ((x + .5) / w - .5) * 2. * scalex
yy = ((y + .5) / h - .5) * 2. * scaley
r1 = hypot(xx + r0 / 2., yy)
r2 = hypot(xx - r0 / 2., + yy)
v1 = v2 = .5
if r1 != 0.: v1 = (scipy.special.j1(r1) / r1) ** 2
if r2 != 0.: v2 = (scipy.special.j1(r2) / r2) ** 2
image[y, x] = color_func(v1 + v2)
max_val = image.max()
# write image to file
image_file = Image.new('L', (w, h))
for y in range(h):
for x in range(w):
c = int(2**8 * image[y, x] / max_val)
image_file.putpixel((x, y), c)
image_file.save('Airydisks_rayleigh_sqrt.png', 'PNG')
|
Es ist erlaubt, die Datei unter den Bedingungen der GNU-Lizenz für freie Dokumentation, Version 1.2 oder einer späteren Version, veröffentlicht von der Free Software Foundation, zu kopieren, zu verbreiten und/oder zu modifizieren; es gibt keine unveränderlichen Abschnitte, keinen vorderen und keinen hinteren Umschlagtext.
Der vollständige Text der Lizenz ist im Kapitel GNU-Lizenz für freie Dokumentation verfügbar.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Klicke auf einen Zeitpunkt, um diese Version zu laden.
Version vom | Vorschaubild | Maße | Benutzer | Kommentar | |
---|---|---|---|---|---|
aktuell | 13:24, 30. Mai 2010 | 400 × 400 (16 KB) | wikimediacommons>Geek3 | {{Information |Description={{en|1=Airy disks of two point light-sources seen through a round aperture. The distance of the two sources matches the rayleigh-criterion :<math>d = \frac{1.22\,\lambda}{\sin\alpha}</math> The brightness of the color shows the |
Die folgende Seite verwendet diese Datei: