几何知识-求任意多边形的面积。
2016-07-22 14:25
435 查看
已知n个点的坐标 p1(x1,y1), p2(x2,y2) ,p3(x3,y3) ......pn(xn,yn),原点坐标O (0,0)在任意三点不共线的情况下,有:
S(总) = (S(O,p1,p2,) + S(O,p2,p3) + S...... + S(O,pn-1,pn) + S(O,pn,p1))/ 2
其中S(a,b,c)为对应向量 ab ,ac所围成的平行四边形 有向面积,值S(a,b,c) = 向量ab X 向量 ac 。(X 为叉乘)
叉乘结果为平行四边形的面积,所以最后还要 /2 处理。
这里要特别注意一系列的点必须要按某一方向(顺时针 或 逆时针)连续给出,因为求的是 向量叉乘 结果,正负遵循右手定则。
理解的话,最好画图,就把所有点都与O点连接,组成n条向量OP1,OP2.....OPN,然后读者可以两两组合,求叉乘(注意正负),会发现累加和之后 (并且 /2) 的绝对值 就是 n边形的面积。(特别强大的结论,平时不怎么注意的叉乘现在突然感觉好方便啊!)
四边形 凹凸 的判断
三个点三个点组合,求出四个三角形的面积,s1,s2,s3,s4,
在s1为最大面积的情况下,如果 s1 = s2 + s3 + s4, 则有一点落在 最大面积的三角形 的内部或者边界处,即四边形是凹的,否则是凸的(把图形画出来很好理解,学几何就是要数形结合!)。
还有一种判断方法: 如果存在 s1 + s2 = s3 + s4 ,则四边形是 凸的,否则为凹的。
S(总) = (S(O,p1,p2,) + S(O,p2,p3) + S...... + S(O,pn-1,pn) + S(O,pn,p1))/ 2
其中S(a,b,c)为对应向量 ab ,ac所围成的平行四边形 有向面积,值S(a,b,c) = 向量ab X 向量 ac 。(X 为叉乘)
叉乘结果为平行四边形的面积,所以最后还要 /2 处理。
这里要特别注意一系列的点必须要按某一方向(顺时针 或 逆时针)连续给出,因为求的是 向量叉乘 结果,正负遵循右手定则。
理解的话,最好画图,就把所有点都与O点连接,组成n条向量OP1,OP2.....OPN,然后读者可以两两组合,求叉乘(注意正负),会发现累加和之后 (并且 /2) 的绝对值 就是 n边形的面积。(特别强大的结论,平时不怎么注意的叉乘现在突然感觉好方便啊!)
四边形 凹凸 的判断
三个点三个点组合,求出四个三角形的面积,s1,s2,s3,s4,
在s1为最大面积的情况下,如果 s1 = s2 + s3 + s4, 则有一点落在 最大面积的三角形 的内部或者边界处,即四边形是凹的,否则是凸的(把图形画出来很好理解,学几何就是要数形结合!)。
还有一种判断方法: 如果存在 s1 + s2 = s3 + s4 ,则四边形是 凸的,否则为凹的。
相关文章推荐
- [DP]poj 1050 To the Max
- 关于oracle客户端不能使用的解决办法
- 山东茶虫网络科技有限公司
- java 客户端链接不上redis解决方案
- finished with non-zero exit value 1
- Visual 2015创建新项,缺少ADO.NET 实体数据模型的解决方法
- 在 Tomcat 中配置 SSL/TLS 以支持 HTTPS
- Springmvc PropertyEditor实现绑定时的类型转换
- 读书笔记-现代操作系统-8多处理机系统-8.2多计算机
- Android性能优化总结
- 使用Gson将对象转换成字符串的时候报java.lang.StackOverflowError
- Android UI的一些常见属性总结注意点
- Android UI的一些常见属性总结注意点
- Android UI的一些常见属性总结注意点
- Android UI的一些常见属性总结注意点
- 利用socket实现通讯
- Android应用内部切换语言
- 搭建Apache+python+Flask环境
- Android Studio launch ddms error
- MyEclipse使用心得:集成和使用Maven的方法