diff options
author | Anton Luka Šijanec <anton@sijanec.eu> | 2022-06-13 23:34:53 +0200 |
---|---|---|
committer | Anton Luka Šijanec <anton@sijanec.eu> | 2022-06-13 23:34:53 +0200 |
commit | 45f18adf080a83cccb5ebb0b277af5929648b5c5 (patch) | |
tree | 54fcb13571f328314baf11f8e6bc59dcf529ae2c /fiz/naloga/suženjstvo | |
parent | proj3 (diff) | |
download | sola-gimb-3-45f18adf080a83cccb5ebb0b277af5929648b5c5.tar sola-gimb-3-45f18adf080a83cccb5ebb0b277af5929648b5c5.tar.gz sola-gimb-3-45f18adf080a83cccb5ebb0b277af5929648b5c5.tar.bz2 sola-gimb-3-45f18adf080a83cccb5ebb0b277af5929648b5c5.tar.lz sola-gimb-3-45f18adf080a83cccb5ebb0b277af5929648b5c5.tar.xz sola-gimb-3-45f18adf080a83cccb5ebb0b277af5929648b5c5.tar.zst sola-gimb-3-45f18adf080a83cccb5ebb0b277af5929648b5c5.zip |
Diffstat (limited to '')
-rw-r--r-- | fiz/naloga/suženjstvo/lokacije.c | 19 | ||||
-rwxr-xr-x | fiz/naloga/suženjstvo/transformiraj.sh | 1 |
2 files changed, 14 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); } } diff --git a/fiz/naloga/suženjstvo/transformiraj.sh b/fiz/naloga/suženjstvo/transformiraj.sh index 8b379ac..d0c9aea 100755 --- a/fiz/naloga/suženjstvo/transformiraj.sh +++ b/fiz/naloga/suženjstvo/transformiraj.sh @@ -1,4 +1,5 @@ #!/bin/bash +gcc lokacije.c -lm for i in *.tsv do t=`rev <<<$i | cut -d. -f2- | rev` |