H hubo8888 Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-07 #1 已知线段x1,y1,x2,y2的起始坐标及长度如1000,若将其等分为100段,求每段的起始坐标
M michael.ma Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-07 #2 a,b,c=1000 sinA= a/c cosA=b/c a1,b1, c1=10 第一段 a1=c1 * sin A b1=c1 * cos A
H hubo8888 Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-07 #3 我的问题x1,y1起点坐标x2,y2终点坐标,假如长度为1000,求等分后的相关坐标michael.ma的这种算法是否符合,请详解,谢谢!
Q QSmile Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-07 #4 太简单了. 用不了用什么 sin cos 的. 如果是我,我这样处理 var dx:double; dy:double; dx := (x2-x1) / 100; dy := (y2-y1) /100; 每段的 dx,dy 相加就可以了. 与 x1.y1 到 x2,y2 的长度1000 是无关的.
太简单了. 用不了用什么 sin cos 的. 如果是我,我这样处理 var dx:double; dy:double; dx := (x2-x1) / 100; dy := (y2-y1) /100; 每段的 dx,dy 相加就可以了. 与 x1.y1 到 x2,y2 的长度1000 是无关的.
Q QSmile Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-07 #5 补充. 因为第 n 个线段的终于,就是 第 n+1 个线段的起点. p(n+1).x := p.x + dx; p(n+1).y := p.y + dy;
Q QSmile Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-07 #6 就可以推导出 p.x := p0.x + n * dx; p.y := p0.y + n * dy; 这里 p0.x = x1; p0.y = y1;
A ahhlian Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-07 #8 同意QSmile的说法,其实很简单,别想复杂了,长度根本没用的。
W weiliu Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-25 #10 如果是直线的话,只接等分线段就可以了,这个是小学数学吧。
寻 寻路 Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-25 #11 function LinePoint(l1, l2, x1, x2, y1, y2: Integer): TPoint; begin Result.X := Round((l2 * (x2 - x1)) / l1 + x2); Result.Y := Round((l2 * (y2 - y1)) / l1 + y2); end;
function LinePoint(l1, l2, x1, x2, y1, y2: Integer): TPoint; begin Result.X := Round((l2 * (x2 - x1)) / l1 + x2); Result.Y := Round((l2 * (y2 - y1)) / l1 + y2); end;