Page19
pz*(sin(conj(theta))*conj(ay) + conj(ax)*conj(az) - cos(conj(theta))*conj(ax)*conj(az)) - py*(sin(conj(theta))*conj(az) - conj(ax)*conj(ay) + cos(conj(theta))*conj(ax)*conj(ay)) - px*(cos(conj(theta))*(conj(ax)^2 - 1) - conj(ax)^2)
px*(sin(conj(theta))*conj(az) + conj(ax)*conj(ay) - cos(conj(theta))*conj(ax)*conj(ay)) - pz*(sin(conj(theta))*conj(ax) - conj(ay)*conj(az) + cos(conj(theta))*conj(ay)*conj(az)) - py*(cos(conj(theta))*(conj(ay)^2 - 1) - conj(ay)^2)
py*(sin(conj(theta))*conj(ax) + conj(ay)*conj(az) - cos(conj(theta))*conj(ay)*conj(az)) - px*(sin(conj(theta))*conj(ay) - conj(ax)*conj(az) + cos(conj(theta))*conj(ax)*conj(az)) - pz*(cos(conj(theta))*(conj(az)^2 - 1) - conj(az)^2)
px*(sin(conj(theta))*conj(az) + conj(ax)*conj(ay) - cos(conj(theta))*conj(ax)*conj(ay)) - pz*(sin(conj(theta))*conj(ax) - conj(ay)*conj(az) + cos(conj(theta))*conj(ay)*conj(az)) - py*(cos(conj(theta))*(conj(ay)^2 - 1) - conj(ay)^2)
py*(sin(conj(theta))*conj(ax) + conj(ay)*conj(az) - cos(conj(theta))*conj(ay)*conj(az)) - px*(sin(conj(theta))*conj(ay) - conj(ax)*conj(az) + cos(conj(theta))*conj(ax)*conj(az)) - pz*(cos(conj(theta))*(conj(az)^2 - 1) - conj(az)^2)
theta*=Q_PI/180.0;
sin_theta=sin(theta);
cos_theta=cos(theta);
p1x=pz*(sin_theta*ay+ax*az-cos_theta*ax*az)-py*(sin_theta*az-ax*ay+cos_theta*ax*ay)-px*(cos_theta*(ax*ax-1)-ax*ax);
p1y=px*(sin_theta*az+ax*ay-cos_theta*ax*ay)-pz*(sin_theta*ax-ay*az+cos_theta*ay*az)-py*(cos_theta*(ay*ay-1)-ay*ay);
p1z=py*(sin_theta*ax+ay*az-cos_theta*ay*az)-px*(sin_theta*ay-ax*az+cos_theta*ax*az)-pz*(cos_theta*(az*az-1)-az*az);
sin_theta=sin(theta);
cos_theta=cos(theta);
p1x=pz*(sin_theta*ay+ax*az-cos_theta*ax*az)-py*(sin_theta*az-ax*ay+cos_theta*ax*ay)-px*(cos_theta*(ax*ax-1)-ax*ax);
p1y=px*(sin_theta*az+ax*ay-cos_theta*ax*ay)-pz*(sin_theta*ax-ay*az+cos_theta*ay*az)-py*(cos_theta*(ay*ay-1)-ay*ay);
p1z=py*(sin_theta*ax+ay*az-cos_theta*ay*az)-px*(sin_theta*ay-ax*az+cos_theta*ax*az)-pz*(cos_theta*(az*az-1)-az*az);
theta*=Q_PI/180.0;
sin_theta=sin(theta);
cos_theta=cos(theta);
axx=ax*ax;
ayy=ay*ay;
azz=az*az;
axy=ax*ay;
axz=ax*az;
ayz=ay*az;
p1x=pz*(sin_theta*ay+axz-cos_theta*axz)-py*(sin_theta*az-axy+cos_theta*axy)-px*(cos_theta*(axx-1)-axx);
p1y=px*(sin_theta*az+axy-cos_theta*axy)-pz*(sin_theta*ax-ayz+cos_theta*ayz)-py*(cos_theta*(ayy-1)-ayy);
p1z=py*(sin_theta*ax+ayz-cos_theta*ayz)-px*(sin_theta*ay-axz+cos_theta*axz)-pz*(cos_theta*(azz-1)-azz);
sin_theta=sin(theta);
cos_theta=cos(theta);
axx=ax*ax;
ayy=ay*ay;
azz=az*az;
axy=ax*ay;
axz=ax*az;
ayz=ay*az;
p1x=pz*(sin_theta*ay+axz-cos_theta*axz)-py*(sin_theta*az-axy+cos_theta*axy)-px*(cos_theta*(axx-1)-axx);
p1y=px*(sin_theta*az+axy-cos_theta*axy)-pz*(sin_theta*ax-ayz+cos_theta*ayz)-py*(cos_theta*(ayy-1)-ayy);
p1z=py*(sin_theta*ax+ayz-cos_theta*ayz)-px*(sin_theta*ay-axz+cos_theta*axz)-pz*(cos_theta*(azz-1)-azz);