Function:ns2vf3n

From S2PLOT

Jump to: navigation, search

ns2vf3n

3-vertex facet with single colour and normals given.

Prototype

void ns2vf3n(XYZ *P, XYZ *N, COLOUR col);

Description

Draw a 3-vertex facet with a single colour. The vertices are given by the array P, normals are specified in the array N, and the RGB colours is col.

See Also

ns2vf3 3-vertex facet with single colour and automatic normals.
ns2vf3c 3-vertex facet with coloured vertices and autmoatic normals.
ns2vf3nc 3-vertex facet with coloured vertices and normals given.
ns2vf3a 3-vertex facet with transparency
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 vertex[3];				/* 3 vertices */
   XYZ normal[3];				/* 3 vertices */
   COLOUR col = { 1.0, 1.0, 0.3 };		/* Yellowish */
   int i;

   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 */

   for (i=0;i<3;i++) {
      vertex[i].x = drand48()*2.0 - 1.0;	/* Random corners to facet */
      vertex[i].y = drand48()*2.0 - 1.0;
      vertex[i].z = drand48()*2.0 - 1.0;
      normal[i].x = drand48()*2.0 - 1.0;	/* Random normal for facet */
      normal[i].y = drand48()*2.0 - 1.0;
      normal[i].z = drand48()*2.0 - 1.0;
   }
   ns2vf3n(vertex, normal, col);			/* Draw 3-vertex facet */

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

Back to S2PLOT function list.


Personal tools