İçeriğe geç
🛠️ToolsShed

Golden Hour Calculator

Konumunuz ve tarihiniz temelinde altın saat ve mavi saat fotoğrafçılık pencerelerini bulun.

Bu araç hakkında

Altın saat, güneşin alçakta durduğu ve her şeyi yumuşak, sıcak bir ışıkla kapladığı, gün doğumundan hemen sonra ve gün batımından hemen önceki kısa zaman dilimidir; mavi saat ise gün doğumundan önce ve gün batımından sonra gelen, gökyüzünü dengeli ve serin mavi tonlarıyla dolduran daha derin alacakaranlıktır. İkisi de fotoğrafçılar tarafından çok değer görür, çünkü öğle vaktinin sert ışığının asla yakalayamayacağı, etkileyici ve atmosferik görüntüler üretirler. Bu hesaplayıcı, herhangi bir tarih ve yer için bu pencerelerin tam olarak ne zaman açılıp kapandığını belirlemek üzere astronomik formüller kullanır.

Kullanmak için tarihinizi ve konumunuzu girmeniz yeterlidir; araç, gün doğumu ve gün batımı çevresindeki altın saat ile mavi saatin başlangıç ve bitiş saatlerini gösterir. Bir çekimi dakikası dakikasına planlamak ve ışık hâlâ mükemmelken oraya varmak isteyen fotoğrafçılar, videograflar ve gezginler için tasarlanmıştır.

Bu saatlerin mevsime ve enleminize göre belirgin biçimde kaydığını unutmayın; bu yüzden kaba bir tahmine güvenmek yerine her zaman tam tarihinize ait değerleri kontrol edin. Her şey tarayıcınızda yerel olarak hesaplanır, dolayısıyla hiçbir konum verisi cihazınızdan dışarı çıkmaz.

Sıkça Sorulan Sorular

Kod Uygulaması

import math
from datetime import datetime, timedelta, timezone

def sun_times(lat: float, lon: float, date: datetime) -> dict:
    """Calculate sunrise, sunset and golden hour times."""
    # Day of year
    N = date.timetuple().tm_yday

    # Mean longitude and anomaly
    L = (280.460 + 0.9856474 * N) % 360
    g = math.radians((357.528 + 0.9856003 * N) % 360)

    # Ecliptic longitude
    lam = math.radians(L + 1.915 * math.sin(g) + 0.020 * math.sin(2 * g))

    # Declination
    decl = math.asin(math.sin(math.radians(23.439)) * math.sin(lam))

    # Hour angle for sunrise/sunset (sun altitude = -0.833°)
    cos_ha = (math.sin(math.radians(-0.833)) - math.sin(math.radians(lat)) * math.sin(decl)) /              (math.cos(math.radians(lat)) * math.cos(decl))

    if abs(cos_ha) > 1:
        return {"error": "Midnight sun or polar night"}

    ha = math.degrees(math.acos(cos_ha))

    # Equation of time correction (simplified)
    B = math.radians(360 / 365 * (N - 81))
    eot = 9.87 * math.sin(2 * B) - 7.53 * math.cos(B) - 1.5 * math.sin(B)

    # Solar noon in minutes from midnight UTC
    solar_noon = 720 - 4 * lon - eot

    sunrise_min = solar_noon - 4 * ha
    sunset_min  = solar_noon + 4 * ha

    # Golden hour bounds: sun at 6° above horizon
    cos_gh = (math.sin(math.radians(6)) - math.sin(math.radians(lat)) * math.sin(decl)) /              (math.cos(math.radians(lat)) * math.cos(decl))
    gh_ha = math.degrees(math.acos(max(-1, min(1, cos_gh))))

    golden_end_morn = solar_noon - 4 * gh_ha
    golden_start_eve = solar_noon + 4 * gh_ha

    def mins_to_str(m):
        h, mn = divmod(int(m), 60)
        return f"{h:02d}:{mn:02d}"

    return {
        "sunrise": mins_to_str(sunrise_min),
        "golden_hour_morning_end": mins_to_str(golden_end_morn),
        "solar_noon": mins_to_str(solar_noon),
        "golden_hour_evening_start": mins_to_str(golden_start_eve),
        "sunset": mins_to_str(sunset_min),
    }

# New York City
result = sun_times(40.7128, -74.0060, datetime(2024, 6, 21))
for k, v in result.items():
    print(f"{k}: {v}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.