|
高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】怎么样得到一个样条曲线和面的交点
怎么样得到一个样条曲线和面的交点
怎么样得到一个样条曲线和面的交点
最近在研究样条曲线和面的交点的问题,已经得到的是一个多段线和面的交点,我是用的这样的方法,由于intersectwith函数无法用于面和线相交,只能是面和面,或线和线,(已试验过多次)于是我采用这样的方法——
将需要求交的多段线沿一个圆心为该多段线起点的圆拉伸成实体,然后将欲与之相交的面(acgeplane)用getsection()方法得到一个相交面(面域),然后将这个面域炸开,得到其边界,这个边界自然是个圆,然后得到这个圆的圆心,应该就是交点了。
但是问题在于spline无法沿和多段线一样的方法拉伸,所以这样上面的方法就不行了。
所以又想,arx比c#多的功能在于可以得到放样实体 所以我以想要交点的spline为放样路径,以以两个端点为圆心的圆,得到一个放样实体,然后想像上面那样做,但是问题在于,边界不是一个圆,所以在使用pent=(acdbcircle*)ptr[0];pent->center();这样做时,导致圆心跑没了,得不到需要的圆心。所以问题一直没有解决。
我的目的是能得到任意知道z值的spline上任一点的坐标,(但是以后也需要任意线和面求交的方法),所以采取水平面截取的方法,如果有更通用的面和线求交的方法,还请各位大侠明示,不胜感激,在此多谢。
|