Function:ns2vthcline
From S2PLOT
(Difference between revisions)
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.