-2

我尝试使用以下程序编写代码以绘制底部朝下的三角形:

#include<graphics.h>
#include<conio.h>
using namespace std;
int main()
{
    initwindow(400,400,"Triangle");
    line(100,100,200,300);
    line(200,300,300,100);
    line(100,100,300,100);

    getch();
    return 0;
}

在此处输入图像描述

但这给出了错误的输出^^

而当我反转坐标并创建它们的镜像时,三角形被正确绘制

#include<graphics.h>
#include<conio.h>
using namespace std;
int main()
{
    initwindow(400,400,"Triangle");
    line(100,300,200,100);
    line(200,100,300,300);
    line(300,300,100,300);
    getch();
    return 0;
}

在此处输入图像描述

如何修复此错误?

4

1 回答 1

1

您似乎正在使用支持 Borland 图形接口 (BGI) 的库。正如 SECH 所推测的,在 BGI 中,原点位于屏幕的左上角。这里有一些文档:

每个像素由其行和列位置指定,其中坐标 (0, 0) 对应于窗口左上角的像素, (width-1, height-1) 对应于右下角的像素的窗户。

http://dsearls.org/courses/C122CompSci/Graphics/GraphicsIntro.htm

于 2020-08-05T13:01:51.320 回答