计算机图形学算法【1】——直线画法(数值微分法)

本文介绍了计算机图形学中的直线画法——数值微分法(DDA)。首先阐述了基本原理,包括如何根据直线的斜率和截距计算坐标差值。接着,详细讨论了根据斜率大小选择不同的步长策略。最后,提到了程序流程图和核心代码,适合在VS2010 MFC框架下实现。
摘要由CSDN通过智能技术生成

计算机图形学算法【1】——直线画法(数值微分法)

以下所有代码均在VS2010下的MFC框架下使用

DDA(数值微分法)介绍

一、基本原理

通过计算直线的斜率k和截距b,y = kx+b
1、计算起点和终点的XY坐标差值;
2、计算直线的斜率K
当 |K| > 1 时,采用▲y = 1, ▲x = 1/K 的方法
当 |K| < 1 时,采用▲y = K, ▲x = 1 的方法
当 |K| = 1 时,两种方法一致

在这里插入图片描述

二、程序流程图

在这里插入图片描述

三、核心代码

void Line::DDA(CClientDC &dc)
{
   

	//计算横纵坐标差值
	int dx = x2 - x1;
	int dy = y2 - y1;
	//判断是否为垂线
	if (dx == 0){
   
		
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值