明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1550|回复: 0

[求助]已知一条闭合多义线如何求在其区域内的一点的坐标

[复制链接]
发表于 2005-3-28 12:43 | 显示全部楼层 |阅读模式
xiao_longxin [查找更多关于xiao_longxin的帖子] 初级会员


ID: No.224081
发贴数: 27

经验值: 93% 等级: 3 级

现金:34¥
存款:

积分: 0
注册日期: 2005.03.09
日均在线: 0.74 小时
来  自:
1楼楼主说:[求助]:已知一条闭合多义线如何求在其区域内的一点的坐标
已知一条闭合多义线(有可能是拟合过的,也可能包含有弧度),如何求在其区域内的一点的坐标,即只要求出的点的坐标在其区域内即可了。



向版主反映该贴 | IP: 已记录

2005年03月27日 12:47 xiao_longxin 离线引用回复 点这里给 xiao_longxin 发送一条悄悄话 查找 xiao_longxin 的更多帖子 编辑/删除 mkhsj927 [查找更多关于mkhsj927的帖子] 普通会员
var currface = "0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0"; if (currface =="") { currface = "0"; } var currwear = "400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400"; var showArray = currface.split('-'); var WearArray = currwear.split('-'); if (showArray[6] != '0') { showArray[8] = 0; showArray[9] = 0; } var s=""; for (var i=0; i<26; i++) { if (showArray != '0') { if ((showArray == 'init') || (showArray == 'initf')) { s+=""; } else { s+=""; } } } s+=""; if (currface=='0') { s=""; } Show2.innerHTML=s;
ID:57896 发贴数: 49 经验值: 82% 等级: 5 级积分: 0 现金:64¥ 存款: 注册日期: 2003.06.13
日均在线:
0.12 小时
来  自: 四川成都 2楼楼主说:
试试已知点偏移多义线,再比线的较长度



向版主反映该贴 | IP: 已记录


《-图图虫-》 2005年03月27日 17:16 mkhsj927 离线引用回复 点这里给 mkhsj927 发送一条悄悄话 查找 mkhsj927 的更多帖子 编辑/删除 xiao_longxin [查找更多关于xiao_longxin的帖子] 初级会员


ID: No.224081
发贴数: 27

经验值: 93% 等级: 3 级

现金:34¥
存款:

积分: 0
注册日期: 2005.03.09
日均在线: 0.74 小时
来  自:
3楼楼主说:
回复: 最初由 mkhsj927 发布
试试已知点偏移多义线,再比线的较长度

那么移的量是不是应该进行多次由小到大的偿试才能有满意的结果呢?



向版主反映该贴 | IP: 已记录

2005年03月27日 20:03 引用回复 点这里给 xiao_longxin 发送一条悄悄话 查找 xiao_longxin 的更多帖子 编辑/删除 mkhsj927 [查找更多关于mkhsj927的帖子] 普通会员
var currface = "0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0"; if (currface =="") { currface = "0"; } var currwear = "400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400"; var showArray = currface.split('-'); var WearArray = currwear.split('-'); if (showArray[6] != '0') { showArray[8] = 0; showArray[9] = 0; } var s=""; for (var i=0; i<26; i++) { if (showArray != '0') { if ((showArray == 'init') || (showArray == 'initf')) { s+=""; } else { s+=""; } } } s+=""; if (currface=='0') { s=""; } Show4.innerHTML=s;
ID:57896 发贴数: 49 经验值: 82% 等级: 5 级积分: 0 现金:64¥ 存款: 注册日期: 2003.06.13
日均在线:
0.12 小时
来  自: 四川成都 4楼楼主说:
怎么会呢?只偏移原多义线到指定点一次就行了

呵呵,也许我没看清你的意思,sorry!
你是要找一个在闭合多义线内的点???有必要吗?



向版主反映该贴 | IP: 已记录


《-图图虫-》 由 mkhsj927 于 2005年03月27日 20:27 最后编辑 2005年03月27日 20:24 引用回复 点这里给 mkhsj927 发送一条悄悄话 查找 mkhsj927 的更多帖子 编辑/删除 xiao_longxin [查找更多关于xiao_longxin的帖子] 初级会员


ID: No.224081
发贴数: 27

经验值: 93% 等级: 3 级

现金:34¥
存款:

积分: 0
注册日期: 2005.03.09
日均在线: 0.74 小时
来  自:
5楼楼主说:
回复: 最初由 mkhsj927 发布
怎么会呢?只偏移原多义线到指定点一次就行了

呵呵,也许我没看清你的意思,sorry!
你是要找一个在闭合多义线内的点???有必要吗?


当然有这个必要了,当你要在很多填充图案内随机编号并且注记在其中时就有用了。



向版主反映该贴 | IP: 已记录

2005年03月27日 22:23 xiao_longxin 离线引用回复 点这里给 xiao_longxin 发送一条悄悄话 查找 xiao_longxin 的更多帖子 编辑/删除 mkhsj927 [查找更多关于mkhsj927的帖子] 普通会员
var currface = "0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0"; if (currface =="") { currface = "0"; } var currwear = "400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400"; var showArray = currface.split('-'); var WearArray = currwear.split('-'); if (showArray[6] != '0') { showArray[8] = 0; showArray[9] = 0; } var s=""; for (var i=0; i<26; i++) { if (showArray != '0') { if ((showArray == 'init') || (showArray == 'initf')) { s+=""; } else { s+=""; } } } s+=""; if (currface=='0') { s=""; } Show6.innerHTML=s;
ID:57896 发贴数: 49 经验值: 82% 等级: 5 级积分: 0 现金:64¥ 存款: 注册日期: 2003.06.13
日均在线:
0.12 小时
来  自: 四川成都 6楼楼主说:
在没编号的话就应该寻找最适合的位置,呵呵,比较复杂了,暂时还没好办法



向版主反映该贴 | IP: 已记录


《-图图虫-》 2005年03月27日 22:49 mkhsj927 离线引用回复 点这里给 mkhsj927 发送一条悄悄话 查找 mkhsj927 的更多帖子 编辑/删除 狂刀 [查找更多关于狂刀的帖子] 高级会员


ID: No.194606
发贴数: 185

经验值: 65% 等级: 12 级

现金:174¥
存款:

积分: 2
注册日期: 2004.11.19
日均在线: 0.66 小时
来  自:
7楼楼主说:
思路,供参考:
曲线上任意一点(比如:firstpoint),沿法线及法线+PI 取两点(距离可取很小)
判断点是否在曲线内。



向版主反映该贴 | IP: 已记录

2005年03月28日 00:03 狂刀 离线引用回复 点这里给 狂刀 发送一条悄悄话 查找 狂刀 的更多帖子 编辑/删除 xiao_longxin [查找更多关于xiao_longxin的帖子] 初级会员


ID: No.224081
发贴数: 27

经验值: 93% 等级: 3 级

现金:34¥
存款:

积分: 0
注册日期: 2005.03.09
日均在线: 0.74 小时
来  自:
8楼楼主说:
我觉得还是2楼的想法比较现实些
1,先取到线上一点
2。做四种偿试:
  先过(X+0。001,Y),判断此点是否在线上(如果在线上刚把0.001变成0.002、003、004。。。。,直到点不在线上为止),过该点做平行线,比较两线的长度,不不满足则
  过(X-0。001,Y),判断此点是否在线上(如果在线上刚把0.001变成0.002、003、004。。。。,直到点不在线上为止),过该点做平行线,比较两线的长度,不不满足则
  过(X,Y+0。001),判断此点是否在线上(如果在线上刚把0.001变成0.002、003、004。。。。,直到点不在线上为止),过该点做平行线,比较两线的长度,不不满足则
  过(X,Y-0。001),判断此点是否在线上(如果在线上刚把0.001变成0.002、003、004。。。。,直到点不在线上为止),过该点做平行线,比较两线的长度
3。就是四种情况中是不是一定有一种可以满足呢?
4。其间有一个问题:因为选的线上的点为不可预知,如果刚好此点处在正南北朝向和正东西朝向时,则不管坐标加多少变量都会在线。

请各位大大讨论



"觉得好,就打赏"
还没有人打赏,支持一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-29 12:03 , Processed in 0.161589 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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