Function:ns2cline

From S2PLOT

Jump to: navigation, search

ns2cline

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

Prototype

void ns2cline(float x1, float y1, float z1, float x2, float y2, float z2, 
float red1, float green1, float blue1, float red2, float green2, float blue2);

Description

Draw a coloured line from (x1,y1,z1) to (x2,y2,z2). The colour is blended along the line between the two input RGB colours (red1,green1,blue1) and (red2,green2,blue2).

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.
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[])
{
   float x1, y1, z1;				/* Start of line */
   float x2, y2, z2;				/* End of line */
   float r1, g1, b1;				/* Start colour of line segment */
   float r2, g2, b2;				/* 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++) {
      x1 = drand48()*2.0 - 1.0;			/* Random (x,y,z) coordinates */
      y1 = drand48()*2.0 - 1.0;
      z1 = drand48()*2.0 - 1.0;
      x2 = drand48()*2.0 - 1.0;			/* Random (x,y,z) coordinates */
      y2 = drand48()*2.0 - 1.0;
      z2 = drand48()*2.0 - 1.0;
      r1 = drand48();				/* First colour */
      g1 = drand48();
      b1 = drand48();
      r2 = drand48();				/* Second colour */
      g2 = drand48();
      b2 = drand48();
      ns2cline(x1,y1,z1, x2,y2,z2, r1,g1,b1, r2,g2,b2);	/* Draw the coloured line */
   }

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

Back to S2PLOT function list.


Personal tools