From 69092b34184241c611e33c111c0e50899a36db3b Mon Sep 17 00:00:00 2001 From: Renge Date: Tue, 20 Sep 2022 15:58:09 -0400 Subject: [PATCH] add: extra explanation in hw2 --- HW2/HW2.html | 10 +++++++ HW2/HW2.md | 7 +++++ HW2/HW2.pdf | Bin 170504 -> 170652 bytes HW2/hw2-quickhull.ipe | 42 ++++++++++++++++++++++++++- HW2/hw2-quickhull.ipe.autosave.ipe | 44 +++++++++++++++++++++++++++-- 5 files changed, 100 insertions(+), 3 deletions(-) diff --git a/HW2/HW2.html b/HW2/HW2.html index 8236202..70001ac 100644 --- a/HW2/HW2.html +++ b/HW2/HW2.html @@ -987,6 +987,16 @@ hue-6-2: #e6c07b
  • QuickHull(p5 , p3 , {p6 , p7, p1})
  • QuickHull(p7 , p3 , {p1})
  • +

    recursion stack:

    +
    + +
    1. diff --git a/HW2/HW2.md b/HW2/HW2.md index f7ed383..0ae1dd3 100644 --- a/HW2/HW2.md +++ b/HW2/HW2.md @@ -63,6 +63,13 @@ - QuickHull(p11 , p5 , {p10}) - QuickHull(p5 , p3 , {p6 , p7, p1}) - QuickHull(p7 , p3 , {p1}) + + recursion stack: + > - QuickHull(p9 , p3 , {p0 , p1, p2 , p4, p5 , p6, p7 , p8, p10 , p 11, p12 }) + > - QuickHull((QuickHull(p9 , p5 , {p4 , p11, p8 , p10}), 5, QuickHull(p5 , p3 , {p6 , p7, p1})) + > - QuickHull(QuickHull(p9 , p11 , {p4}), 11, QuickHull(p11 , p5 , {p10}), 5, 7, QuickHull(p7 , p3 , {p1}))) + > - QuickHull(QuickHull(p9 , p4 , {}}), 4, QuickHull(p4 , p11 , {}}), 11, QuickHull(p11 , p10 , {}), 10, QuickHull(p10 , p5 , {}), 5, 7, QuickHull(p7 , p1 , {}), 1, QuickHull(p1 , p3 , {}))) + > - QuickHull(4, 11, 10, 5, 7, 1) - 2. - 1. Correct, this is basically the same as Graham scan. - 2. Wrong, counter example, c is the smallest angle but c is not a part of convex hull. diff --git a/HW2/HW2.pdf b/HW2/HW2.pdf index b88c57f9d4d088947e747e3446eba4a75d2ba5e8..99efe2d064d718ef23d23584a56c79a67e29e35b 100644 GIT binary patch delta 20985 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≪W^0S@279=O3%^n$NuLm5YKD5N6%_Y7(du72D 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 - + @@ -301,5 +301,45 @@ h 144 720 l D + +80 400 m +496 464 l + + +80 400 m +276 536 l + + +276 536 m +496 464 l + + +80 400 m +140 476 l +276 536 l + + +80 400 m +100 436 l +140 476 l + + +140 476 m +212 520 l +276 536 l + + +276 536 m +352 536 l + + +352 536 m +496 464 l + + +352 536 m +468 492 l +496 464 l + diff --git a/HW2/hw2-quickhull.ipe.autosave.ipe b/HW2/hw2-quickhull.ipe.autosave.ipe index 615aad0..3c37e49 100644 --- a/HW2/hw2-quickhull.ipe.autosave.ipe +++ b/HW2/hw2-quickhull.ipe.autosave.ipe @@ -1,7 +1,7 @@ - - + + @@ -301,5 +301,45 @@ h 144 720 l D + +80 400 m +496 464 l + + +80 400 m +276 536 l + + +276 536 m +496 464 l + + +80 400 m +140 476 l +276 536 l + + +80 400 m +100 436 l +140 476 l + + +140 476 m +212 520 l +276 536 l + + +276 536 m +352 536 l + + +352 536 m +496 464 l + + +352 536 m +468 492 l +496 464 l +