汇编语言实现等边三角形

汇编语言实现等边三角形

对于如何使用汇编语言绘制横线、竖线、斜线,在上文已经做了详细介绍,如果还未看过上文,请先阅读(https://blog.csdn.net/qq_40298054/article/details/84496944),本文主要对于如何绘制等边三角形进行介绍。

设直线y = f(x) = kx+b

对于推导公式P = f(x+1) - f(x) - 1/2 = kx+k+b-kx-b-1/2 = k-1/2 = (△y/△x)-1/2      ①

在上文中我们对此结果进行了简化(除法运算变加法)P = 2△y-△x

然而我们观察①式,发现其实对于P的运算我们只需要一个斜率即可,对于△y和△x的数值具体为多少无须在意

对于等边三角形来说,K=√3,所以最理想的办法就是在程序的起初便将K值存储起来,然后在程序中调用。但是对于浮点数的操作需要不同的方法,所以我在此处便取了巧。因为√3约等为1.732,所以我赋值△y=1732,△x=1000,在数值上做了近似处理。在程序中就无需计算△y和△x,直接运用现有数值进行计算。

由于需要运用该程序参加比赛,所以具体的代码请见https://download.csdn.net/download/qq_40298054/10811547);

下面介绍一下公式推导的过程(以0<k<1  或者  -1<k<0为例),有兴趣的同学可以了解:

Pn = f(x+1) - f(x) - 1/2 = kx+k+b-kx-b-1/2 = k-1/2 = (△y/△x)-1/2 = 2△y - △x

1.Pn<0

Pn+1 = f(x+2) - f(x) - 1/2 = kx+2k+b-kx-b-1/2 = 2k-1/2 = 2(△y/△x)-1/2  = 4△y - △x = Pn + 2△y

2.Pn>=0

Pn+1 = f(x+2) - f(x) - 1 - 1/2 = kx+2k+b-kx-b-1-1/2 = 2k-1-1/2 = 2(△y/△x)-1-1/2  = 4△y - 2△x - △x= Pn + 2(△y-△x)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值