文档章节

得到直线的坐标算法

lssaint
 lssaint
发布于 2015/03/23 12:55
字数 122
阅读 15
收藏 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);

}

}

}


© 著作权归作者所有

共有 人打赏支持
lssaint
粉丝 7
博文 19
码字总数 14315
作品 1
程序员
私信 提问
[计算机图形学] 基于C#窗口的Bresenham直线扫描算法、种子填充法、扫描线填充法模拟软件设计(一)

一、首先说明: 这是啥? —— 这是利用C#FORM写的一个用来演示计算机图形学中 ①Bresenham直线扫描算法(即:连点成线);②种子填充法(即:填充多边形);③扫描线填充法 有啥用? —— ...

史迪奇2号
2017/10/09
0
0
齐次坐标理解

齐次 事实上带齐次的概念很多,纯粹要说“齐次”的含义的话,似乎比较抽象难懂,所以我觉得给出一个具体的齐次的东西来解释可能会更好一点。 下面我要解释的齐次坐标(homogeneous coordinate...

NickHomeSelf
2018/02/28
1
0
[区块链] 密码学——椭圆曲线密码算法(ECC)

  今天在学椭圆曲线密码(Elliptic Curve Cryptography,ECC)算法,自己手里缺少介绍该算法的专业书籍,故在网上查了很多博文与书籍,但是大多数博客写的真的是。。。你懂的。。。真不愧是...

x-knight_勋爵
2018/06/07
0
0
二维平面上判断点是否在三角形内

最近在项目中碰到的这个问题,在此记录一下。已知三角形的三个顶点坐标,判断某个点是否在三角形中(在三角形的边上,我们也视作在三角形中),本文给出了三种方法。 算法1 利用面积法,如上...

嗯哼9925
2017/11/08
0
0
Java推荐系统-基于用户的最近邻协同过滤算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cc_want/article/details/85001762 基于用户的最近邻算法(User-Based Neighbor Algorithms),是一种非概率性...

cc_want
2018/12/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Jmeter参数的AES加密使用

在Jmeter日常实践中,大家应该都遇到过接口传参需要加密的情况。以登陆为例,用户名和密码一般都需要进行加密传输,在服务端再进行解密,这样安全系数会更高,但在使用jmeter进行接口测试的时...

程序猿拿Q
9分钟前
0
0
MYSQL 日期函数 Date and Time Functions

Table 12.13 Date and Time Functions Name Description ADDDATE() Add time values (intervals) to a date value ADDTIME() Add time CONVERT_TZ() Convert from one time zone to another ......

_liucui_
15分钟前
0
0
Android代码混淆ProGuard工作原理简介

ProGuard能够对Java类中的代码进行压缩(Shrink),优化(Optimize),混淆(Obfuscate),预检(Preveirfy)。    1. 压缩(Shrink): 在压缩处理这一步中,用于检测和删除没有使用的类,字段...

SuShine
18分钟前
0
0
Idea 2018激活

教程地址: https://www.52pojie.cn/thread-781394-1-1.html 亲测可用

一个不正经的程序员
23分钟前
0
0
Android组件化开发实践和案例分享

目录介绍 1.为什么要组件化 1.1 为什么要组件化 1.2 现阶段遇到的问题 2.组件化的概念 2.1 什么是组件化 2.2 区分模块化与组件化 2.3 组件化优势好处 2.4 区分组件化和插件化 2.5 applicatio...

潇湘剑雨
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部