| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 205 人关注过本帖
标题:谁能讲解一下图形法画圆中参数的数学意义
收藏  订阅  推荐  打印
llp108
Rank: 2
等级:注册会员
帖子:53
积分:684
注册:2007-11-15
谁能讲解一下图形法画圆中参数的数学意义

图形法画圆中需要设定一个参数如下 p,但是不了解其数学意义(即如何给出其初值,又如何有那样的变化) 谁能讲解一下谢谢!
#include <stdio.h>
#include <graphics.h>
#include <dos.h>
/*这是根据给出的圆心坐标和点坐标分别在八个象限画点的子程序*/
void circlePoint( int xCenter, int yCenter, int x, int y )
{
    putpixel( xCenter + x, yCenter + y, YELLOW );
    putpixel( xCenter - x, yCenter + y, YELLOW );
    putpixel( xCenter + x, yCenter - y, YELLOW );
    putpixel( xCenter - x, yCenter - y, YELLOW );
    putpixel( xCenter + y, yCenter + x, YELLOW );
    putpixel( xCenter - y, yCenter + x, YELLOW );
    putpixel( xCenter + y, yCenter - x, YELLOW );
    putpixel( xCenter - y, yCenter - x, YELLOW );
}

void myCircle(int xCenter,int yCenter,int radius)
{
    int x, y, p;
/*初始化各个参数*/
    x = 0;
    y = radius;
    p = 1 - radius;
    circlePoint(xCenter, yCenter, x, y);
/*循环中计算圆上的各点坐标*/
    while( x < y ) {
        x++;
        if( p < 0 )
            p += 2*x+1;
        else
        {
            y--;
            p+=2*(x-y)+1;
        }
        circlePoint( xCenter, yCenter, x, y);
    }
}

void main()
{
    int gdriver=DETECT, gmode;  /*这是用c画图时必须要使用的图像入口*/
    int i;
    int xCenter, yCenter, radius;
    printf("Please input center coordinate :(x,y) ");
    scanf("%d,%d", &xCenter, &yCenter );
    printf("Please input radius : ");
    scanf("%d", &radius );
/*这条语句初始化整个屏幕并把入口传给gdriver,注意引号中是tc中bgi目录的完整路径*/
    registerbgidriver(EGAVGA_driver);
    initgraph(&gdriver, &gmode, "..\\bgi");  
    setcolor( BLUE );
    myCircle(xCenter, yCenter, radius);
    sleep(3);
    closegraph();
    return;
}

[ 本帖最后由 llp108 于 2008-10-4 17:53 编辑 ]
2008-10-3 16:41
奔跑的鸟
Rank: 3Rank: 3
等级:中级会员
帖子:328
积分:3848
注册:2006-1-20

void far circle(int x, int y, int radius)
是这个函数么?3个参数分别是圆心的横纵坐标,还有半径长度。

简单的快乐着~
2008-10-3 21:48
kelezzp
Rank: 1
等级:新手上路
帖子:2
积分:124
来自:湖南
注册:2008-10-9
用 win-tc 运行此程序后出现此错误,怎么解决?


错误显示:
16位 MS-DOS 子系统
D:\PROGRA~1\Win-TC\projects\noname.exe
NTVDM CPU 遇到无效指令
CS:c000 IP:0d2a OP:ff ef e8 qf 45 选择“关闭”终止应用程序。
2008-10-10 00:20
共有 204 人关注过本帖
发新话题
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.050654 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved