大苏打dd 发表于 2023-3-22 15:08:33

求助一个easyx库的问题

#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>
#define s 10 //这是一个比率,相当于我把图形放大10倍
int main()
{
        initgraph(800, 700);//初始化窗口,也就是程序框大小
        setbkcolor(WHITE);      //设置背景颜色
        setlinecolor(RED);    //设置坐标轴的颜色
        cleardevice();       //清除屏幕内容
        setorigin(400, 350);    //设定坐标原点
        line(-400, 00, 400, 00);    //绘制X轴
        line(0, 350, 0, -350);//绘制Y轴
                for (int i = -500; i <= 500; i++)   //绘制坐标
        {
                line(s * i, 0, s * i, -10);
                if (i % 5 == 0)
                        line(s * i, 0, s * i, -15);
                line(0, s * i, 10, s * i);
                if (i % 5 == 0)
                        line(0, s * i, 15, s * i);
        }
        double x,y;
        for(x=-100;x<=100;x=x+0.001)
        {
                y = x * x + x + 2;      //计算出每个X对应的Y值
                putpixel(s * x, -s * y, BLACK);//画出每个点
        }
        system("pause");
        return 0;
}

#define s 10 //这是一个比率,相当于我把图形放大10倍
这个把图形放大十倍的原理是什么

isdkz 发表于 2023-3-22 15:48:59

这段代码使用了 EasyX 库来绘制一个简单的 2D 图形。#define s 10 这行代码定义了一个宏常量 s,值为 10,表示一个缩放比例。

在这个程序中,缩放比例 s 用于将坐标系和函数图像放大 10 倍。这是通过在绘制坐标轴、坐标刻度以及函数图像时,将 x 和 y 坐标分别乘以 s 来实现的。

具体来说,以下几个地方使用了这个比例:

1、在绘制坐标轴刻度时,使用了 s * i 来计算刻度线的位置。

2、在计算函数图像的点时,使用了 s * x 和 -s * y 作为放大后的坐标值。

这样做的好处是可以更清晰地查看函数图像的细节。当我们把图形放大 10 倍时,函数曲线中每个点之间的距离也会相应地增大 10 倍,这使得图形更容易观察和分析。

大苏打dd 发表于 2023-3-22 17:11:01

isdkz 发表于 2023-3-22 15:48
这段代码使用了 EasyX 库来绘制一个简单的 2D 图形。#define s 10 这行代码定义了一个宏常量 s,值为 10, ...

谢谢,讲的很清楚

movetoporket_2 发表于 2024-3-2 18:19:29

很不错的例 子,
页: [1]
查看完整版本: 求助一个easyx库的问题