102 float cos_theta,size;
104 p->ave_nn[X_43] = 0.0;
105 p->ave_nn[Y_43] = 0.0;
106 p->ave_nn[Z_43] = 0.0;
108 for (
k = 0;
k < p->nmemb;
k++) {
109 p->ave_nn[X_43] += s->nn[p->memb_vert[
k]][X_43];
110 p->ave_nn[Y_43] += s->nn[p->memb_vert[
k]][Y_43];
111 p->ave_nn[Z_43] += s->nn[p->memb_vert[
k]][Z_43];
113 size = sqrt(VEC_DOT_43(p->ave_nn,p->ave_nn));
114 p->ave_nn[X_43] = p->ave_nn[X_43]/size;
115 p->ave_nn[Y_43] = p->ave_nn[Y_43]/size;
116 p->ave_nn[Z_43] = p->ave_nn[Z_43]/size;
119 for (
k = 0;
k < p->nmemb;
k++) {
120 cos_theta = VEC_DOT_43(s->nn[p->memb_vert[
k]],p->ave_nn);
121 if (cos_theta < -1.0)
123 else if (cos_theta > 1.0)
125 p->dev_nn += acos(cos_theta);
127 p->dev_nn = p->dev_nn/p->nmemb;