请教高手一个问题!!!!!!

cv0205mnk 2013-01-06 02:22:28
二维坐标中 已知任意两点坐标(x1,y1),(x2,y2),如何求出这两点连线上所有点的坐标(四舍五入取整数)
...全文
188 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightyq 2013-01-06
  • 打赏
  • 举报
回复
也不用多麻烦 由两点算出两直角边的比值,也就是正切值. 然后,从x1到x2依次取出之前所有整数,顺便乘以这个正切值算取每一个x对应的y值并四舍五入.这样就有N个坐标值了; 同理,从y1到y2由上面的方面算出所有点的坐标值. 将这些坐标值放到set中去掉重复的就可以了. 速度也不慢
abc41106 2013-01-06
  • 打赏
  • 举报
回复
引用 8 楼 cv0205mnk 的回复:
能具体说说吗
(y1-y2)/(x1-x2)得到斜率k k>1或k<-1说明这条线更接近y轴,那就遍历y1到y2之间的y,求x -1<k<1说明更接近x轴,就遍历x1到x2之间的x,求y。 这样不就能取到尽可能多得点了么。
chenlonglong1024 2013-01-06
  • 打赏
  • 举报
回复
分2种方式考虑 1.x1==x2||y1==y2(是否为垂直 或者水平) 2.就是斜线 勾股定理
cv0205mnk 2013-01-06
  • 打赏
  • 举报
回复
能具体说说吗
abc41106 2013-01-06
  • 打赏
  • 举报
回复
引用 6 楼 cv0205mnk 的回复:
没有这么简单吧,比如一条比竖向垂直稍微斜一点的线(X轴方向移动的很少,Y轴方向移动的很多),如果这样按X轴方向每次取一个,那么这样采集的点 Y轴之间的间隔就会很大,所以还要考虑一个采点率最多的一个算法,点越密越好
那就看斜率范围啊,更接近哪个轴,就以哪个轴作为采点依据。
cv0205mnk 2013-01-06
  • 打赏
  • 举报
回复
没有这么简单吧,比如一条比竖向垂直稍微斜一点的线(X轴方向移动的很少,Y轴方向移动的很多),如果这样按X轴方向每次取一个,那么这样采集的点 Y轴之间的间隔就会很大,所以还要考虑一个采点率最多的一个算法,点越密越好
流星陨落 2013-01-06
  • 打赏
  • 举报
回复
小猴168 2013-01-06
  • 打赏
  • 举报
回复
求出这两点连线的斜率,然后根据x坐标求出y坐标。
abc41106 2013-01-06
  • 打赏
  • 举报
回复
y=(y1-y2)*x/(x1-x2) 保证x1!=x2 针对x1和x2之间的整数x,求y。 当然也可以反过来。就看你希望那个坐标准一点
cv0205mnk 2013-01-06
  • 打赏
  • 举报
回复
求高效率的算法
为啥呢 2013-01-06
  • 打赏
  • 举报
回复
貌似只需要求x1-x2区间的所有整数和y1-y2区间的所有整数,然后将结果按顺序配对为坐标就可以了

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧