已知道a跟b,求枚举a到b点的所有点.请哪位达人指点一下,谢谢! 多谢m2: 答案: k=(a.x-b.x)(a.y-b.y) y= xk 是初二还是初三的知识类? 我们是初二暑假学的三角函数, 还记得当时我们的数学老师的敦敦教诲, 以及他拿着三角尺敲人的模样, sin,cos,除了这二个名词 那些个三角函数怎么没半点印象了呢? 问题说复杂些: 这个b可能是坐标系中的任意一点: 枚举点时需要加些处理: 求出tg值: int tmpx=a.x-b.x; int tmpy=a.y-b.y; int k=tmpytmpx; if(k0)k=0-k; 枚举一个点: int x=100; int y=x*k; if(tmpx0)x=0-x; if(tmpy0)y=0-y; 问题再说复杂些: 如果这个b点是不变的,而这个a点在移动到b点时,可能发生偏移,这样的话就必须重新计算tg值 typedef str ct { float x; float y; }myps; myps a,b,c; float oldtg,newtg; float gettg { float tmpx=a.x-b.x; float tmpy=a.y-b.y; float k=tmpytmpx; ret rn (k0)?k:0-k; } myps en mps { float c.x=100.0; float c.y=c.x*newtg if((a.x-b.x)0) c.x=0-c.x if((a.y-b.y)0) c.y=0-c.y; ret rn c; } 测试有没有偏移: bool testtg { newtg=gettg; if(newtg==oldtg) ret rn 0; else oldtg=newtg; ret rn 1; } void main(void) { oldtg=gettg; en mps; while(tr e) { if(testtg) { en mps; } f n(c);