I reworked everything so now it looks better,
but something doesn't work...
vec_b_h1 should be different from vec_b_h2 but isn't.
#include <acknex.h>
#include <default.c>
VECTOR* P1={x=1;y=1;z=8;}
VECTOR* P2={x=7;y=4;z=5;}
VECTOR* P3={x=1;y=7;z=7;}
VECTOR* Result;
var Travel_Speed=1;
var Smoothness=1;
function bezier_spline(VECTOR* a, VECTOR* b, VECTOR* c, var Travel_Speed, var Smoothness)
{
VECTOR* Copy_a=a;
VECTOR* Copy_b=b;
VECTOR* Copy_c=c;
VECTOR* vec_a_b=vec_sub(Copy_b,a);
vec_set(Copy_b,b);
VECTOR* vec_b_c=vec_sub(Copy_c,b);
vec_set(Copy_c,c);
VECTOR* vec_a_c=vec_sub(Copy_c,a);
vec_set(Copy_c,c);
VECTOR* Copy_vec_a_b=vec_a_b;
VECTOR* Copy_vec_b_c=vec_b_c;
VECTOR* Copy_vec_a_c=vec_a_c;
VECTOR* vec_b_h1=vec_scale(Copy_vec_a_c,0.5);
vec_inverse(vec_b_h1);
vec_set(Copy_vec_a_c, vec_a_c);
VECTOR* vec_b_h2=vec_scale(Copy_vec_a_c,0.5);
return(vec_b_h2);
}
function main()
{
Result=bezier_spline(P1,P2,P3,1,1);
}
PANEL* Anzeige=
{
digits (10, 10, 5.3, *, 1,Result[0]);
digits (10, 20, 5.3, *, 1,Result[1]);
digits (10, 30, 5.3, *, 1,Result[2]);
flags = VISIBLE;
}