1 条题解
-
0
题意
给一个地面(平面)、一个点光源、一个凸多面体,求凸多面体在地面上的投影面积。
核心思路
-
投影方法
从点光源向凸多面体的每个顶点引射线,与地面相交,这些交点的凸包就是阴影区域。 -
求射线与地面的交点
设光源为 ,多面体顶点为 ,射线 与地面相交。
地面由三点 确定,平面方程可求出:
,平面方程 。
将射线代入: [ \vec{n} \cdot (P + t(A - P) - Q_1) = 0 ] 解得 [ t = \frac{\vec{n} \cdot (Q_1 - P)}{\vec{n} \cdot (A - P)} ] 交点 。 -
特殊情况
如果 ,说明射线与地面平行(无交点或无穷远),但题目保证面积有限且不为零,所以可忽略无穷情况。 -
求阴影面积
将所有交点求二维凸包(在地面坐标系下),然后计算凸包面积。
步骤
- 读入地面三点 ,计算法向量 。
- 读入光源 。
- 读入 个顶点 。
- 对每个 ,计算 $t = \frac{\vec{n} \cdot (Q_1 - P)}{\vec{n} \cdot (A_i - P)}$,得到交点 。
- 将 投影到地面坐标系(可选步骤,也可直接用三维凸包在平面上的投影计算面积)。
- 对投影点集求二维凸包,计算凸包面积。
- 输出面积,保留两位小数。
注意
- 由于是凸多面体,其投影也是凸多边形。
- 地面由任意三点确定,需要建立局部坐标系来求二维凸包。
-
- 1
信息
- ID
- 3363
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者