Graham 扫描法求凸包

题目 今天的力扣(LCUS)每日挑战是 587. 安装栅栏. 在一个二维的花园中,有一些用 $(x, y)$ 坐标表示的树.由于安装费用十分昂贵,你的任务是先用最短的绳子围起所有的树.只有当所有的树都被绳子包围时,花园才能围好栅栏.你需要找到正好位于栅栏边界上的树的坐标. 知识点 其实质是求若干点组成的二维 凸包(convex hull).常用的求法有 Graham 扫描法(Graham's scan)和 Andrew 算法,本文提供了一个由 Rust 实现的 Graha

截面的几何性质

静距和形心 定义 $S_z$ 表示截面到 $z$ 轴的静距, $y_C$ 表示形心的 $y$ 轴坐标. 静距的量纲为长度的 3 次方. 截面对某个轴线的静距是微元面积与其到该轴线距离的乘积的积分,即 $$ S_y=\int\limits_{A} z\mathrm d A $$ $$ S_z=\int\limits_{A} y\mathrm d A $$ 定理 由合力矩定理可得 $$ z_C=\dfrac{S_y}{A}, y_C=\dfrac{S_z}{A}. $$ 故我们有