Function:ns2vcline
From S2PLOT
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.