- function GeoSVecRot(v: TGeoSVec; a: TGeoSVec; w: Single): TGeoSVec;
- var
- b: TGeoSBas;
- begin
- b.u:=GeoSVecNor(a);
- b.v:=GeoSVecPro(GeoSVecNor(v),b.u);
- if GeoSVecAmo(b.v)<>0 then begin
- b.w:=GeoSVecPro(b.u,b.v);
- result:=GeoSVecTraInv(b,GeoSVecRotX(GeoSVecTra(b,v),-w));
- end else begin
- result:=v;
- end;
- end;