Chris_M_Thomasson

Triangle Iterate

Jul 15th, 2021
1,327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. void triangle_iterate(
  2.     ct::plot::cairo::plot_2d& plot,
  3.     unsigned long ri,
  4.     unsigned long rn,
  5.     glm::vec2 p0,
  6.     glm::vec2 p1,
  7.     glm::vec2 p2
  8. ) {
  9.     if (ri >= rn) return;
  10.  
  11.  
  12.     plot.line(p0, p1, CT_RGBF(1, 1, 1), 4.f);
  13.     plot.line(p1, p2, CT_RGBF(1, 1, 1), 4.f);
  14.     plot.line(p2, p0, CT_RGBF(1, 1, 1), 4.f);
  15.  
  16.     glm::vec2 dif_p0 = p1 - p0;
  17.     glm::vec2 dif_p1 = p2 - p1;
  18.     glm::vec2 dif_p2 = p2 - p0;
  19.  
  20.     float scale = .5f;
  21.  
  22.     glm::vec2 mid_p0 = p0 + dif_p0 * scale;
  23.     glm::vec2 mid_p1 = p1 + dif_p1 * scale;
  24.     glm::vec2 mid_p2 = p2 - dif_p2 * scale;
  25.  
  26.     triangle_iterate(plot, ri + 1, rn, p0, mid_p0, mid_p2);
  27.     triangle_iterate(plot, ri + 1, rn, mid_p0, p1, mid_p1);
  28. }
Advertisement
Add Comment
Please, Sign In to add comment