X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=math%2Fmath.c;h=54d79fd9cf20533e1867e5933728ac4528021670;hb=000e702c884e337f27ae66b6506ff9f9b613f8a8;hp=6488248a39235d38d8e74aaa03933128a046f5ce;hpb=4e6604346459a4a8619bfc45f2a4b7dbd925ae86;p=physik%2Fposic.git diff --git a/math/math.c b/math/math.c index 6488248..54d79fd 100644 --- a/math/math.c +++ b/math/math.c @@ -66,6 +66,11 @@ int v3_cmp(t_3dvec *a,t_3dvec *b) { return(memcmp(a,b,sizeof(t_3dvec))); } +double v3_scalar_product(t_3dvec *a,t_3dvec *b) { + + return(a->x*b->x+a->y*b->y+a->z*b->z); +} + double v3_absolute_square(t_3dvec *a) { return(a->x*a->x+a->y*a->y+a->z*a->z); @@ -84,11 +89,11 @@ int v3_per_bound(t_3dvec *a,t_3dvec *dim) { y=0.5*dim->y; z=0.5*dim->z; - if(a->x>x) a->x-=dim->x; + if(a->x>=x) a->x-=dim->x; else if(-a->x>x) a->x+=dim->x; - if(a->y>y) a->y-=dim->y; + if(a->y>=y) a->y-=dim->y; else if(-a->y>y) a->y+=dim->y; - if(a->z>z) a->z-=dim->z; + if(a->z>=z) a->z-=dim->z; else if(-a->z>z) a->z+=dim->z; return 0;