大侠请进来拿分(200分)

  • 主题发起人 liwenbin
  • 开始时间
L

liwenbin

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟最进有个课题要做,但有个问题把我堵住了。
有n(5-6)曲线(直线有些曲,且是朝一个方向),两两之间不相交,
求得直线的长度。最好有源码。先谢谢大侠了。
 
到底是求直线还是曲线?曲线可以近似为直线?

linelength:=sqrt(sqr(x1-x2)+sqr(y1-y2));
 
请给我源码
 
。 。
。 。
。 。
。。 。
。 。
。 。
。 。
。 。
。 。
如果曲线是这样的呢?请给我源码。
 
你的线是怎么画出来的?
 
你的曲线有没有一个关于x,y的函数??
如果都不知道曲线是怎么伸展的,最好的办法还是拿根绳子慢慢量吧!
 
哈哈,这么简单的问题都说不清楚,好笨

有点曲的还是直线么? 两两不相交是平行线或者是独立的线段.
 
各位大虾都说这个问题简单,请把源码和算法给我好吗?
 
整一个循环,累加没段线段的长度不就完了么
 
因为你没有说清楚你的问题,大家无所适从。
 
只要你能画出线来当然应该有点座标(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

下一点

循环结束

用数组能使代码简单化。试一试看吧!
 
数一下曲线的点数。
 
YOHOO!!!YES!!!
 
就是,数一下曲线有几点,再描几点,不就得了,哈哈!!
 
问题的意思大概是这样的:
由于曲线互不相交,所以连接曲线的两个端点的直线
可以用来近似表达曲线,故所求长度应为该直线的长度,
而不是数点。
 
接受答案了.
 

Similar threads

D
回复
0
查看
749
DelphiTeacher的专栏
D
D
回复
0
查看
691
DelphiTeacher的专栏
D
D
回复
0
查看
642
DelphiTeacher的专栏
D
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
975
SUNSTONE的Delphi笔记
S
顶部