求三角形和凸多边形相交形成的多边形,急!

taizifengekin 2003-08-19 05:40:41
现在要求一个三角形和一个凸多边形相交所形成的多边形面积,怎样求得三角形与凸多边形相交的点集,得到多边形的点后面积都好求?
...全文
76 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻开心 2003-08-20
  • 打赏
  • 举报
回复
还有一种办法,利用凸多边形被直线分隔后依然是凸多边形的特性
用三角形的三个边所在的直线分隔凸多边形,注意分隔开后,那一半是要保存的,那一半是要抛出的要分清,其实就是在直线的左还是右的问题。

HUNTON 2003-08-20
  • 打赏
  • 举报
回复
已知一条线段的两个端点为A(x1,y1),B(x2,y2),另一条线段的两个端点为C(x3,y3),D(x4,y4),要判断AB与CD是否有交点,若有求出.
首先判断d = (y2-y1)(x4-x3)-(y4-y3)(x2-x1),
若d=0,则直线AB与CD平行或重合,
若d!=0,则直线AB与CD有交点,且交点(x0,y0)为:
x0 = [(x2-x1)*(x4-x3)*(y3-y1)+(y2-y1)*(x4-x3)*x1-(y4-y3)*(x2-x1)*x3]/d
x0 = [(y2-y1)*(y4-y3)*(x3-x1)+(x2-x1)*(y4-y3)*y1-(x4-x3)*(y2-y1)*y3]/(-d)
求出交点后在判断交点是否在线段上,即判断以下的式子:
(x0-x1)*(x0-x2)<=0
(x0-x3)*(x0-x4)<=0
(y0-y1)*(y0-y2)<=0
(y0-y3)*(y0-y4)<=0
只有上面的四个式子都成立才可判定(x0,y0)是线段AB与CD的交点,否则两线段无交点
grail0922 2003-08-20
  • 打赏
  • 举报
回复
写信到pyyok@163.net
我提供程序给你
taizifengekin 2003-08-19
  • 打赏
  • 举报
回复
我挺急的,100分不够,我再给!

taizifengekin 2003-08-19
  • 打赏
  • 举报
回复
使用三角形的三个边,分别和凸多边形进行相交计算,把交点计算出来,然后连线就得到了。

这个说的很有道理的,下面那个我就不太懂了。请问怎样求直线与凸多边形的交点!我数学不太好!
寻开心 2003-08-19
  • 打赏
  • 举报
回复
具体的算就是先实现一个点是否在多边形内部的算法,这个很简单,以前有很多帖子了。

然后计算三角形的各个边和多边形的交点,这些交点把三角形的边分成了几个线段(最多三个),然后判别线段中点是否在多边形内部,如果在则保留这个子线段,连接子线段的端点就可以得到相交的部分了。
寻开心 2003-08-19
  • 打赏
  • 举报
回复
简单的说:使用三角形的三个边,分别和凸多边形进行相交计算,把交点计算出来,然后连线就得到了。
HUNTON 2003-08-19
  • 打赏
  • 举报
回复
用判定两点在直线的同侧或异侧的方法,先判定是否有交点

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧