- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
直线生成的理解
点生成直线的理解
1:直线生成的理解
在欧几里得几何中,点是空间中只有位置,没有大小的图形;在计算机中,则是用象素(最小的方格)代表点的大小。在数学范畴内的直线是由没有宽度的点组成的集合,所有的直线均可表示为:
…(1)
但是在计算机图形学中,直线是通过有限象素的组合输出或显示在点阵设备上的近似表示,这些点是有大小的,而且位置固定,因此只能近似的显示各种图形。以下是直线和其在计算机中的图:
2:对DDA、Bresenham和中点画线算法的理解
2.1 数值微分法(DDA)
已知过端点,的直线为:,其中假设。 …(2)
当,,即当每递增1,递增。
优点:在同一坐标上,不可能连续停留两次。缺点:在本算法中,开始需要执行一个除法或 来确定增量,这样用硬件来实现比较复杂和昂贵,用软件实现相对容易些,但效率较低。
2.2 Bresenham算法
由DDA算法可知: …(3)
由于不一定是整数,由此式求出的也不一定是整数,因此要用坐标为的象素来表示直线上的点,其中表示最靠近的整数。
设图中已用作为表示直线的点,设B是直线上的点,其坐标为,显然表示直线上的点只能从图中的C或者D点中去选。设A为CD边的中点。若B在点上面则应取D点作为,否则应取C点。
优点是:不必计算直线之斜率,因此不做除法;不用浮点数,只用整数;只做整数加减法和乘2运算,而乘2运算可以用硬件移位实现。
2.3 中点画线算法
假定直线斜率在0~1之间,当前象素点为,则下一个象素点有两种可选择点和。为与的中点,Q为理想直线与的交点。当M在Q的下方时,则取应为下一个象素点;当M在Q的上方时,则取为下一个象素点。
在直线方程中,, 令
…(4)
3:两条直线的位置关系
设在计算机中点到直线的距离为,则点到直线的距离为:
…(5)
在计算机中,两点之间的距离是可以通过两象素点之间间隔的象素个数来确定的,而点到直线的距离可以理解为:直线是由有限象素点的集合,分别计算点与直线上所有象素点的间隔距离,通过循环可以得出最短的距离则为点到直线的距离。
两条直线分别为和,设直线是由点,,…,依次组成的集合。分别计算点,,…, 到直线的距离为,,…,。
设表示人眼能区别两直线不重合的最小距离,个象素个数,明显两点(“平行直线”)距离相差1或者2个象素个数的距离反映在人眼中是重合的,其中的确定在不同的问题和精度中有不同的值。
若,且, 则认为两直线重合;
若,则认为两直线平行;
若两条直线不平行也不相交,则认为两直线相交(包括延长线相交)。
文档评论(0)