Как заполнить круг белыми точками рандомно? - Pascal
Формулировка задачи:
putpixel(random((320-R)+1+(320+R)-1), random((240-R)+1+(240+R)-1),white); Что нужно написать тут чтобы точки были только внутри круга?
Листинг программы
- program krug;
- uses crt,graph;
- var R,d,m,i: Integer;
- Begin
- clrscr;
- Writeln('Vvedite radius okruznosti R');
- read(R);
- d:=9;
- m:=2;
- initgraph(d,m,'');
- randomize;
- setcolor(2);
- circle(320,240,R);
- setfillstyle(1,green);
- floodfill(320,240,green);
- for i:= 1 to 100 do
- putpixel(random((320-R)+1+(320+R)-1), random((240-R)+1+(240+R)-1),white);
- readln;
- readkey;
- end.
Решение задачи: «Как заполнить круг белыми точками рандомно?»
textual
Листинг программы
- const xc=320; yc=240;
- ...
- Circle(xc,yc,R);
- ...
- for i:=1 to 100 do begin
- repeat
- tx:=-R+Random(2*R+1); ty:=-R+Random(2*R+1);
- until Sqr(tx)+Sqr(ty)<=Sqr(R);
- PutPixel(xc+tc,yc+tc,White);
- end;
Объяснение кода листинга программы
- Создание констант
xc
иyc
со значениями320
и240
соответственно. - Отображение круга с центром в точке (
xc
,yc
) и радиусомR
. - Цикл для заполнения области вокруг круга белыми точками, повторяемый 100 раз:
- Генерация случайных координат
tx
иty
в диапазоне от-R
доR
. - Повторять генерацию случайных координат, пока сумма их квадратов не будет меньше или равна квадрату радиуса круга.
- Установка пикселя с координатами (
xc+tc
,yc+tc
) в цвет белый (White).
- Генерация случайных координат
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д