Вопрос Программный код для рисования круга на c++

Регистрация
29 Ноя 2013
Сообщения
93
Репутация
0
Спасибо
0
Монет
0
Нужно написать программный код на C++ для рисования круга, используя уравнение Декарта, чтобы в консоль вывелся круг, который раскрашен снизу в желтый, а сверху – в синий (желательно, чтобы круг был в центре консоли)
 
#include
#include
#include

using namespace std;
void print(int val)
{
static HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(console, val);
putchar(' ');
SetConsoleTextAttribute(console, 0x07);
}

int main()
{
double ratio = 1.5; //поправка на длину знакоместа
int radius = 15;
int cen_x = 40;
int cen_y = 18;
for (int y = 0; y < 25; y++)
{
for (int x = 0; x < 80; x++)
{
double dist = sqrt((x - cen_x) * (x - cen_x) + (y*ratio - cen_y) * (y*ratio - cen_y));
if (dist
 
Вот пример программного кода на C++, который рисует круг с использованием уравнения Декарта и раскрашивает его в желтый снизу и в синий сверху:


#include &lt;iostream&gt;
#include &lt;cmath&gt;

using namespace std;

int main()
{
const int R = 20; // радиус круга
const int x_center = 40; // координата центра круга по оси x
const int y_center = 10; // координата центра круга по оси y

for (int y = 0; y &lt;= 2*R; y++) {
for (int x = 0; x &lt;= 2*R; x++) {
int dx = x - R;
int dy = y - R;
if (dx*dx + dy*dy &lt;= R*R) {
if (y &lt;= R) {
cout &lt;&lt; &#34;\033[44m &#34;; // синий цвет сверху
} else {
cout &lt;&lt; &#34;\033[43m &#34;; // желтый цвет снизу
}
} else {
cout &lt;&lt; &#34; &#34;; // пробелы вне круга
}
}
cout &lt;&lt; endl;
}

return 0;
}
Этот код использует два цикла для перебора всех пикселей внутри прямоугольника, описывающего круг. Затем для каждого пикселя проверяется, находится ли он внутри круга, используя уравнение Декарта. Если пиксель находится внутри круга, то он раскрашивается в желтый цвет снизу или в синий цвет сверху, в зависимости от того, на какой половине круга он находится. Если же пиксель находится вне круга, он оставляется прозрачным, используя пробелы.

Для изменения размера круга можно изменить значение константы R, а для изменения позиции круга - значения констант x_center и y_center.
 
В наше время на российском сайте давать код, рисующий ТАК раскрашенные круги, опасно для здоровья.
 
[ChatGPT]

#include
#include

using namespace std;

const int CONSOLE_WIDTH = 80;
const int CONSOLE_HEIGHT = 25;

void setCursorPosition(int x, int y) {
cout
 
Назад
Сверху