Function:ns2vf3na

From S2PLOT

Revision as of 03:35, 29 August 2011; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

ns2vf3nc

3-vertex facet with coloured vertices and normals given.

Prototype

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

Description

The most general function for drawing a 3-vertex facet with coloured vertices. The vertices are given by the array P, normals are in the array N, and the RGB colours for vertices are in col. The other 3-vertex functions call this function.

See Also

ns2vf3 3-vertex facet with single colour and automatic normals.
ns2vf3n 3-vertex facet with single colour and normals given.
ns2vf3c 3-vertex facet with coloured vertices and autmoatic normals.
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[3];                               /* 3 vertices */
   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;
      col[i].r = drand48();                     /* Random colour for vertex */
      col[i].g = drand48();
      col[i].b = drand48();
   }
   ns2vf3nc(vertex, normal, col);

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

   return 1;
}

Back to S2PLOT function list.


Personal tools