[Matlab] 获取给定两点间直线上点集的方法
代码如下:
function [x, y] = Cooline(x1, x2, y1, y2)
%CooLINE Integer-coordinate line drawing algorithm.
% [X, Y] = CooLINE(X1, X2, Y1, Y2) computes an
% approximation to the line segment joining (X1, Y1) and
% (X2, Y2) with integer coordinates. X1, X2, Y1, and Y2
dx = abs(x2 - x1);
dy = abs(y2 - y1);
% Check for degenerate case.
if ((dx == 0) && (dy == 0))
x = x1;
y = y1;
return;
end
flip = 0;
if (dx >= dy)
if (x1 > x2)
% Always "draw" from left to right.
t = x1; x1 = x2; x2 = t;
t = y1; y1 = y2; y2 = t;
flip = 1;
end
m = (y2 - y1)/(x2 - x1);
x = (x1:x2).';
y = round(y1 + m*(x - x1));
else
if (y1 > y2)
% Always "draw" from bottom to top.
t = x1; x1 = x2; x2 = t;
t = y1; y1 = y2; y2 = t;
flip = 1;
end
m = (x2 - x1)/(y2 - y1);
y = (y1:y2).';
x = round(x1 + m*(y - y1));
end
if (flip)
x = flipud(x);
y = flipud(y);
end
end
转载于:https://www.cnblogs.com/xiaodon1992/p/4590973.html
[Matlab] 获取给定两点间直线上点集的方法相关推荐
- p点到(a,b)点两所在直线的垂点坐标及p点是否在(a,b)两点所在直线上
/// <summary> /// p点到(a,b)点两所在直线的垂点坐标 /// </summary> /// <pa ...
- 变分法求解两点间直线距离最短
变分法求解两点间直线距离最短,问题很小,意义很大.
- 图论 ---- F. The Shortest Statement (最短路的性质 + 任意两点间最短路 + 图转树)
题目链接 题目大意: 给你一个nnn个点mmm条边的无向图,就是动态询问任意两点间的最短路 n,m∈[1,1e5],m−n≤20n,m\in[1,1e5],m-n\leq20n,m∈[1,1e5],m ...
- OpenCV-获取图像中直线上的数据
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 需求说明 在对图像进行处理时,经常会有这类需求:客户想要提取出图像中某条直线或者ROI区域内的感 ...
- 上面两点下面一个三角形_一点固定另两点在两直线上的正三角形
上 一篇文章写了1978年全国高中数学竞赛的最后一题及其推广到矩形中得到的一些结果.但上文偏向于计算,本文准备从几何作图角度再说说这个问题. 我们先回顾一下,上篇文章说到: 1.给定正方形ABCD及A ...
- 检测两点所确定直线上的像素坐标
图像上两个像素点可以确定一条直线,可如何通过直线方程把这些像素位置找出来呢?大家都会想到用直线方程来算,可是图像上像素位置的坐标都是整数值,通过y = k*x+b计算出来的y很可能是小数,即使将y做取 ...
- 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。
需求:给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上. 分析思路: 1.将所有点二维坐标化,即定义出所有点的x,y坐标值 2.遍历出所有取出两点的情况(不考虑先后顺序),根据任意 ...
- 计算球面上任意两点间的球面距离(C++实现)
文章目录 1 预备知识 2 原理描述 3 代码实现 1 预备知识 在求解此问题之前首先要明确一下几点: (1)两点间的球面距离: 球面上两点间的最短距离,即球心与球面上两点所确定的平面与球面相交,得到 ...
- matlab利用经纬度计算距离_【Matlab】根据经纬度计算两点间的球面距离
做建模或者研究空间数据,可能会遇到"根据经纬度计算两点间的球面距离"的问题,网上的资料很多,都是各种公式推导,但是一旦按公式编程计算,很可能得不到正确的距离.根本原因是在" ...
最新文章
- java me sdk_Java ME SDK 3.0不运行的问题及解决
- 《高级无线网络—4G技术》——1.3 混合4G无线网络协议
- Anaconda中安装pytorch,并在pycharm中配置【win10】
- mysql 选择前4个_mysql从4个表中选择
- Cs代码写在html页面哪里,当用于在details.cshtml页面上查看时,我用什么代码来查看模型中的项目列表?...
- cocos2d-x和objective-c中的retain()和release()
- ts 变量后面加问号或者叹号_关于记录型信号量与TS指令的理解
- Open3d之颜色映射优化
- 什么叫做展望_开学季:有一种爱, 叫做爸妈给你塞的行李箱!(附大学新生行李箱应怎么选?)...
- zencart 批量修改价格
- 蛋白质配体复合物-分子动力学模拟Gromacs
- 《电路》邱关源 思维导图 第四章-电路定理
- ArcGIS按属性选择多个地类
- 撰写MLA格式的毕业论文,需留意下边几个文件格式标准
- php 改变图片大小,php修改图片大小的方法
- git pull失败解决 git下“The following untracked working tree files would be overwritten by checkout
- 【猿如意】中的『XMind』工具详情介绍
- 那些著名或非著名的iOS面试题(中)
- 蓝桥杯 第十七天 动态规划(3)
- ANSYS学习5——单元的选择
热门文章
- java核心编程视频教学
- Eclipse的正确安装使用姿势
- 【深度学习】softmax后处理和弹性形变前处理
- html5 内嵌网页_HTML5与CSS3基础语法自学教程(二)
- java sql编辑器_Java工程师完整学习路线
- idea创建Struts2 项目并运行
- 商务网站开发这些优势值得青睐
- mongodb 开启身份认证_Yum安装mongodb及开启用户认证远程登录
- 使用python操作hdfs,并grep想要的数据
- python 多进程——使用进程池,多进程消费的数据)是一个队列的时候,他会自动去队列里依次取数据...