- 积分
- 15216
- 明经币
- 个
- 注册时间
- 2008-8-21
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2011-9-16 15:54:16
|
显示全部楼层
本帖最后由 690994 于 2011-9-16 16:05 编辑
yang198910204 发表于 2011-9-16 13:08
朋友,你这个程序不错,要是有源码就好了
我的代码很乱,只能说下我的思路,我用的是象highflybird 所说的几何方法,
算出新点位置和凸度,再更新实体.
通过顺逆时针方向和凸度判断是内凸还是外凸决定偏移方向,再根据相邻三段
形状判断进行各自的处理,比如三段是线线线或线弧线或线线弧等分开处理,
起点和终点段也要分开处理,不是闭合的多义线先闭合处理后再分开.
R角C角过大过小需作一定限制,不然有时无法进行实体更新。
现在想来,其实先将多义线转成统一的逆时针或顺时针,遇到起点和终点时
将多义线起点和终点偏移,再进行会少做判断少写代码。
当然,如果仅是一个C角和3个R角的镶件外形会相对简单得多。
|
|