明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3186|回复: 10

[讨论] 求助:已知由line线所围内一点,如何用lisp获取四个顶点坐标?

  [复制链接]
发表于 2011-4-19 12:24 | 显示全部楼层 |阅读模式
1、已知由line线所围内一点,除用boundary外如何用lisp获取四个顶点坐标?换言之,boundary是用什么方式获得它周围的交点的呢?
2、更难的是,当这个line组成的框只有一部分在可视范围内,而不用zoom如何获取四个顶点坐标呢?

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2011-4-19 12:28 | 显示全部楼层
可以用象限计算出四个顶点的坐标,这样还可以知道每个顶点在那个方位角
发表于 2011-4-19 12:56 | 显示全部楼层
(bpoly pt)
发表于 2011-4-19 13:07 | 显示全部楼层
本帖最后由 qjchen 于 2011-4-19 13:09 编辑

这确实是一个很有趣的问题
在计算几何中,属于点的定位问题
可以参考此处
http://www.verycd.com/topics/2830042/
《计算几何--算法与应用》( Computational Geometry:Algorithms and Applications )((荷)Mark de Berg, Marc van Kreveld等)(这是一本非常非常好的计算几何的书,我是买了实体书收藏的)
其中的第6章 点的定位问题,书上讲的只是line的做法,autocad中的更复杂些,还包括了弧、多线等。

Gu_xl版主编过区域查找的程序,楼主可以参考。

假如针对横平竖直的情况,可以大概用下如下的方法
以前也编过一个区域定位的问题,如下图显示,当时的算法我采用的是,先选择所有的直线,构建一个表保存之,然后,对于任何一点,采用射线法,用0度和90度线进行扫描,找出最接近点的几条线段,这个过程虽然需要历遍,但进行了数据过滤之后,其实也很快的(因为我当时考虑的只是正交直线,和楼主的图是差不多的,假如要考虑更多斜线的话,还需要再旋转角度进行细分,因为n条直线可以把空间分割为多少个区域,本来就是一个很难的问题)



本帖子中包含更多资源

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

x
发表于 2011-4-19 13:32 | 显示全部楼层
回复 qjchen 的帖子

领导我也是做结构的,可否将程序发给我,x_s_s_1@163.com
 楼主| 发表于 2011-4-19 20:45 | 显示全部楼层
回复 xyp1964 的帖子

bpoly的作用好象同boundary差不多
 楼主| 发表于 2011-4-19 20:58 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2011-4-19 20:59 编辑

回复 qjchen 的帖子

感谢你的指导,同时感谢版主xyp1964和236004.
查得(区域查找)是版主highflybir发表过的。Gu_xl发表的东西常常有时间随机控制器。
发表于 2011-4-19 23:28 | 显示全部楼层
  1. (defun c:tt ()
  2.   (while (setq p1 (getpoint "\n基点<退出>: "))
  3.     (setq s1 (entlast))
  4.     (bpoly p1)
  5.     (setq s2 (entlast))
  6.     (if (not (equal s1 s2))
  7.       (progn
  8. (foreach pt (xyp-get-Vertexs s2 0)
  9.    (command "line" p1 pt "")
  10. )
  11. (command "erase" s2 "")
  12.       )
  13.     )
  14.   )
  15.   (princ)
  16. )


本帖子中包含更多资源

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

x
发表于 2011-4-20 08:40 | 显示全部楼层
这个问题有个考量
现只知这个点 + 是在一个可形成封闭的围域内

然形成 封闭围域框只有一部分在可视范围内
(bpoly (getpoint))==>Boundary is not closed

而不用zoom如何获取四个顶点坐标呢?

若己知框的最大单位值还好办些
要不然 (Ssget "X") 图元资料量大时耗时可观
实务上给自己编程时会去考量效率的问题
在编程与作图之间取得一个平衡
作图时守着一些规范,在编程时少伤点脑筋......

 楼主| 发表于 2011-4-20 18:39 | 显示全部楼层
回复 qjchen 的帖子

你的演示图中,我看到你对于框的部分不在可视范围内,也成功处理?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-14 00:05 , Processed in 0.151286 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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