Function:ns2vthcline

From S2PLOT

(Difference between revisions)
Jump to: navigation, search
Revision as of 22:53, 7 January 2009
S2plot admin (Talk | contribs)

← Previous diff
Current revision
S2plot admin (Talk | contribs)

Line 25: Line 25:
<code><pre> <code><pre>
 +#include <stdio.h>
 +#include <stdlib.h>
 +#include <time.h>
 +#include "s2plot.h"
 +
 +int main(int argc, char *argv[])
 +{
 + XYZ start; /* Start of line */
 + XYZ end; /* End of line */
 + COLOUR col1; /* Colour of line segment (start) */
 + COLOUR col2; /* Colour of line segment (end) */
 + float size; /* Line thickness */
 + int N = 10; /* Number of lines */
 + int i; /* Loop variable */
 +
 + srand48((long)time(NULL)); /* Seed random numbers */
 + s2opend("/?",argc, argv); /* Open the display */
 + s2swin(-1.,1., -1.,1., -1.,1.); /* Set the window coordinates */
 + s2box("BCDET",0,0,"BCDET",0,0,"BCDET",0,0); /* Draw coordinate box */
 +
 + s2sci(S2_PG_YELLOW); /* Set colour */
 + for (i=0;i<N;i++) {
 + start.x = drand48()*2.0 - 1.0; /* Random (x,y,z) coordinates */
 + start.y = drand48()*2.0 - 1.0;
 + start.z = drand48()*2.0 - 1.0;
 + end.x = drand48()*2.0 - 1.0; /* Random (x,y,z) coordinates */
 + end.y = drand48()*2.0 - 1.0;
 + end.z = drand48()*2.0 - 1.0;
 + col1.r = drand48();
 + col1.g = drand48();
 + col1.b = drand48();
 + col2.r = drand48();
 + col2.g = drand48();
 + col2.b = drand48();
 + size = drand48()*10.0;
 + ns2vthcline(start, end, col1, col2, size); /* Draw the thick line */
 + }
 +
 + s2show(1); /* Open the s2plot window */
 +
 + return 1;
 +}
</pre></code> </pre></code>

Current revision

ns2vthcline

Draw a thick coloured line - vector input.

Prototype

void ns2vthcline(XYZ P1, XYZ P2, COLOUR col1, COLOUR col2, float width);

Description

Draw a thick coloured line, with colour blended between the two given colours along the line, and given width.

See Also

ns2thcline Draw a thick coloured line.
ns2line Draw a line from one point to another in a specific colour.
ns2vline Draw a line from one point to another in a specific colour - vector input.
ns2thline Draw a thick line from one point to another in a specific colour.
ns2vthline Draw a thick line from one point to another in a specific colour - vector input.
ns2cline Draw a coloured line, with colour blended between the two given colours along the line.
ns2vcline Draw a coloured line, with colour blended between the two given colours along the line - vector input.

Code Example

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "s2plot.h"

int main(int argc, char *argv[])
{
   XYZ start;                                   /* Start of line */
   XYZ end;                                     /* End of line */
   COLOUR col1;                                 /* Colour of line segment (start) */
   COLOUR col2;                                 /* Colour of line segment (end) */
   float size;                                  /* Line thickness */
   int N = 10;                                  /* Number of lines */
   int i;                                       /* Loop variable */

   srand48((long)time(NULL));                   /* Seed random numbers */
   s2opend("/?",argc, argv);                    /* Open the display */
   s2swin(-1.,1., -1.,1., -1.,1.);              /* Set the window coordinates */
   s2box("BCDET",0,0,"BCDET",0,0,"BCDET",0,0);  /* Draw coordinate box */

   s2sci(S2_PG_YELLOW);                         /* Set colour */
   for (i=0;i<N;i++) {
      start.x = drand48()*2.0 - 1.0;            /* Random (x,y,z) coordinates */
      start.y = drand48()*2.0 - 1.0;
      start.z = drand48()*2.0 - 1.0;
      end.x   = drand48()*2.0 - 1.0;            /* Random (x,y,z) coordinates */
      end.y   = drand48()*2.0 - 1.0;
      end.z   = drand48()*2.0 - 1.0;
      col1.r   = drand48();
      col1.g   = drand48();
      col1.b   = drand48();
      col2.r   = drand48();
      col2.g   = drand48();
      col2.b   = drand48();
      size    = drand48()*10.0;
      ns2vthcline(start, end, col1, col2, size);        /* Draw the thick line */
   }

   s2show(1);                                   /* Open the s2plot window */

   return 1;
}

Back to S2PLOT function list.


Personal tools