home *** CD-ROM | disk | FTP | other *** search
- /* Illustration of 1-1 scaling for polar plot */
-
- #include <stdio.h>
- #include <math.h>
-
- main()
- {
- int i,j;
- float dtr, theta, dx, dy, r;
- char text[3];
- float x0[361], y0[361];
- float x[361], y[361];
-
- dtr = 3.141592654/180.0;
- for (i=0; i<=360; i++) {
- x0[i] = cos(dtr * i);
- y0[i] = sin(dtr * i);
- }
-
- plstar(1,1);
-
- /* Set up viewport and window, but do not draw box */
-
- plenv(-1.3,1.3,-1.3,1.3,1,-2);
- for (i=1; i<=10; i++) {
- for (j=0; j<=360; j++) {
- x[j] = 0.1*i*x0[j];
- y[j] = 0.1*i*y0[j];
- }
-
- /* Draw circles for polar grid */
-
- plline(361,x,y);
- }
-
- for (i=0; i<=11; i++) {
- theta = 30.0*i;
- dx = cos(dtr*theta);
- dy = sin(dtr*theta);
-
- /* Draw radial spokes for polar grid */
-
- pljoin(0.0,0.0,dx,dy);
- sprintf(text,"%d",round(theta));
-
- /* Write labels for angle */
-
- if (dx >= 0)
- plptex(dx,dy,dx,dy,-0.15,text);
- else
- plptex(dx,dy,-dx,-dy,1.15,text);
- }
-
- /* Draw the graph */
-
- for (i=0; i<=360; i++) {
- r = sin(dtr*(5*i));
- x[i] = x0[i] * r;
- y[i] = y0[i] * r;
- }
- plline(361,x,y);
-
- plmtex("t",2.0,0.5,0.5,"\\frPLPLOT Example 3 - r(\\gh)=sin 5\\gh");
-
- /* Close the plot at end */
-
- plend();
- }
-