文档章节

得到直线的坐标算法

lssaint
 lssaint
发布于 2015/03/23 12:55
字数 122
阅读 12
收藏 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
粉丝 6
博文 19
码字总数 14262
作品 1
程序员
[计算机图形学] 基于C#窗口的Bresenham直线扫描算法、种子填充法、扫描线填充法模拟软件设计(一)

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

史迪奇2号
2017/10/09
0
0
二维平面上判断点是否在三角形内

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

嗯哼9925
2017/11/08
0
0
[区块链] 密码学——椭圆曲线密码算法(ECC)

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

x-knight_勋爵
06/07
0
0
使用canvas寻路最小生成树

online source 问题引入 在学习了加权无向图寻找最小生成树的算法之后,想通过可视化的方式来表示一个图的构造和最小生成树的寻路过程,就使用canvas来模拟了图的构造,连接边和加重显示最小...

xiyuyizhi
2017/11/12
0
0
直线的生成算法

在光栅显示器的荧光屏上生成一个对象,实质上是往帧缓存寄存器的相应单元中填入数据。画一条从(x1, y1)到(x2, y2)的直线,实质上是一个发现最佳逼近直线的象素序列,并填入色彩数据的过程...

嗯哼9925
2017/12/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

spring只

一、IOC(Inversion of Control)或者依赖注入(Dependency Injection) 1、底层实现原理:反射 2、三大核心接口: BeanFactory:简单容器系列,只是实现了容器最基本的功能。 ApplicationC...

狠一点
4分钟前
0
0
缓存架构SpringBoot集成Curator实现zookeeper分布式锁

一、分布式锁简介 1、什么是锁 在单机环境下,当存在多个线程可以同时改变某个共享变量时,就需要同步来实现该功能,使其线程安全。 而同步就是通过锁来实现的。锁保证了同一时刻只有一个线程...

架构师springboot
6分钟前
0
0
11《Java核心技术》之Java提供了哪些IO方式? NIO如何实现多路复用?

一、提出问题 IO 一直是软件开发中的核心部分之一,伴随着海量数据增长和分布式系统的发展,IO 扩展能力愈发重要。幸运的是,Java 平台 IO 机制经过不断完善,虽然在某些方面仍有不足,但已经...

飞鱼说编程
13分钟前
0
0
简单介绍Java 的JAR包、EAR包、WAR包区别

WAR包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。War专用于Web方面。大部分的JAVA WEB工程,都是打成WAR包进行发布的。 War是...

linuxprobe16
14分钟前
0
0
55:Mysql用户管理|常用sql语句|mysql数据库备份恢复

1、Mysql用户管理; 场景,为了安全,新建的站点,创建新的用户,或者给已有用户授权,对某个库或者某个表有权限; 语法: grant all on *.* to 'user'@'127.0.0.1' identified by 'password'; g...

芬野de博客
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部