AutoCAD lisp 如何判断点在面域
想编写一个用于求回转体体积的lisp程序,算法已经考虑好了,只是算法中涉及到,如何在lisp中判断一个点是否在面域里面,找了很多资料都没有结果,求高人指教。另外,创建面域...
想编写一个用于求回转体体积的lisp程序,算法已经考虑好了,只是算法中涉及到,如何在lisp中判断一个点是否在面域里面,找了很多资料都没有结果,求高人指教。另外,创建面域,除了用选取边线的方法来实现外,还有没有其他方法,比如,像“填充”(bhatch)里面的“拾取点”。
或者在VBA中有没有相关的方法 展开
或者在VBA中有没有相关的方法 展开
1个回答
展开全部
关于点是否在多边形内的判断,我也曾经困扰过一段。后来自己写了个算法解决了。比较笨的方法,不知道有没有更好的算法,你先参考吧。
我的方法是:根据多边形的各个顶点,可以求出出多边形的最大最小范围,然后在这个范围外任意选一个点,比如最小x、y各减100得到的点。用这个点和你的已知点就有了一条直线。用这个直线和多边形的每个边求交点,记录交点个数。交点个数是奇数时点在多边形内,偶数时(包括0),点在多边形外。
我的方法是:根据多边形的各个顶点,可以求出出多边形的最大最小范围,然后在这个范围外任意选一个点,比如最小x、y各减100得到的点。用这个点和你的已知点就有了一条直线。用这个直线和多边形的每个边求交点,记录交点个数。交点个数是奇数时点在多边形内,偶数时(包括0),点在多边形外。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询