summaryrefslogtreecommitdiffstats
path: root/fiz/naloga/suženjstvo
diff options
context:
space:
mode:
authorAnton Luka Šijanec <anton@sijanec.eu>2022-06-13 23:34:53 +0200
committerAnton Luka Šijanec <anton@sijanec.eu>2022-06-13 23:34:53 +0200
commit45f18adf080a83cccb5ebb0b277af5929648b5c5 (patch)
tree54fcb13571f328314baf11f8e6bc59dcf529ae2c /fiz/naloga/suženjstvo
parentproj3 (diff)
downloadsola-gimb-3-master.tar
sola-gimb-3-master.tar.gz
sola-gimb-3-master.tar.bz2
sola-gimb-3-master.tar.lz
sola-gimb-3-master.tar.xz
sola-gimb-3-master.tar.zst
sola-gimb-3-master.zip
Diffstat (limited to 'fiz/naloga/suženjstvo')
-rw-r--r--fiz/naloga/suženjstvo/lokacije.c19
-rwxr-xr-xfiz/naloga/suženjstvo/transformiraj.sh1
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`