明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2596|回复: 21

让四边形的每条边偏移不一样的值

[复制链接]
发表于 2015-1-30 20:54 | 显示全部楼层 |阅读模式
让所有四边形的左边偏移一个值,右边偏移另外一个值,上面偏移一个值,下面偏移一个值,这四个数字值不一样,做成通用函数。 能否用vba办到?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2015-1-30 22:15 | 显示全部楼层
能...............
 楼主| 发表于 2015-1-30 23:01 | 显示全部楼层
怎么做?  是简单的几何运算么?
发表于 2015-1-31 00:35 | 显示全部楼层
最好当然是几何运算了!速度快,无附产品!计算量相对比较大
另一种思路:
当然也可以模拟手绘图了,创建与原四边形一样的四条直线,各自偏移,求交点(4 个),绘制四边线,删除创建的直线和原四边形
 楼主| 发表于 2015-1-31 12:48 | 显示全部楼层
zzyong00 发表于 2015-1-31 00:35
最好当然是几何运算了!速度快,无附产品!计算量相对比较大
另一种思路:
当然也可以模拟手绘图了,创建 ...

这俩种方法我都想过,主要是每个四边形的起点位置和终点位置不一定一样(例如:第一个四边形的起点是左下角点,其它点按逆时针旋转;第二个四边形起点是右下角点,其它点按顺时针旋转。 导致让俩个四边形的第二条边分别偏移一定值,第一个四边形偏移的是最右边的线,第二个偏移的是最左边的线)
 楼主| 发表于 2015-1-31 12:51 | 显示全部楼层
zzyong00 发表于 2015-1-31 00:35
最好当然是几何运算了!速度快,无附产品!计算量相对比较大
另一种思路:
当然也可以模拟手绘图了,创建 ...

用几何运算好像也会有起点 终点问题的困扰

点评

归根结底是,还是算法问题。假定四边形四点分别为1,2,3,4;计算3点相对于12直线的位置关系(在直线左还是右),然后偏移12直线时,向3点相反的方向就可以了,以此类推!计算点在在直线左还是右,用向量叉积可得  发表于 2015-1-31 16:28
 楼主| 发表于 2015-1-31 23:09 | 显示全部楼层
charlesli8 发表于 2015-1-31 12:51
用几何运算好像也会有起点 终点问题的困扰

多谢指点,我试试
 楼主| 发表于 2015-2-1 00:13 | 显示全部楼层
charlesli8 发表于 2015-1-31 12:51
用几何运算好像也会有起点 终点问题的困扰

追问,(计算点在在直线左还是右,用向量叉积可得)如何做?  几何运算能否给段代码或者演示下计算过程。  我画出来想了半天没想明白!谢谢你了!

点评

向量叉积符合右手定则,第二个向量相对于第一个向量向左转为正,反之为负,由于可以判断点在直线左还是右  发表于 2015-2-1 13:27
发表于 2015-2-1 13:22 | 显示全部楼层
charlesli8 发表于 2015-2-1 00:13
追问,(计算点在在直线左还是右,用向量叉积可得)如何做?  几何运算能否给段代码或者演示下计算过程。 ...

你看一下我的另一个帖子里关于点集凸包和最小外接矩形的代码,就明白了!
http://bbs.mjtd.com/thread-111783-4-1.html
 楼主| 发表于 2015-2-1 21:12 | 显示全部楼层
zzyong00 发表于 2015-2-1 13:22
你看一下我的另一个帖子里关于点集凸包和最小外接矩形的代码,就明白了!
http://bbs.mjtd.com/thread-1 ...

你说的是主代码吧?

点评

当然..........  发表于 2015-2-1 21:48
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-2 19:56 , Processed in 0.359697 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表