Библиотека graphics.h при использовании показывает инвертированные объекты, а также инвертирует координаты - PullRequest
0 голосов
/ 05 августа 2020

Я попытался написать код, чтобы нарисовать треугольник основанием вниз, используя следующую программу:

#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;
}

enter image description here

But this gave the wrong output ^^

Whereas when I inverted the coordinates and created a mirror of them, then the triangle was drawn correctly

#include
#include
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;
}

введите описание изображения здесь Как исправить эту ошибку?

1 Ответ

1 голос
/ 05 августа 2020

Похоже, вы используете библиотеку, которая поддерживает Borland Graphics Interface (BGI). В BGI начало координат находится в верхнем левом углу экрана, как предполагалось в SE C .H. Вот некоторая документация:

Каждый пиксель определяется его строкой и положением столбца, где координаты (0, 0) соответствуют пикселю в верхнем левом углу окна и (ширина-1, высота -1) соответствует пикселю в правом нижнем углу окна.

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

...