Center datapoints around noon

master
Zwarf 2022-05-01 01:49:58 +02:00
rodzic c22cf61c29
commit 7910522911
3 zmienionych plików z 71 dodań i 20 usunięć

Wyświetl plik

@ -103,10 +103,19 @@ picplanner_overview_set_current_coordinates_sun (PicplannerOverview *overview,
{
char *char_sun_rise;
char *char_sun_set;
GDateTime *date_time_noon;
GDateTime *date_time_rise;
GDateTime *date_time_set;
date_time_rise = g_date_time_add_minutes (overview->date_time, rise_upper_set_index[0]*24*60/NUM_DATA_POINTS-12*60);
date_time_set = g_date_time_add_minutes (overview->date_time, rise_upper_set_index[2]*24*60/NUM_DATA_POINTS-12*60);
date_time_noon = g_date_time_new (g_date_time_get_timezone (overview->date_time),
g_date_time_get_year (overview->date_time),
g_date_time_get_month (overview->date_time),
g_date_time_get_day_of_month (overview->date_time),
12, 0, 0);
date_time_rise = g_date_time_add_minutes (date_time_noon, rise_upper_set_index[0]*24*60/NUM_DATA_POINTS-12*60);
date_time_set = g_date_time_add_minutes (date_time_noon, rise_upper_set_index[2]*24*60/NUM_DATA_POINTS-12*60);
char_sun_rise = g_strdup_printf ("%02d:%02d",
g_date_time_get_hour (date_time_rise),
@ -132,10 +141,19 @@ picplanner_overview_set_current_coordinates_moon (PicplannerOverview *overview,
{
char *char_moon_rise;
char *char_moon_set;
GDateTime *date_time_noon;
GDateTime *date_time_rise;
GDateTime *date_time_set;
date_time_rise = g_date_time_add_minutes (overview->date_time, rise_upper_set_index[0]*24*60/NUM_DATA_POINTS-12*60);
date_time_set = g_date_time_add_minutes (overview->date_time, rise_upper_set_index[2]*24*60/NUM_DATA_POINTS-12*60);
date_time_noon = g_date_time_new (g_date_time_get_timezone (overview->date_time),
g_date_time_get_year (overview->date_time),
g_date_time_get_month (overview->date_time),
g_date_time_get_day_of_month (overview->date_time),
12, 0, 0);
date_time_rise = g_date_time_add_minutes (date_time_noon, rise_upper_set_index[0]*24*60/NUM_DATA_POINTS-12*60);
date_time_set = g_date_time_add_minutes (date_time_noon, rise_upper_set_index[2]*24*60/NUM_DATA_POINTS-12*60);
char_moon_rise = g_strdup_printf ("%02d:%02d",
g_date_time_get_hour (date_time_rise),
@ -162,10 +180,19 @@ picplanner_overview_set_current_coordinates_milky_way (PicplannerOverview *overv
{
char *char_milky_way_rise;
char *char_milky_way_set;
GDateTime *date_time_noon;
GDateTime *date_time_rise;
GDateTime *date_time_set;
date_time_rise = g_date_time_add_minutes (overview->date_time, rise_upper_set_index[0]*24*60/NUM_DATA_POINTS-12*60);
date_time_set = g_date_time_add_minutes (overview->date_time, rise_upper_set_index[2]*24*60/NUM_DATA_POINTS-12*60);
date_time_noon = g_date_time_new (g_date_time_get_timezone (overview->date_time),
g_date_time_get_year (overview->date_time),
g_date_time_get_month (overview->date_time),
g_date_time_get_day_of_month (overview->date_time),
12, 0, 0);
date_time_rise = g_date_time_add_minutes (date_time_noon, rise_upper_set_index[0]*24*60/NUM_DATA_POINTS-12*60);
date_time_set = g_date_time_add_minutes (date_time_noon, rise_upper_set_index[2]*24*60/NUM_DATA_POINTS-12*60);
char_milky_way_rise = g_strdup_printf ("%02d:%02d",
g_date_time_get_hour (date_time_rise),
@ -224,6 +251,7 @@ picplanner_overview_update_map_sun (PicplannerOverview *overview,
double latitude,
double longitude,
double *array_coordinates_sun,
int current_index,
int *rise_upper_set_sun)
{
int sun_stroke_width = 6;
@ -244,7 +272,8 @@ picplanner_overview_update_map_sun (PicplannerOverview *overview,
picplanner_draw_layer_remove_all (overview->pp_layer_sun);
picplanner_draw_layer_remove_all (overview->pp_layer_sun_rise_set);
if (array_coordinates_sun[NUM_DATA_POINTS+1]<0)
g_print ("Current index: %d\n", current_index*2);
if (array_coordinates_sun[current_index*2+1]<0)
visible_sun = FALSE;
image_sun = gtk_image_new_from_icon_name ("sun");
gtk_image_set_pixel_size (GTK_IMAGE (image_sun), ICON_SIZE_LARGE);
@ -262,14 +291,14 @@ picplanner_overview_update_map_sun (PicplannerOverview *overview,
else
min_size = height;
azimuth_sun = array_coordinates_sun[NUM_DATA_POINTS];
azimuth_sun = array_coordinates_sun[current_index*2];
x_sun = x + sin(calc_deg_to_rad (azimuth_sun)) * min_size * LENGTH_SCALE_FACTOR;
y_sun = y - cos(calc_deg_to_rad (azimuth_sun)) * min_size * LENGTH_SCALE_FACTOR;
azimuth_sunrise = array_coordinates_sun[rise_upper_set_sun[0]*2];
x_sunrise = x + sin(calc_deg_to_rad (azimuth_sunrise)) * min_size * LENGTH_SCALE_FACTOR;
y_sunrise = y - cos(calc_deg_to_rad (azimuth_sunrise)) * min_size * LENGTH_SCALE_FACTOR;
g_print("Index Sunrise: %d", rise_upper_set_sun[0]);
azimuth_sunset = array_coordinates_sun[rise_upper_set_sun[2]*2];
x_sunset = x + sin(calc_deg_to_rad (azimuth_sunset)) * min_size * LENGTH_SCALE_FACTOR;
y_sunset = y - cos(calc_deg_to_rad (azimuth_sunset)) * min_size * LENGTH_SCALE_FACTOR;
@ -298,6 +327,7 @@ picplanner_overview_update_map_moon (PicplannerOverview *overview,
double latitude,
double longitude,
double *array_coordinates_moon,
int current_index,
int *rise_upper_set_moon)
{
int moon_stroke_width = 6;
@ -318,7 +348,7 @@ picplanner_overview_update_map_moon (PicplannerOverview *overview,
picplanner_draw_layer_remove_all (overview->pp_layer_moon);
picplanner_draw_layer_remove_all (overview->pp_layer_moon_rise_set);
if (array_coordinates_moon[NUM_DATA_POINTS+1]<0)
if (array_coordinates_moon[current_index*2+1]<0)
visible_moon = FALSE;
image_moon = gtk_image_new_from_icon_name ("fcitx-fullwidth-inactive-symbolic");
gtk_image_set_pixel_size (GTK_IMAGE (image_moon), ICON_SIZE_LARGE);
@ -336,7 +366,7 @@ picplanner_overview_update_map_moon (PicplannerOverview *overview,
else
min_size = height;
azimuth_moon = array_coordinates_moon[NUM_DATA_POINTS];
azimuth_moon = array_coordinates_moon[current_index*2];
x_moon = x + sin(calc_deg_to_rad (azimuth_moon)) * min_size * LENGTH_SCALE_FACTOR;
y_moon = y - cos(calc_deg_to_rad (azimuth_moon)) * min_size * LENGTH_SCALE_FACTOR;
@ -373,6 +403,7 @@ picplanner_overview_update_map_milky_way (PicplannerOverview *overview,
double latitude,
double longitude,
double *array_coordinates_milky_way,
int current_index,
int *rise_upper_set_milky_way)
{
int milky_way_stroke_width = 6;
@ -393,7 +424,7 @@ picplanner_overview_update_map_milky_way (PicplannerOverview *overview,
picplanner_draw_layer_remove_all (overview->pp_layer_milky_way);
picplanner_draw_layer_remove_all (overview->pp_layer_milky_way_rise_set);
if (array_coordinates_milky_way[NUM_DATA_POINTS+1]<0)
if (array_coordinates_milky_way[current_index*2+1]<0)
visible_milky_way = FALSE;
image_milky_way = gtk_image_new_from_icon_name ("milky-way-symbolic");
gtk_image_set_pixel_size (GTK_IMAGE (image_milky_way), ICON_SIZE_LARGE);
@ -411,7 +442,7 @@ picplanner_overview_update_map_milky_way (PicplannerOverview *overview,
else
min_size = height;
azimuth_milky_way = array_coordinates_milky_way[NUM_DATA_POINTS];
azimuth_milky_way = array_coordinates_milky_way[current_index*2];
x_milky_way = x + sin(calc_deg_to_rad (azimuth_milky_way)) * min_size * LENGTH_SCALE_FACTOR;
y_milky_way = y - cos(calc_deg_to_rad (azimuth_milky_way)) * min_size * LENGTH_SCALE_FACTOR;

Wyświetl plik

@ -37,6 +37,7 @@ picplanner_overview_update_map_sun (PicplannerOverview *overview,
double latitude,
double longitude,
double *array_coordinates_sun,
int current_index,
int *rise_upper_set_sun);
void
@ -44,6 +45,7 @@ picplanner_overview_update_map_moon (PicplannerOverview *overview,
double latitude,
double longitude,
double *array_coordinates_moon,
int current_index,
int *rise_upper_set_moon);
void
@ -51,6 +53,7 @@ picplanner_overview_update_map_milky_way (PicplannerOverview *overview,
double latitude,
double longitude,
double *array_coordinates_milky_way,
int current_index,
int *rise_upper_set_milky_way);
G_END_DECLS

Wyświetl plik

@ -214,6 +214,8 @@ search_location (GtkWidget *self,
static void
calculate_positions (PicplannerWindow *window)
{
int current_index;
int *rise_upper_set_index_sun;
int *rise_upper_set_index_moon;
int *rise_upper_set_index_milky_way;
@ -222,12 +224,22 @@ calculate_positions (PicplannerWindow *window)
double *array_coordinates_sun;
double *array_coordinates_moon;
double *array_coordinates_milky_way;
GDateTime *date_time;
GDateTime *date_time_noon;
double longitude, latitude;
longitude = gtk_spin_button_get_value (GTK_SPIN_BUTTON (window->east_entry));
latitude = gtk_spin_button_get_value (GTK_SPIN_BUTTON (window->north_entry));
date_time = picplanner_overview_get_date_time (PICPLANNER_OVERVIEW (window->overview_box));
date_time_noon = g_date_time_new (g_date_time_get_timezone (date_time),
g_date_time_get_year (date_time),
g_date_time_get_month (date_time),
g_date_time_get_day_of_month (date_time),
12, 0, 0);
current_index = g_date_time_difference (date_time, date_time_noon)/1000/1000/60 * NUM_DATA_POINTS/24/60 + NUM_DATA_POINTS/2;
g_print("Date: %02d.%02d.%02d, Time: %02d:%02d\n",
g_date_time_get_day_of_month (date_time),
@ -241,7 +253,7 @@ calculate_positions (PicplannerWindow *window)
/* Sun */
array_coordinates_sun = picplanner_get_array_coordinates_sun (date_time,
array_coordinates_sun = picplanner_get_array_coordinates_sun (date_time_noon,
longitude,
latitude);
@ -251,17 +263,17 @@ calculate_positions (PicplannerWindow *window)
picplanner_overview_set_current_coordinates_sun (PICPLANNER_OVERVIEW (window->overview_box),
rise_upper_set_index_sun);
picplanner_sun_set_rise_upper_set (PICPLANNER_SUN (window->sun_box),
date_time,
date_time_noon,
array_coordinates_sun,
rise_upper_set_index_sun);
picplanner_sun_set_dark_blue_golden (PICPLANNER_SUN (window->sun_box),
date_time,
date_time_noon,
dark_blue_golden_index);
/* Moon */
array_coordinates_moon = picplanner_get_array_coordinates_moon (date_time,
array_coordinates_moon = picplanner_get_array_coordinates_moon (date_time_noon,
longitude,
latitude);
@ -271,13 +283,13 @@ calculate_positions (PicplannerWindow *window)
rise_upper_set_index_moon);
picplanner_moon_set_rise_upper_set (PICPLANNER_MOON (window->moon_box),
date_time,
date_time_noon,
array_coordinates_moon,
rise_upper_set_index_moon);
/* Milky Way */
array_coordinates_milky_way = picplanner_get_array_coordinates_milky_way (date_time,
array_coordinates_milky_way = picplanner_get_array_coordinates_milky_way (date_time_noon,
longitude,
latitude);
@ -287,7 +299,7 @@ calculate_positions (PicplannerWindow *window)
rise_upper_set_index_milky_way);
picplanner_milky_way_set_rise_upper_set (PICPLANNER_MILKYWAY (window->milky_way_box),
date_time,
date_time_noon,
array_coordinates_milky_way,
rise_upper_set_index_milky_way);
@ -303,18 +315,21 @@ calculate_positions (PicplannerWindow *window)
latitude,
longitude,
array_coordinates_sun,
current_index,
rise_upper_set_index_sun);
picplanner_overview_update_map_moon (PICPLANNER_OVERVIEW (window->overview_box),
latitude,
longitude,
array_coordinates_moon,
current_index,
rise_upper_set_index_moon);
picplanner_overview_update_map_milky_way (PICPLANNER_OVERVIEW (window->overview_box),
latitude,
longitude,
array_coordinates_milky_way,
current_index,
rise_upper_set_index_milky_way);
@ -325,6 +340,8 @@ calculate_positions (PicplannerWindow *window)
g_free (array_coordinates_sun);
g_free (array_coordinates_moon);
g_free (array_coordinates_milky_way);
//g_date_time_unref (date_time);
//g_date_time_unref (date_time_noon);
}