求一段程序,用于获取多段线上的点
www.dimcax.com
求一段程序,用于获取多段线上的点
多段线由直线和圆弧组成,求一点到多段线最右则顶点的距离为一定值,该点有可能在直线上,也可能在弧线上。如何得到该点的坐标?
att
距离是该点到最右侧端点的多段线长度,呵呵
该怎么做呢?
这个问题很简单啊
以 右顶点为 圆心,以你要求的定长为半径画圆,园与多段线的交点 即 你要求的点呀
:
这个问题很简单啊
以 右顶点为 圆心,以你要求的定长为半径画圆,园与多段线的交点 即 你要求的点呀
应该是两个点中间的多段线长度为固定值,不是直线距离
有没有好的思路?
没看懂啦!
为何不用图示呢,在玩大家猜的游戏
比如说,多段线由一段直线和圆弧构成,三个顶点坐标已知,求多段线上一点p,p点与p0点之间的多段线长度为固定值(且已知),如何获取p点坐标?
p可能在直线段也可能在弧线段
为何不用图示呢,在玩大家猜的游戏
(vlax-curve-getpointatdist curve-obj dist)
范例:
我给你编了一个程序为pldian 你解压后为pldian.fas在命令下用(load"pldian.fas")加载在输入pldian回车,软件提示:
选择你要求的线:当你选择后,就生成了一个表,名为pp.你在命令下用!pp就能看到,你可用 (length pp) 求出共有多少
个点,用(nth n pp)求出中间的点,n为数第一个点的n为0 例

nth 0 pp)求出为(146.004 12.2466)
例图求出的pp为下:
((146.004 12.2466) (146.253 13.3384) (145.659 14.7174) (146.291 16.1539)
(145.064 16.7285) (144.7 16.0198) (143.263 16.288) (142.419 15.7517) (0.0 0.0
1.0) (144.125 11.8827) (146.004 12.2466) (146.253 13.3384) (145.659 14.7174)
(146.291 16.1539) (145.064 16.7285) (144.7 16.0198) (143.263 16.288) (142.419
15.7517) (0.0 0.0 1.0) (144.125 11.8827) (146.004 12.2466) (146.253 13.3384)
(145.659 14.7174) (146.291 16.1539) (145.064 16.7285) (144.7 16.0198) (143.263
16.288) (142.419 15.7517) (0.0 0.0 1.0) (144.125 11.8827) (146.004 12.2466)
(146.253 13.3384) (145.659 14.7174) (146.291 16.1539) (145.064 16.7285) (144.7
16.0198) (143.263 16.288) (142.419 15.7517) (0.0 0.0 1.0) (144.125 11.8827)
(146.004 12.2466) (146.253 13.3384) (145.659 14.7174) (146.291 16.1539)
(145.064 16.7285) (144.7 16.0198) (143.263 16.288) (142.419 15.7517) (0.0 0.0
1.0) (144.125 11.8827) (146.004 12.2466) (146.253 13.3384) (145.659 14.7174)
(146.291 16.1539) (145.064 16.7285) (144.7 16.0198) (143.263 16.288) (142.419
15.7517) (0.0 0.0 1.0) (144.125 11.8827) (146.004 12.2466) (146.253 13.3384)
(145.659 14.7174) (146.291 16.1539) (145.064 16.7285) (144.7 16.0198) (143.263
16.288) (142.419 15.7517))
gbg