得到直线的坐标算法
博客专区 > lssaint 的博客 > 博客详情
得到直线的坐标算法
lssaint 发表于3年前
得到直线的坐标算法
  • 发表于 3年前
  • 阅读 10
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

void GetPts(POINT OA,POINT OB,std::list<POINT> &pts)

{

int L=abs(OA.x-OB.x);

int W=abs(OA.y-OB.y);


if(W==0&&L!=0){

for(int i=1;i<L;i++)

{

POINT pt;

if(OA.x<OB.x)

{

  pt.x=i+OA.x;

}else

{

  pt.x=OA.x-i;

}

pt.y=OA.y;

pts.push_back(pt);

}

return;

}

if(W!=0&&L!=0)

{

  for(int i=1;i< L; i++)

  {

POINT pt;

if(OA.y<OB.y)

{

  pt.y=(i)*W/L+ OA.y;

}

else

{

 pt.y=OA.y-(i)*W/L;

}

if(OA.x<OB.x)

{

  pt.x=i+OA.x;

}else

{

  pt.x=OA.x-i;

}

pts.push_back(pt);

}

  return;

}

if(W!=0&&L==0)

{

  for(int i=1;i<W;i++)

{

POINT pt;

pt.x=OA.x;

if(OA.y>OB.y)

{

pt.y=OA.y-i;

}else{

   pt.y=OA.y+i;

}

pts.push_back(pt);

}

}

}


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 4
博文 18
码字总数 14262
作品 1
×
lssaint
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: