Forum der Vereinigung der Sternfreunde

Forum of the German Amateur Astronomy Association
Aktuelle Zeit: 25. Juli 2021, 18:26:50 PM

Alle Zeiten sind UTC+02:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
BeitragVerfasst: 09. Juli 2021, 11:07:01 AM 
Offline
Meister
Benutzeravatar

Registriert: 20. Januar 2013, 20:03:54 PM
Beiträge: 1179
Wohnort: Leipzig
Im letzten Aufsatz zur Lichtablenkung durch Gravitation habe ich die Frage beantwortet, was unter dem Schatten eines Schwarzen Lochs zu verstehen ist. Dazu wurde im Prinzip dasselbe Programm benutzt wie in Heft 77: Die Berechnung tangentialer Strahlen. Es musste aber Berücksichtigung finden, dass die austretenden Strahlen parallel sein müssen, also alle zu einem Empfänger gelangen. Dazu muss man 2x rechnen. Das Programm liegt auf unserer Webseite. Hier der Python-Code:
Code:
from turtle import *
from random import *
from math import *

def plot(x,y): # einen Punkt setzen
    penup()
    goto(50*x,50*y)
    pendown()
    dot(3)
    hideturtle()

def circle():
    w=0
    for i in range (1000):
        x=cos(w)
        y=sin(w)
        plot(x,y)
        w=w+2*pi/1000
             
def einStrahl(r0, deltaPhi, plotflag):
    r=1.00000001*r0
    phi=0
    Delta=1e-3
    while r<70:
        # nur jeden 10. Punkt zeichnen
        for i in range (10):
            # Steigung berechnen
            drdphi=r*r*r*r/(r0*r0*r0)
            drdphi=drdphi*(r0-1)-r*(r-1)
            drdphi=sqrt(drdphi)
            # Werte der vorigen Runde aufheben
            R=r;Phi=phi
            # neuen Punkt bestimmen
            r=r+Delta*drdphi
            phi=phi+Delta
            # zuerst nach unten zeichnen
            x=r*cos(-phi-deltaPhi)
            y=r*sin(-phi-deltaPhi)            
            if (1==plotflag): plot(x,y)
            x=r*cos(phi-deltaPhi)
            y=r*sin(phi-deltaPhi)            
            if (1==plotflag): plot(x,y)
    # Punktrichtungsgleichung auswerten
    X=x-R*cos(Phi)
    Y=y-R*sin(Phi)
    deltaPhi=atan2(Y,X)
    return deltaPhi

# Hauptprogramm
tracer(0,0) # Turtle aus
circle()
r0=1.55
while r0<15:
    deltaPhi=0
    deltaPhi=einStrahl(r0, deltaPhi, 0)
    pencolor("blue")
    einStrahl(r0, deltaPhi, 1)
    # symmetrischen Strahl in anderer Farbe
    pencolor("red")
    einStrahl(r0, 2*pi-deltaPhi, 1)
    r0=r0*1.2
    print(r0, deltaPhi)
    update()
done()


Dateianhänge:
a2.jpg
a2.jpg [ 41.96 KiB | 313 mal betrachtet ]

_________________
Uwe Pilz, Fachgruppen Kometen und Astrophysik/Algorithmen.
Oft benutzte Instrumente: Swarovski SLC 7x50B, Fujinon 16x70 FMT-SX-2, TMB Apo 105/650, Skywatcher Evostar 120/900 ED, Ninja Dobson 320/1440
Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC+02:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de