Function:ns2vcline

From S2PLOT

(Difference between revisions)
Jump to: navigation, search

Current revision

ns2vcline

Draw a coloured line, with colour blended between the two given colours along the line - vector input.

Prototype

void ns2vcline(XYZ P1, XYZ P2, COLOUR col1, COLOUR col2);

Description

Draw a coloured line from (P1) to (P2), using vector data structures. The colour is blended along the line between the two input RGB colours (col1) and (col 2).

See Also

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.
struct_COLOUR Data structure for (r,g,b) colour indices.
struct_XYZ Data structure for (x,y,z) coordinates.


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;					/* Start colour of line segment */
   COLOUR col2;					/* End colour of line segment */
   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();
      ns2vcline(start, end, col1, col2);	/* Draw the coloured line */
   }

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

Back to S2PLOT function list.


Personal tools