summaryrefslogtreecommitdiffstats
path: root/fiz/naloga/suženjstvo/lokacije.c
diff options
context:
space:
mode:
Diffstat (limited to 'fiz/naloga/suženjstvo/lokacije.c')
-rw-r--r--fiz/naloga/suženjstvo/lokacije.c19
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);
}
}