![]() |
【转帖】如何得到空间样条曲线的等分点?
如何得到空间样条曲线的等分点?
www.dimcax.com 如何得到空间样条曲线的等分点? 对于一个任意的样条曲线,想得到其长度,并得到对其进行一定量的等分后得到的点集,不知用.net如何实现? 偶目前思路不是很清楚,感觉很简单的事情,查了spline类,没找到解决办法,请高人指点。谢谢 样条曲线的长度,请使用spline类getdistatpoint,其中的参数请使用spline的endpoint。一定量的等分后得到的点集,请使用spline类getsplitcurves,其中的点参数,请使用spline类getpointatdist c#最适合开发autocad,因为它拥有vb容易的特点,却具有vc++的强大功能。 已经解决谢谢版主大人:) 原帖由 lemonlee 于 已经解决谢谢版主大人:) 能否发上来学习一下? 我对polyline实现了 polyline polyent;//先得到这条polyline int n=10;//等分数 double polylinelength = polyent.length; point3d[] pts = new point3d[n]; for (int k = 0; k < n; k++) { //等分线段,相当于divide pts[k] = polyent.getpointatdist(polylinelength * k / (n- 1)); } 如何得到闭合样条曲线的长度? 上述方法不适用于闭合的样条曲线,样条曲线没有length属性,用spline类的getdistatpoint(spline.endpoint)得到的长度为0,因为endpoint和起点的坐标是相同的,请问如何得到闭合样条曲线的长度? 期待高手关注一下。 原帖由 gyl 于 上述方法不适用于闭合的样条曲线,样条曲线没有length属性,用spline类的getdistatpoint(spline.endpoint)得到的长度为0,因为endpoint和起点的坐标是相同的,请问如何得到闭合样条曲线的长度? double endparam = cur.endparam; // cur是曲线 double dis = cur.getdistanceatparameter(endparam); ed.writemessage("\n曲线长度: " + dis.tostring()); 复制代码 谢谢版主。还想问一下,getdistanceatparameter(param)中形参的含义是什么? |
| 所有的时间均为北京时间。 现在的时间是 09:15 PM. |