Привет, Одинчан. Я знаю, что ты полон крутых быдлокодеров, посему прошу у тебя помощи. Нужен алгоритм заштриховывания прямоугольной области (xn,yn,xk,yk) как на пикрелейтеде с интервалом между штрихами 3 (ну или больше) пикселя.
Нужна программа на языке СИ. Пусть точка ставится функцией point(x,y).
Я так понимаю, решается это через вложенный цикл: один цикл меняет y, другой заполняет точками по x.
int koef = 1;
for (int i=yn;i<yk;i++)
{
for (int x=xn;x<=xk;x++)
{
point(x+koef,i+1);
x+=koef;
}
getch();
i++;
koef++;
}
Получается какая-то хуйня.
Ах да, начинаю я с другого конца. Слева направо.
Koef — это то, насколько правее будет точка от той, что выше.
НАСТОЛЬГИЯ
for(int i = SIZE - 1; i > 0; i -= 3) { drawLine(Point(SIZE - 1 - i, 0), Point(SIZE - 1, SIZE - 1 - i)); }int koef = расстояние между линиями;
for (int i=0;i<y;i++)
{
for (int j=0;j<=x;j++)
{
point((i-1 mod koef)+koef*j, i+1);
}
getch();
}
>>2039178
Годно, спасибо. Хотя он начинает закрашивание с самого верха экрана, а не с границ области. Что есть mod? Это аналог сишного «%»?
>>2039248
Да, остаток от деления.
На счет границ области — думаю, ты разберешься, для этого надо поменять условия в циклах.
Алсо, мне просто интересно — что за функция поинт? как она выглядит?
>>2039263
Нет такой функции, на самом деле. Есть функция putpixel(x,y,color), описанная в устаревшем graphics.h, который уже нигде не используется. Модуль для досовской графики.
>>2039291
А сейчас это как реализуется?
>>2039297
Разве сейчас где-то используется ДОСовская графика?
>>2039340
Ну так я поэтому и спрашиваю — как сейчас без доса.
>>2039394
Хорошо сейчас без доса, очень хорошо.
(← + Сtrl) вернуться назадк новым сообщениям (Сtrl + →)