计算机图形学画线_在计算机图形学中直接使用线方程

计算机图形学画线

计算机图形学| 直接使用线方程 (Computer Graphics | Direct Use of Line Equation)

The standard line equation, as we all know is used for drawing a line. It is given by: y = mx + c.

众所周知,标准线方程式用于绘制线。 由下式给出: y = mx + c

We are discussing here in 2D so we all know that there are 2 axes: x and y. Both of the axes are required to give the equation of any 2D shape. The line is a straight path joining 2 points in the x-y plane. If both the points are given then we can find the equation of a line.

我们在这里以2D进行讨论,所以我们都知道有2个轴: xy 。 需要两个轴都可以给出任何2D形状的方程。 该线是连接xy平面中2个点的直线路径。 如果两个点都给出,那么我们可以找到一条线的方程。

直线的斜率 (The slope of a line)

The slope of a line defines the direction of a line. Its value is equal to the ratio of the difference of y coordinates and the difference. Assume that the two points are X( x1,y1 ) and Y( x2,y2 ). Its slope, 'm' will be: m = (y2 - y1) / (x2 - x1).

线的斜率定义了线的方向。 它的值等于y坐标差与差之比。 假设这两个点是X(x1,y1)Y(x2,y2) 。 它的斜率'm'将是: m =(y2-y1)/(x2-x1)

线描算法的性质 (Properties of Line Drawing Algorithm)

The following are the properties that a line must hold in any line drawing algorithm,

以下是任何线图绘制算法中线必须具有的属性,

  1. Line must be straight

    线必须是直的

  2. Line must terminate accurately

    线路必须准确终止

  3. Line must have constant density

    线必须具有恒定的密度

  4. Density must be independent of its length

    密度必须与长度无关

  5. Line must be drawn very fast

    线必须画得很快

线描算法 (Line Drawing Algorithms)

There are some set of rules and steps which help draw a line. These algorithms are given below,

有一些规则和步骤可以帮助您划清界限。 这些算法如下:

  1. Direct Use of line equation

    直接使用线方程

  2. DDA (Digital Differential Analyzer)

    DDA(数字差分分析仪)

  3. Bresenham's Algorithm

    布雷森纳姆算法

直接使用线方程 (Direct use of Line Equation)

This is the simplest form of drawing a line. We all know that the equation of the line is y = mx + c. Here m is slope and c is the length from origin to the point where the line cuts y-axis. In this method, we will be having the start and endpoint of the line and by the help of that points, we'll calculate the other points which lie on the line. We have to find the slope of the line by using the given points.

这是画线的最简单形式。 我们都知道直线的方程是y = mx + c 。 这里的m是斜率, c是从原点到直线切割y轴的点的长度。 在这种方法中,我们将获得直线的起点和终点,并借助这些点,计算出直线上的其他点。 我们必须使用给定的点找到线的斜率。

We'll understand this better with the help of an example,

我们将通过一个示例来更好地理解这一点,

Example:

例:

We have given two points X and Y. The coordinates of X are (0, 0) and the coordinates of Y are (5, 15). The slope of the line will be,

我们给出了XY两点。 X的坐标为(0,0)Y的坐标为(5,15) 。 线的斜率是

    m = (15 - 0) / (5-0)
m = 3

We have the slope of the line. Now let us put the slope in the line equation.

我们有直线的斜率。 现在让我们将斜率放在线方程中。

    y = 3x + c

Origin point is (0,0). So,

原点是(0,0)。 所以,

    c = 0

Putting c=0 in the above equation.

将c = 0放在上式中。

    y = 3x

Now we will calculate the intermediate points.

现在我们将计算中间点。

    Let x = 1 ⟹ y = 3 x 1 ⟹ y = 3
Let x = 2 ⟹ y = 3 x 2 ⟹ y = 6
Let x = 3 ⟹ y = 3 x 3 ⟹ y = 9
Let x = 4 ⟹ y = 3 x 4 ⟹ y = 12
Let x = 5 ⟹ y = 3 x 5 ⟹ y = 15

We got the intermediate points which are, (1, 3), (2, 6), (3, 9), (4, 12) and finally (5, 15)

我们得到的中间点是(1、3),(2、6),(3、9),(4、12),最后是(5、15)

Now we'll plot these points on the graph.

现在,我们将这些点绘制在图形上。

Direct Use of Line Equation

Hence, we have plotted the points that lie between the given points through the standard line equation. By doing so with a very small gap between these pints will give us the entire line.

因此,我们通过标准线方程式绘制了位于给定点之间的点。 这样,这些品脱之间的间隙很小,就可以给我们整条生产线。

翻译自: https://www.includehelp.com/computer-graphics/direct-use-of-line-equation.aspx

计算机图形学画线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c/c++ 编程试题

c/c 编程试题 带*号为选作题&#xff0c;给出代码截屏和编译运算结果截屏 1.编程:选取M个最大的数 编程实现从N个无序数中选取M个最大的数(0 < M < N ) 思路&#xff1a;通过冒泡排序或者选择排序对N个数进行递减排序&#xff0c;然后输入前M个数即可。这里我想到的是通…

mysql inception web_基于Inception搭建MySQL SQL审核平台Yearing

Inception1. Inceptionj简介Inception是一款针对MySQL的SQL语句审核自动化运维工具。使用Inception&#xff0c;将会给DBA带来更大的便利性&#xff0c;将DBA从繁冗的工作中解放出来&#xff0c;做更多的自动化工作&#xff0c;或者从架构方面研究如何更大程度地保证数据库的高…

VS2010 运行库设置

如下图所示&#xff0c;当在一个EXE工程中调用lib或dll时&#xff0c;2个工程的下面选项一定要一致&#xff0c;否则会导致exe工程编译不过。 原则&#xff1a; Debug下&#xff0c;默认是MTd&#xff1b; Release下&#xff0c;默认是MT。 转载于:https://www.cnblogs.com/lgh…

零拷贝、mmap、sendfile

目录零拷贝mmapsendFile总结零拷贝 要了解零拷贝&#xff0c;首先得先了解一下传统 IO 的执行流程&#xff0c;这里举个例子&#xff0c;通过传统的 IO 进行网络传输来传输一个文件。 先上一张图&#xff0c;这张图就代表了传统 IO 传输文件的流程。 读取文件的时候&#xf…

网页服务器和mysql服务器_实现Web服务器之间使用同一个MYSQL和相同的网页配置文件的方法...

实现Web服务器之间使用同一个MYSQL和相同的网页配置文件的方法发布时间&#xff1a;2020-04-15 16:42:41来源&#xff1a;亿速云阅读&#xff1a;133作者&#xff1a;三月栏目&#xff1a;数据库亿速云负载均衡(Cloud Load Balancer)是对多台云服务器进行流量分发的服务。亿速云…

传128GB版iPad4售价为799/929美元

外媒9to5mac报道&#xff0c;苹果将推出一款升级版iPad4&#xff0c;外观和iPad 4相同&#xff0c;还是黑白两色的&#xff0c;只加入了新的SKU。 据报道&#xff0c;这款升级版iPad4还有128GB版&#xff0c;随着这条消息传出&#xff0c;不久关于128GB版iPad4的售价信息也传出…

(西工程-金花)小米路由器连接哆点设置WiFi保姆式教程

小米路由器连接电源,用根网线一端插入寝室的网口处,另一端插入小米路由器的WAN口手机或者电脑连接WiFi,我这里是通过手机浏览器打开192.168.31.1进入无线路由器管理页面进行配置小米路由器&#xff0c;配置WiFi的一些基本参数,例如:WiFi名称,密码之类的信息 进入无线路由器管理…

go 声明二维数组_一篇文章了解Go语言中数组Arrays的使用内幕

概述与其他编程语言类似&#xff0c;Go语言也有数组array。Go语言中&#xff0c;数组的行为和其他语言没有什么不同.Go语言中还有一个叫做切片slice的东西&#xff0c;它就像是对数组的引用。在本文中&#xff0c;我们将只研究数组。定义数组是同一类型元素的连续集合&#xff…

ffmpeg 使用ffplay 进行 hls 拉流 分析 1

ffmpeg 使用 ffplay 进行 hls 拉流 分析 1 从使用ffplay 调用 http://192.168.1.100:8080/live/livestream.m3u8 开始&#xff0c;进入到ffmpeg 的分析使用的协议选择相应的解复用器的步骤。 其他协议或者文件方式的使用ffplay也是这个步骤流程的。 目录&#xff1a;一、流程图…

搜狗输入法输出特殊符号快捷键

https://www.petefreitag.com/cheatsheets/ascii-codes/ 参考上个编码网站大全 详细步骤为&#xff1a;alt长按 &#xff0b; 编码数字 例如&#xff1a;平方的编码为178-----长按alt178 即可&#xff0c;178是数字一个一个挨个按即可 常用的特殊符号如下&#xff1a; 平方&…

[BuildRelease Management]CC.NET架构

一 CC.NET的操作流程 1) 等待Trigger的唤醒&#xff1b; 2&#xff09;从Source Control System查询上次build以后的修改列表&#xff1b; 3&#xff09;如果任何修改被发现或是Trigger触发类型为 force the build &#xff1a; 3.1&#xff09;为build产生一个label number&a…

python 入门到实践期末考试常出现的考试内容_Python编程入门到实践—列表篇(一)...

一、列表是什么&#xff1f;列表由一系列按特定顺序排列的元素组成。可以创建包含字母表中所有字母、数字0-9或所有家庭成员姓名的列表&#xff1b;也可以将任何东西加入列表中&#xff0c;其中的元素之间可以没有任何关系。列表通常包含多个元素&#xff0c;给列表指定一个表示…

c#中将集合写入文本_在C#中将记录插入MySQL数据库

c#中将集合写入文本In the last tutorial (how to connect with MySQL database in C#?), we learned about making the connection with MySQL database in C#. Here, in this tutorial, we will learn how to insert the records in MySQL database in C#? 在上一教程( 如何…

day1-Linux操作系统基础

该专栏所有内容笔记均来自传智播客培训班 1.什么是操作系统&#xff08;operate system OS&#xff09; 小议&#xff1a;承上启下作用&#xff0c;向下可以控制硬件&#xff0c;向上能够支持软件的运行。一个可以控制硬件的软件。 小明找小红聊天&#xff0c;小明打开QQ&…

关闭浏览器 清空session_跨境网络小知识之Session

跨境小伙伴们大家好&#xff0c;上一篇为大家介绍了Cookie&#xff0c;今天就为大家介绍下连接cookie的另一端Session&#xff0c;交互过程中&#xff0c;二者缺一不可。与Cookie相对&#xff0c;Session是存储在服务端的&#xff0c;他们之间是通过一个叫做sessionID的东东建立…

Dojo学习笔记(一):Hello Dojo!

欢迎来到Dojo世界&#xff01;在这篇文章中你将会学习到如何加载Dojo以及探索Dojo的一些核心功能。你还会了解Dojo的基于AMD的模块架构&#xff0c;探索如何加载额外的模块来增加功能到您的Web站点或应用程序&#xff0c;并找出在出错的时如何得到帮助。让我们开始吧 开始学习D…

转:我眼中的Visual Studio 2010架构工具

来自&#xff1a;http://www.cnblogs.com/wayfarer/archive/2010/07/30/1788398.html我眼中的Visual Studio 2010架构工具影响架构质量的是构建体系架构的思想、原则、实践与架构师的经验&#xff0c;绝不是工具。即使是最优秀的架构工具&#xff0c;也不可能像倚天宝剑一般——…

VMware创建Ubuntu操作系统到网络配置详细流程

一、创建虚拟机 Ubuntu下载链接 1&#xff0c;看个人需求了&#xff0c;有更高的版本&#xff0c;下载Ubuntu镜像 2&#xff0c;VMware官网随便下载即可 3&#xff0c;创建新的虚拟机 4&#xff0c;自定义 5&#xff0c;默认即可 6&#xff0c;稍后安装操作系统 7&#xf…

djiango配置mysql_数据库MySQL相关环境配置以及数据库与Go的连接

Linux下安装好MySQL后&#xff0c;Windows安装可视化工具navicatLinux下MySQL与Windows下navicat进行连接:安装的过程很是揪心&#xff0c;各种查网站、大致把坑都写了出来&#xff1a;1、在Linux下的mysql语句中&#xff0c;mysql> select host,user,authentication_string…

基于HtmlParser的网络爬虫

一、 目标 获取网页中的超链接及链接名&#xff0c;如从http://www.hao123.com/开始&#xff0c;抓取所有hao123链接到的超链接&#xff0c;再以获取到的链接网页为目标&#xff0c;获取它所链接到的网页。 二、环境及开发工具 环境&#xff1a;Java 工具&#xff1a;MyEclip…