Day 9: Movie Theater

Megathread guidelines

  • Keep top level comments as only solutions, if you want to say something other than a solution put it in a new post. (replies to comments can be whatever)
  • You can send code in code blocks by using three backticks, the code, and then three backticks or use something such as https://topaz.github.io/paste/ if you prefer sending it through a URL

FAQ

  • sjmulder@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 days ago

    My initial attempt on even-odd got me in trouble with the outline, as given, being 1 unit wide, not zero-width. I had to compute normals to find out outline around the tiles. You write “on the line -> outside” but don’t many legal rectangle candidates sit on the edge?

    • addie@feddit.uk
      link
      fedilink
      arrow-up
      2
      ·
      3 days ago

      On the line -> inside. The calculation I’ve done is a bit tricksy - vertical lines include the endpoints but horizontal lines exclude them, so that the even-odd rule is followed properly if you’re on the same row as corners. No lines overlap.

      I’d considered using the dot product to work out whether the line turned left or right, but there’s a lot of cases to consider and get right. Fair play on computing the normals.

      • sjmulder@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 days ago

        How would you then distinguish between the situations in these two examples?

           ...#x
        -> .###x
           .#xxx
        
           .....
        -> .###.
           .#x#.