计算几何
WinJourn
Stay hungry stay foolish
展开
-
计算几何基础
nyoj67求三角形面积向量乘积(叉积)的一半 = 三角形面积 ab *ac/2 nyoj68,叉积判断向量相对位置。ab x ac > 0 说明叉积判断直线相交。参考文章http://www.cnblogs.com/jbelial/archive/2011/08/04/2127487.htmlnyoj1016德莱联盟时间限制:1000 ms原创 2016-04-15 22:15:02 · 808 阅读 · 0 评论 -
UVALive3263(计算几何基础)
好看的一笔画依次按顺序给出一笔画所有顶点的坐标,求出平面中面的个数。根据欧拉定理 V + F - E = 2 (V 是点,F是面,E是边),我们求出点数和边数就可以了。通过判断线段相交,取得交点,然后经过去重处理得到所有的点。然后枚举所有的点,如果点在线段上(不包括端点),那么这个线段被点分成了两部分,也就是边+1;这样统计出来 边的个数, 点的个数 就求出面的个数了。原创 2016-08-09 15:05:04 · 573 阅读 · 0 评论 -
HDU2108(叉积判断凸多边形,凹多边形)
按照逆时针顺序,输入n个点,判断给出的图形是凸多边形,还是凹多边形。a x b = | a | * | b | * sin (ab)叉积的应用,观察两种多边形的特点可以看出,凹多边形因为有一部分凹进去,所以,相邻边的叉积会小于0,因为角度大于180度(图中顶点A)。所以根据输入顺序,遍历一遍,每次求出叉积判断一下就好了。注意是一个多边形,封闭区域,因此要遍历一圈。#原创 2016-08-10 10:17:32 · 3757 阅读 · 0 评论 -
POJ1106(叉积应用)
给出平面中的一些点,然后给你一个圆(给出圆心坐标,半径),问若将这个圆划分为半圆,最多能容纳多少点。(点在半圆边上也算)方法,预处理,将不再圆内的点排除。对于圆内的点,枚举向量(点到圆心)设为向量a,然后枚举其他的点与圆心的向量,设为向量b,如果 a b 的叉乘大于0,说明在这条线的左边,如果小于0则在右边。如果差乘等于0,说明既可以在左边,也可以在右边,然后取最大值即可。#i原创 2016-08-10 11:16:26 · 469 阅读 · 0 评论