码迷,mamicode.com
首页 > 其他好文 > 详细

[Luogu4724][模板]三维凸包(增量构造法)

时间:2019-01-14 21:31:52      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:法向量   实现   family   二维   它的   形式   逆时针   平面   一个   

1.向量点积同二维,x1y1+x2y2+x3y3。向量叉积是行列式形式,(y1z2-z1y2,z1x2-x1z2,x1y2-y1x2)。

2.增量构造法:

  1)首先定义,一个平面由三个点唯一确定。一个平面是有方向的,它的法向量只有一个方向(即逆时针相邻两向量的叉积的方向)。

  2)初始时只有(p1,p2,p3)和(p3,p2,p1)两个平面(相当于两个方向相反的面组成了一个体积为0的凸包)

  3)每次加入一个新点时,以这个点为光源中心投影到凸包上,不能被照到的面在新凸包中仍然存在,否则不存在。

  4)将新点和明暗分界线上的边组成的面加入凸包。

3.具体实现:

  1)一个面是否能被照到的判断:点在这个面的正面,即平面上任意一点到这个点的向量与平面法向量的点积为正值。

  2)明暗分界线的判断:每次

[Luogu4724][模板]三维凸包(增量构造法)

标签:法向量   实现   family   二维   它的   形式   逆时针   平面   一个   

原文地址:https://www.cnblogs.com/HocRiser/p/10268901.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!