多边形内缩外扩问题。 急!!!谢谢

Jiajia_lin 2007-05-12 10:28:43
原地址:http://blog.csdn.net/happy__888/archive/2005/03/09/315762.aspx

折线平行线的计算方法
给定一个简单多边形,多边形按照顺时针或者逆时针的数许排列

内部等距离缩小或者外部放大的多边形,实际上是由距离一系列平行已知多边形的边,并且距离为L的线段所构成的。

外围的是原多边形,内侧是新的多边形

算法构造

多边形的相邻两条边,L1和L2,交于Pi点
做平行于L1和L2,平行线间距是L的,并且位于多边形内部的两条边,交于Qi
我们要计算出Qi的坐标

如图,(看不到就是了)

PiQi向量,显然是等于平行四边形的两个相邻边的向量v1和v2的和的

而v1和v2向量的方向,就是组成多边形的边的方向,可以用顶点差来表示

v1和v2向量的长度是相同的,等于平行线间距L与两个线段夹角的sin值的除法。

即: Qi = Pi + (v1 + v2)
Qi = Pi + L / sinθ * ( Normalize(v2) + Normalize(v1))
Sin θ = |v1 × v2 | /|v1|/|v2|
计算步骤:
⑴、获取多边形顶点数组PList;
⑵、计算DPList[Vi+1-Vi];
⑶、单位化NormalizeDPList,得到NDP[DPi];(用同一个数组存储)
⑷、Sinα = Dp(i+1) X DP(i);
⑸、Qi = Pi + d/sinα (NDPi+1-NDPi)
⑹、这样一次性可以把所有顶点计算完。
注意,交换Qi表达式当中NDPi+1-NDPi的顺序就可以得到外部多边形顶点数组。


原地址:http://blog.csdn.net/happy__888/archive/2005/03/09/315762.aspx

哪位仁兄可以帮我解释下上述各表达式的具体涵义。谢谢了。特别是对计算步骤的(2)(3)(4)不理解啊。急!!!!!
...全文
1270 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jiajia_lin 2007-05-14
  • 打赏
  • 举报
回复
linjz221@yahoo.com.cn

我的QQ是261980962
可否在你回邮里面给下你的Q号或者其他的联系方式啊。有些看不懂,因为比较急啊。呵呵!谢谢你了。
寻开心 2007-05-14
  • 打赏
  • 举报
回复
csdn那个传图不方便
给我留个email, 我给你发过去吧

4,499

社区成员

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

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