初中生问题:求任意凸多边形的交叉面积
来源:互联网 发布:无限流量的软件 编辑:程序博客网 时间:2024/04/28 03:28
一个初中生问题:求任意凸多边形的交叉面积
类似的几种情况:
第一种0:两个多边形无交叉,没有相交多边形,且一方在另一方没有内点,相交面积为0。
第二种1:两个多边形无交叉,且一方在另一方有内点。称之为包含。
第三种2:两个多边形有交叉,有相交多边形,且一方在另一方有内点。
第四种3:两个多边形有交叉,有相交多边形,且两方在另一方有内点。
第五种4:两个多边形有交叉,有相交多边形,且无内点。
第六种5:奇异情况,重合。
总结:可以看出,多边形相交的面积,即是 所有交点和内点组成的多边形连成的面积。
问题:是不是遗漏了其他情况?
算法描述:
1. 判断两个多边形是否相交
1.1 遍历一个多边形的所有边,判断是否与另一个多边形相交
1.2 找出所有的交点
2.判断一个多边形在另一多边形内是否有内点
2.1 遍历一个多边形的所有点,判断是否为另一个多边形内点
2.2
3. 根据内点情况和交叉点情况,判断相交情况
3.1 收集所有内点和交点,
3.2 计算质心,计算点到质心的角度
3.3 根据角度排序,连成凸多边形
3.4 从一点开始,划分多个三角形
3.5 计算多个三角形的面积,累加:
三角形面积计算公式:
double p = (a + b + c) / 2;double s2 = p * (p - a) * (p - b) * (p - c);4.返回面积累加和
阅读全文
0 0
- 初中生问题:求任意凸多边形的交叉面积
- 叉乘法求凸多边形的面积
- 求任意多边形的面积
- 求任意多边形的面积
- 凸多边形求周长和面积
- 1299 凸多边形的面积
- 求任意多边形的面积--差称法
- hdoj2036(矢量求任意多边形的面积)
- 几何知识-求任意多边形的面积。
- c++如何求任意多边形的面积
- 2056--求两矩形的交叉面积
- 叉乘法求三角形的面积及任意多边形面积
- 过凸多边形重心的任意直线能将图形面积等分?
- 求任意多边形面积-有向面积
- [bsoj1140] 两个凸多边形交的面积
- C语言求任意四边形面积和其关联的三角形面积的关系
- 任意多边形的面积
- 任意多边形的面积
- Android 进阶之简述 JVM 基础(一):走进Java
- jquery,select标签常用
- GCC常用参数详解
- Android app native代码性能分析
- Shader编程学习笔记(一)—— 图形硬件简史与可编程管线【转】
- 初中生问题:求任意凸多边形的交叉面积
- centos7删除自带的openjdk
- HTML常用标记
- DataBinding ObseravbleField实体类如何序列化对象
- hadoop安装记录
- opencv 12 OCR 短词识别(cropped_word_recognition) vs2015
- spring boot微信点餐系统
- 关于Toast
- 关于Listview中所有CheckBox的显隐控制