Beispiel #1
0
int		main(int argc, char **argv)
{
  static t_list	*mapile = NULL;
  static t_list	*stack2 = NULL;
  static t_list	*lc = NULL;
  t_var	var;

  var.i = 1;
  while (argv[var.i])
    {
      my_push(&mapile, my_getnbr(argv[var.i]));
      var.i = var.i + 1;
    }
  my_reverse_doc(&mapile);
  while (my_is_empty(mapile) != -1)
    {
      var.len = my_length(mapile);
      var.nb = my_min_doc(mapile, stack2, &var.pos);
      while (var.pos != 0)
	{
	  my_rotate(&mapile);
	  my_var_ini(&var.i, &var.pos, 1, mapile);
	}
      my_delete_first(&mapile, &stack2);
      my_var_ini(&var.i, &var.pos, 2, mapile);
    }
  my_putchar('\n');
}
Beispiel #2
0
double get_tolerance2(int ProNum) {
    double res, perimeter = 0, area = 0;
    int i;
    Point O; O.x = O.y = 0;
    for (i = 0; i < poly_point_number_th[ProNum]; i++) {
        Point a = temp_list_th[ProNum][i];
        Point b = temp_list_th[ProNum][(i + 1) % poly_point_number_th[ProNum]];
        perimeter += my_length(a, b);
        area += my_cross(O, a, b);
    }
    area = fabs(area);
    res = area / perimeter * alpha;
    //printf("%d %lf %lf, %lf\n", poly_point_number, area, perimeter, res);
	return res * 2.0;
    //return 0;
}