X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=project.c;fp=project.c;h=0c4022eb141d72f755ed3fc776d8833668967676;hb=76f84179ceee1307c87a665a924abaeae8cb9f18;hp=b68e47393bb1b966579879cf0e54c0dd2513c764;hpb=eac31a20dbcedaad053f36c6b0de450325ecff0c;p=moebius2.git diff --git a/project.c b/project.c index b68e473..0c4022e 100644 --- a/project.c +++ b/project.c @@ -16,7 +16,7 @@ static int ntris; static Vertices conformation; static double transform[D3][D3]= {{1,0,0}, {0,1,0}, {0,0,1}}; -STATIC_GSL_MATRIX(transform); +static GSL_MATRIX(transform); const char *input_filename; @@ -31,16 +31,18 @@ static void read_input(void) { } static void transform_coordinates(void) { - /* - static double result[D3]; - static const gsl_vector result_gsl= { D3,1,&result[0]; } + double result[D3]; + GSL_VECTOR(result); + gsl_vector input_gsl= { D3,1 }; - int v; + int v, k; - FOR_VERTEX(v) { - GA( gsl_blas_dgemv(CblasNoTrans, - }*/ + input_gsl.data= &conformation[v][0]; + GA( gsl_blas_dgemv(CblasNoTrans, 1.0,&transform_gsl, &input_gsl, + 0.0, &result_gsl) ); + K conformation[v][k]= result[k]; + } } static void addtriangle(int va, int vb, int vc) { @@ -223,6 +225,18 @@ static void drag_none_conclude(void) { } static void drag_none_abandon(void) { } DRAG(none); +static void pmatrix(const char *n, double m[D3][D3]) { + int j,k; + for (j=0; j