Видала мышку на ковре
Всю прошлую неделю я был в отпуске: летал в Финикс, Аризона, чтобы посмотреть, каково там живётся в самый жаркий период года. Оказалось, что при влажности 13-15% некоторое разумное время вполне можно провести вне помещения в середине дня в ясный день даже при температуре 317 K, имея на себе правильную одежду, головной убор и aqua quantum satis.
В музее музыкальных инструментов мы провели за два дня (для этого там есть возможность удлинить билет на второй день по половинной цене) в общей сложности, наверное, часов семь. Если когда окажетесь неподалёку, имейте в виду.
Там мне впервые в жизни удалосьпоиграть на поиграться с терменвоксом.
Но пост не про это. В городе Anthem, AZ имеется современный Стоунхендж - военный мемориал из 5 стел (по числу видов вооруженных сил США), в которых сделаны эллиптические проемы так, чтобы солнечный свет падал на герб США ровно в 11:11 11 ноября.
Естественно, мне тут же захотелось узнать, как обстоит дело с гулянием положения солнца в этот момент от года к году, и нет ли другой даты, когда солнце оказывается в той же самой точке. В самом ЧатГПТ нужный пакет установлен не был, о чём он мне грустно сообщил: "It looks like the necessary astronomy library (skyfield) isn't available in this environment to compute precise solar positions", но выдал инструкции по установке необходимых пакетов (их пришлось тривиально модифицировать по месту, а именно "apt install python3-xyz" вместо "pip install xyz", как мне сам pip и сказал сделать), а также скрипт, который не потребовал никаких принципиальных изменений, разве что диапазон дней пришлось увеличить, и тут же заработал.
Если бы мне была поставлена задача с нуля написать программу на любом языке, которая это вычисляет, бог знает сколько дней или недель я бы возился.
В музее музыкальных инструментов мы провели за два дня (для этого там есть возможность удлинить билет на второй день по половинной цене) в общей сложности, наверное, часов семь. Если когда окажетесь неподалёку, имейте в виду.
Там мне впервые в жизни удалось
Но пост не про это. В городе Anthem, AZ имеется современный Стоунхендж - военный мемориал из 5 стел (по числу видов вооруженных сил США), в которых сделаны эллиптические проемы так, чтобы солнечный свет падал на герб США ровно в 11:11 11 ноября.
Естественно, мне тут же захотелось узнать, как обстоит дело с гулянием положения солнца в этот момент от года к году, и нет ли другой даты, когда солнце оказывается в той же самой точке. В самом ЧатГПТ нужный пакет установлен не был, о чём он мне грустно сообщил: "It looks like the necessary astronomy library (skyfield) isn't available in this environment to compute precise solar positions", но выдал инструкции по установке необходимых пакетов (их пришлось тривиально модифицировать по месту, а именно "apt install python3-xyz" вместо "pip install xyz", как мне сам pip и сказал сделать), а также скрипт, который не потребовал никаких принципиальных изменений, разве что диапазон дней пришлось увеличить, и тут же заработал.
from datetime import datetime, timedelta import numpy as np import pandas as pd import pytz from skyfield.api import load, Topos # Load ephemeris data ts = load.timescale() eph = load('de421.bsp') # Observer's location observer = Topos(latitude_degrees=33.8631806, longitude_degrees=-112.1371645) # Reference date and time (local time in Phoenix, no DST) tz = pytz.timezone("America/Phoenix") reference_local = tz.localize(datetime(2025, 11, 11, 11, 11)) reference_utc = reference_local.astimezone(pytz.utc) t_ref = ts.utc(reference_utc.year, reference_utc.month, reference_utc.day, reference_utc.hour, reference_utc.minute) earth = eph['earth'] sun = eph['sun'] astrometric = earth + observer # Get reference sun position sun_ref = astrometric.at(t_ref).observe(sun).apparent() alt_ref, az_ref, _ = sun_ref.altaz() # Scan nearby days at same time results = [] for offset in range(-200, 201): test_local = reference_local + timedelta(days=offset) test_utc = test_local.astimezone(pytz.utc) t = ts.utc(test_utc.year, test_utc.month, test_utc.day, test_utc.hour, test_utc.minute) sun_pos = astrometric.at(t).observe(sun).apparent() alt, az, _ = sun_pos.altaz() alt_diff = abs(alt.degrees - alt_ref.degrees) az_diff = abs(az.degrees - az_ref.degrees) if alt_diff < 0.1 and az_diff < 0.1: results.append((test_local.date(), round(alt.degrees, 2), round(az.degrees, 2), alt_diff, az_diff)) # Print matching dates for r in results: print(f"Match: {r[0]}, Alt: {r[1]}°, Az: {r[2]}°, ΔAlt: {r[3]:.3f}, ΔAz: {r[4]:.3f}")
Если бы мне была поставлена задача с нуля написать программу на любом языке, которая это вычисляет, бог знает сколько дней или недель я бы возился.
no subject
А какой смысл, что эти стелы разного размера?
no subject
no subject
no subject
no subject