matlab画直线,指定斜率与x坐标范围

闲话不说,直接上代码与图的效果!

AngleD=59; %[-90 90]
c=20:80;
centralPoint=[50 50]‘;
image=zeros(100,100);
image(25:74,25:74)=ceil(abs(rand(50,50).*10));

if abs(AngleD)==90,
    fprintf(1,‘no single line for the x area\n‘);
elseif AngleD==0,
    r=centralPoint(1).*ones(size(c,2),1);
else
    k=tand(AngleD);
    b=centralPoint(1)-k*centralPoint(2);
    r=k.*c+b;
end

imagesc(image);
hold on
plot(c,r,‘r-‘);
hold off;
colormap gray;
axis equal

时间: 2024-10-11 06:22:18

matlab画直线,指定斜率与x坐标范围的相关文章

用中点Bresenham画直线算法绘制任意斜率直线

使用VC 6.0 mfc实现编程 刚学的图像学,挺难学的,show 代码吧 void CLineView::OnDraw(CDC* pDC) { CLineDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here int x1 ,x2 ,y1,y2 ; x1 = 0 ; y1 = 0 ;  x2 = 1000 ; y2 = 500 ; COLORREF c = RGB(25

Bresenham快速画直线算法

现在的计算机的图像的都是用像素表示的,无论是点.直线.圆或其他图形最终都会以点的形式显示.人们看到屏幕的直线只不过是模拟出来的,人眼不能分辨出来而已.那么计算机是如何画直线的呢,其实有比较多的算法,这里讲的是Bresenham的算法,是光栅化的画直线算法.直线光栅化是指用像素点来模拟直线,比如下图用蓝色的像素点来模拟红色的直线 给定两个点起点P1(x1, y1), P2(x2, y2),如何画它们直连的直线呢,即是如何得到上图所示的蓝色的点.假设直线的斜率0<k>0,直线在第一象限,Brese

[转]html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点

在学画画的时候,线条是最基本的了,而线条的连接可以组成任何图形.在Canvas中也是如此. 在开始之前我们先拿出画布和画笔: 代码如下: var cvs = document.getElementById('cvs'); //画布 var ctx = cvs.getContext('2d'); // 画笔 我们画画的时候,落笔点是不固定的,随时都会变.canvas虽然不是通过手来决定落笔点,但也有一个方法,就是moveTo.moveTo的作用相当于把笔尖提离画布,然后移动到指定的点(即坐标).

matlab画圆

首先介绍一下rectangle函数 1.rectangle函数实际上是一个画矩形的行数,语法调用为: rectangle('Position',[x,y,w,h]),表示的是下哦那个点(x,y)开始画一个宽w高h的矩形.默认情况下是从(0,0)开始画一个宽1高1的矩形.例如直接在命令窗口出入:rectangle,axis equal  画出的图形如下图所示.(axis equal的意思是保持横纵坐标等比例) 2. rectangle函数可以制定矩形边的曲率,这就为我们画圆提供了一个思路.改变曲率

Html5新特性 &lt;canvas&gt;画板画直线

 下面例子为用canvas标签画多条直线 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht

中点Bresenham算法光栅化画直线(个人总结精简版)代码超短!速度极快!

中点Bresenham算法光栅化画直线,每次只位移一个像素,精度高!此源码借助直线 y=x 做了一些转换,简化了主位移的处理,每次移动只需要 加减操作, 不需要乘除!速度极快!! 原理在最后,下面先贴上核心代码~ void Bresenham_LineTo(CDC *pDC, int x1, int y1, int x2, int y2) //中点Bresenham算法光栅化画直线 { float k = 1.0*(y2 - y1) / (x2 - x1); //斜率 int flag = 0;

Html5新特性 &amp;lt;canvas&amp;gt;画板画直线

 以下样例为用canvas标签画多条直线 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht

matlab画图形函数 semilogx

matlab画图形函数 semilogx loglog 主要是学习semilogx函数,其中常用的是semilogy函数,即后标为x的是在x轴取对数,为y的是y轴坐标取对数.loglog是x y轴都取对数. 例子, clc;clear;close all;x = 0:.1:10;y = 2*x+3;subplot(211);plot(x,y);grid onsubplot(212);semilogy(x,y);grid on 结果 —————————复习各种matlab图形函数—————————

matlab画柱状图

论文中需要画图进行比较,感觉还是matlab画起来比较方便,先把自己画的图及matlab代码放上. y=[300 311;390 425; 312 321; 250 185; 550 535; 420 432; 410 520;];b=bar(y);grid on;ch = get(b,'children');set(gca,'XTickLabel',{'0','1','2','3','4','5','6'})set(ch,'FaceVertexCData',[1 0 1;0 0 0;])leg