diff options
Diffstat (limited to 'fiz/naloga/suženjstvo/lokacije.c')
-rw-r--r-- | fiz/naloga/suženjstvo/lokacije.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/fiz/naloga/suženjstvo/lokacije.c b/fiz/naloga/suženjstvo/lokacije.c index bc9e2e1..1d759cf 100644 --- a/fiz/naloga/suženjstvo/lokacije.c +++ b/fiz/naloga/suženjstvo/lokacije.c @@ -2,6 +2,8 @@ #include <stdlib.h> // datoteka se mora začeti s prvim frameom - prižgana lučka #include <math.h> #define STR0(x) (x ? x : "") +#define ŠIR 3840 // moramo vedeti, da GIMP koordinate pretvorimo v blender koo +#define VIŠ 2160 // nisem prepričan. če se ti zdi, da je to nepotrebno => mail int main (int argc, char ** argv) { long double kalibracijske_vrednosti[] = { 14.20, -2.35, 2.25 }; if (argc < 1+1+7) { @@ -12,18 +14,19 @@ int main (int argc, char ** argv) { char * cp; int merilo_leva_šir = strtol(argv[5], &cp, 10); cp++; - int merilo_leva_viš = strtol(cp, NULL, 10); + int merilo_leva_viš = VIŠ-strtol(cp, NULL, 10); int merilo_desna_šir = strtol(argv[6], &cp, 10); cp++; - int merilo_desna_viš = strtol(cp, NULL, 10); + int merilo_desna_viš = VIŠ-strtol(cp, NULL, 10); int središče_šir = strtol(argv[7], &cp, 10); cp++; - int središče_viš = strtol(cp, NULL, 10); + int središče_viš = VIŠ-strtol(cp, NULL, 10); int kotna_točka_šir = strtol(argv[8], &cp, 10); cp++; - int kotna_točka_viš = strtol(cp, NULL, 10); + int kotna_točka_viš = VIŠ-strtol(cp, NULL, 10); long double pikslov_v_1m = 10*sqrtl(powl(labs(merilo_leva_šir-merilo_desna_šir), 2)+powl(labs(merilo_leva_viš-merilo_desna_viš), 2)); - fprintf(stderr, "pikslov v 1m je %Lf\n", pikslov_v_1m); + long double kot = atan2l(kotna_točka_viš - središče_viš, kotna_točka_šir - središče_šir); + fprintf(stderr, "pikslov v 1m je %Lf\tkot je %Lf rad\n", pikslov_v_1m, kot); char buf[512]; fgets(buf, 512, stdin); int i = 0; @@ -53,7 +56,11 @@ int main (int argc, char ** argv) { for (unsigned int j = 0; j <= frame+1; j++) fgets(millis, 512, timestamps); unsigned int milliseconds = strtoul(millis, NULL, 10); - fprintf(stdout, "%lu\t%u\t%Lf\t%Lf\n", frame - starting_frame, milliseconds - starting_milliseconds, piksel_šir, piksel_viš); + + long double točka_šir_ro = piksel_šir*cosl(kot)-piksel_viš*sinl(kot); + long double točka_viš_ro = piksel_šir*sinl(kot)+piksel_viš*cosl(kot); + + fprintf(stdout, "%lu\t%u\t%Lf\t%Lf\n", frame - starting_frame, milliseconds - starting_milliseconds, točka_šir_ro, točka_viš_ro); fgets(buf, 512, stdin); } } |