L liwenbin Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-04 #1 小弟最进有个课题要做,但有个问题把我堵住了。 有n(5-6)曲线(直线有些曲,且是朝一个方向),两两之间不相交, 求得直线的长度。最好有源码。先谢谢大侠了。
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-04 #2 到底是求直线还是曲线?曲线可以近似为直线? linelength:=sqrt(sqr(x1-x2)+sqr(y1-y2));
L liwenbin Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-04 #4 。 。 。 。 。 。 。。 。 。 。 。 。 。 。 。 。 。 。 如果曲线是这样的呢?请给我源码。
Y YoYoYo Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-06 #6 你的曲线有没有一个关于x,y的函数?? 如果都不知道曲线是怎么伸展的,最好的办法还是拿根绳子慢慢量吧!
老 老屯 Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-07 #7 哈哈,这么简单的问题都说不清楚,好笨 有点曲的还是直线么? 两两不相交是平行线或者是独立的线段.
L liwenbin Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-07 #8 各位大虾都说这个问题简单,请把源码和算法给我好吗?
黄 黄耀彰 Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-08 #11 只要你能画出线来当然应该有点座标(x1,y1)、(x2,y2)、... 算法思路: 那几(5)条线用两个二维数组x[1..5,1..2]、 y[1..5,1..2] 表示 一维表示第几条线 二维表示第几点(就是线段的点1,点2) ( x[3,1],y[3,1] ) 表示第三条线的点1 ( x[3,2],y[3,2] ) 表示第三条线的点2 ( x[N,2],y[N,2] ) 表示第N条线的点2 循环 case N of //N为第几条线,LineLenght[N]第几条线长(是一个数组) N: LineLenght[N]:=LineLenght[N]+ Sqrt(sqr(x[N,2]-x[N,1])+sqr(y[N,2]-y[N,1])); end;//end case x[N,1]:=x[N,2] ; //点2变点1 y[N,1]:=y[N,2] ; //点2变点1 下一点 循环结束 用数组能使代码简单化。试一试看吧!
只要你能画出线来当然应该有点座标(x1,y1)、(x2,y2)、... 算法思路: 那几(5)条线用两个二维数组x[1..5,1..2]、 y[1..5,1..2] 表示 一维表示第几条线 二维表示第几点(就是线段的点1,点2) ( x[3,1],y[3,1] ) 表示第三条线的点1 ( x[3,2],y[3,2] ) 表示第三条线的点2 ( x[N,2],y[N,2] ) 表示第N条线的点2 循环 case N of //N为第几条线,LineLenght[N]第几条线长(是一个数组) N: LineLenght[N]:=LineLenght[N]+ Sqrt(sqr(x[N,2]-x[N,1])+sqr(y[N,2]-y[N,1])); end;//end case x[N,1]:=x[N,2] ; //点2变点1 y[N,1]:=y[N,2] ; //点2变点1 下一点 循环结束 用数组能使代码简单化。试一试看吧!
C Chalaw Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-15 #15 问题的意思大概是这样的: 由于曲线互不相交,所以连接曲线的两个端点的直线 可以用来近似表达曲线,故所求长度应为该直线的长度, 而不是数点。