Guest User

Untitled

a guest
May 21st, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.24 KB | None | 0 0
  1. makehole[{{x0_, y0_}, {x1_, y1_}, {x2_, y2_}}] :=
  2.   With[
  3.    {
  4.     x3 = x0 + (x2 - x1),
  5.     y3 = y0,
  6.     pop = (x2 - x1)/3,
  7.     pob = (y0 - y1)/3,
  8.     xpom =
  9.      Sqrt[(Sqrt[(x0 - x1)^2 + (y0 - y1)^2]/3)^2 - ((y0 - y1)/3)^2]
  10.     },
  11.    {
  12.     {{x1 + xpom, y1 + pob}, {x1, y1}, {x1 + pop,
  13.       y1}, {x1 + pop + xpom, y1 + pob}},
  14.     {{x0 - xpom, y0 - pob}, {x1 + xpom, y1 + pob}, {x1 + pop + xpom,
  15.       y1 + pob}, {x0 + pop - xpom, y0 - pob}},
  16.     {{x0, y0}, {x0 - xpom, y0 - pob}, {x0 + pop - xpom,
  17.       y0 - pob}, {x0 + pop, y0}},
  18.     {{x1 + pop + xpom, y1 + pob}, {x1 + pop, y1}, {x2 - pop,
  19.       y2}, {x2 - pop + xpom, y2 + pob}},
  20.     {{x0 + pop, y0}, {x0 + pop - xpom, y0 - pob}, {x3 - pop - xpom,
  21.       y3 - pob}, {x3 - pop, y3}},
  22.     {{x2 - pop + xpom, y2 + pob}, {x2 - pop, y2}, {x2,
  23.       y2}, {x2 + xpom, y2 + pob}},
  24.     {{x3 - pop - xpom, y3 - pob}, {x2 - pop + xpom,
  25.       y2 + pob}, {x2 + xpom, y2 + pob}, {x3 - xpom, y3 - pob}},
  26.     {{x3 - pop, y3}, {x3 - pop - xpom, y3 - pob}, {x3 - xpom,
  27.       y3 - pob}, {x3, y3}}
  28.     }
  29.    ];
  30. Show[GraphicsGrid[
  31.   Partition[
  32.    Map[Graphics[#] &,
  33.     Apply[Polygon,
  34.      Rest@NestList[
  35.        Flatten[Map[makehole, #], 0] &, {{{2, 5}, {1, 2}, {5, 2}}},
  36.        3], {2}]], 1]]]
Add Comment
Please, Sign In to add comment