/* Steven Andrews, 8/25/02 *//* See documentation called Plot3D doc *//* Copyright 2003 by Steven Andrews.  Permission is granted   for non-commercial use of and modifications to the code. */typedef struct Point3D {	float r[3];	float p[3];	float o[3];	float s[3];	float *r2p;	}* Pt3Dptr;typedef struct Drawing3D {	int max;	int n;	Pt3Dptr *pt;	char *col;	int *line;	float *r2p;	}* Draw3Dptr;int Init3DPlot(int stereo,float dist,float sep);Pt3Dptr Pt3DAlloc();void Pt3DFree(Pt3Dptr pt);void PlotPt3D(Pt3Dptr pt);void PlotLine3D(Pt3Dptr pt);void PlotStr3D(Pt3Dptr pt,char *s);void Rotate3D(char c,float alpha);void UpdatePt3D(Pt3Dptr pt,int internal);Draw3Dptr Draw3DAlloc(int n,float *r2p);void Draw3DFree(Draw3Dptr dr);int DrawingPt3D(Draw3Dptr dr,float x,float y,float z,int rel,int line,int col);void PlotDraw3D(Draw3Dptr dr);void UpdateDraw3D(Draw3Dptr dr,int internal);float *Draw3DOut(Draw3Dptr dr,char c);int Draw3D2ps(Draw3Dptr dr,int zdiv,char *name,int append);
