Нарисуйте линию в консоли, используя декартовы координаты

Я всегда изо всех сил пытался найти способ нарисовать линию в консоли C ++. Я имею в виду, я знаю, что это невозможно, но я подумал о том, как нарисовать его, что моя тетя объяснила мне способом вычисления координат различных точек на линии.

формула имеет вид: Y = + (((by-ay) / (bx-ax)) * (x-ax));

У нас есть две точки a и b с их координатами.
Между этими двумя точками есть линия.
С выбранным x вы можете найти эквивалентный y на линии, так что вы можете увеличить значение x, чтобы нарисовать линию.

Вот код (извините за мой английский, но это не мой родной язык):

#include <iostream>
#include <Windows.h>

int ax, ay, bx, by;

using std::cout;

void gotoxy(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}

void rectline()
{

}

void line()
{

if (ax == bx || by == ay)
{
rectline();
}

else
{

for (int x = ax; x < bx; x++)
{

int y = by + (((by - ay) / (bx - ax))*(x-ax));
gotoxy(x, y); cout << "#";

}}

}int main()
{
ax = 8;
ay = 6;
bx = 20;
by = 10;while (1)
{

gotoxy(ax, ay); cout << "#";
gotoxy(bx, by); cout << "#";

line();
Sleep(100);

}return 0;
}

Я надеюсь, что вы можете мне помочь.
если что-то не понятно, просто скажите мне, и я сделаю все возможное, чтобы объяснить это вам.

Выход:

введите описание изображения здесь

-1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]