查看单个帖子
旧 2009-04-21, 10:12 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】如何得到空间样条曲线的等分点?

如何得到空间样条曲线的等分点?
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)中形参的含义是什么?
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)