要求在屏幕上画出彩色的五环图,主要的问题是对圆画法的设计。圆是由点组成的,每画一个点的时候就要考虑画下一个点的位置,这个就是问题的难点。 基本思路:通过对网上资料和图书馆资料的查询,用汇编语言画圆,就必须学习Bresenham画圆算法,这是计算机图形基础的方法。该算法包括利用圆的对称性,用八点对称画法画出8个单像素点,通过循环1/8个圆即可组成一个完整的圆。在画点时,只要使用BIOS中断调用即可显示有颜色点组成的画面。把每个颜色值放入到一个存储单元,每次读取不同数值即可实现5种颜色的显示。画完一个圆之后,通过对圆心平移,画出其他的圆,组成五环图。
在图形中,初始值是固定的,每个圆的圆心坐标、半径和颜色在程序中都有默认值。为扩展题目的内容,还增加了自定义圆环的属性的功能。对于自定义圆心坐标、半径和圆圈的颜色设计,用汇编语言1号功能输入,进行比较、转存数值等处理,分别改变原定义的圆心坐标、半径、颜色中的初始值。对于自定义圆圈的粗细是改变不同坐标画点综合的结果。初始值是“细线”:在画8个点时,每个点只调用一次画点子程序显示点;“粗线”:在画8个点时,每个点在“细线”的基础上,改变横纵坐标,多次调用画点程序,画出“细线”周围的点,最后达到“粗线”的效果。
1