Beispiel #1
0
/* calculates a set of node tangents */
void calc_tangents(void)
{
   int i;

   nodes[0] = dummy_node(nodes[1], nodes[2]);
   nodes[node_count] = dummy_node(nodes[node_count-1], nodes[node_count-2]);
   node_count++;

   for (i=1; i<node_count-1; i++)
      nodes[i].tangent = fixatan2(itofix(nodes[i+1].y - nodes[i-1].y),
				  itofix(nodes[i+1].x - nodes[i-1].x));
}
/* calculates a set of curve_node tangents */
void curve_calc_tangents(void)
{

    //pas touche prepa tangentes OK pour sens en avant
    int i;

    curve_nodes[0] = dummy_curve_node(curve_nodes[1], curve_nodes[2]);
    curve_nodes[curve_node_count] = dummy_curve_node(curve_nodes[curve_node_count-1], curve_nodes[curve_node_count-2]);

    curve_node_count++;

    for (i=1; i<curve_node_count-1; i++)
        curve_nodes[i].tangent = fixatan2(itofix(curve_nodes[i+1].y - curve_nodes[i-1].y),
                                          itofix(curve_nodes[i+1].x - curve_nodes[i-1].x));



}
/* calculates a set of node tangents */
void calc_tangents(void)
{

     //pas touche prepa tangentes OK pour sens en avant
   int i;

   nodes[0] = dummy_node(nodes[node_count+1], nodes[node_count]);//node et previous
   nodes[node_count+1] = dummy_node(nodes[node_count], nodes[0]);

   node_count++;

  for (i=1; i<node_count-1; i++)
      nodes[i].tangent = fixatan2(itofix(nodes[i+1].y - nodes[i-1].y),
				  itofix(nodes[i+1].x - nodes[i-1].x));



}