// Macro para calcular a direção do sol // Last edited on 2021-01-06 17:48:52 by jstolfi #macro direcao_do_sol(lat, est, hora) // {lat} = latitude em graus (positiva norte, negativa sul). // {est} = inclinação da estação em graus ( -23 a +23, positivo = verao no norte ) // {hora} = hora do dia, 0 a 24. // A direcao norte geográfica é +Y, leste +X. // Direção do polo norte celeste: #local dir_polo = < 0.0, cos(radians(lat)), sin(radians(lat)) >; // Direção do meridiano local no equador celeste: #local dir_equa = < 0.0, -dir_polo.z, +dir_polo.y >; // Direcao do leste geográfico: #local dir_nasc = x; // Ângulo do meridiano do sol relativo ao meridiano local (-90 a +90): #local ang_sol = 180*(hora - 12)/12; // Direção do meridiano do sol no equador celeste: #local dir_msol = cos(radians(ang_sol))*dir_equa - sin(radians(ang_sol))*dir_nasc; // Drireção do sol: #local dir_sol = cos(radians(est))*dir_msol + sin(radians(est))*dir_polo; dir_sol #end