测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6053. 「2017 山东一轮集训 Day2 / SDWC2018 Day1」Shadow

编程题 省选/NOI-
知识点

题目描述

在三维坐标中,给定一个点光源,一个凸多面体,以及一个平面作为地面。

求该凸多面体在地面上阴影的面积。

输入格式

前三行每行三个实数,每行表示一个点。这三个点共同确定了一个平面,这个平面就是地面。保证这三个点坐标互异且不共线。
接下来一行三个实数,表示一个点。这个点就是点光源。
之后一个整数 $ n $,表示凸多面体顶点的数量。
之后 $ n $ 行,每行三个实数,表示凸多面体的一个顶点。

输出格式

一个实数,表示阴影的面积。保留两位小数。

输入输出样例

输入 #1
0 0 0
0 1 0
1 0 0
0 0 2
8
0 0 1
0 1 1
1 0 1
1 1 1
0 0 0
0 1 0
1 0 0
1 1 0
输出 #1
4.00

说明/提示

对于 $ 30\% $ 的数据,地面是 $ \text{X-Y} $ 面($ \text{X} $ 轴和 $ \text{Y} $ 轴确定的平面);
对于 $ 100\% $ 的数据,$ n \leq 100 $,保证凸多边形和光源在地面的同一侧,面积不为零且不为无穷大。
上一题 去做题 下一题