Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
 Аватар для Andrianka
3 / 3 / 0
Регистрация: 09.02.2010
Сообщений: 34

графика,круги

15.04.2010, 23:00. Показов 4116. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите плиз,как в графике нарисовать круги рандомом разного радиуса чтобы они не пересекались по линиям,но к примеру круг в круге может быть.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.04.2010, 23:00
Ответы с готовыми решениями:

Графика (окна и круги).
Помогите,пожалуйста доделать программу. Я написал прогу, которая строит два прямоугольных окна с разными параметрами Отсечки(Сlip) и...

Круги в квадрате
Доброго вреемени суток.Помогите сделать рисунок. Нужно нарисовать квадрат со стороной 400.Потом нарисовать круг на серединеверхней...

программа, рисующая на экране круги
Составить программу, рисующую на экране круги - размер круга произвольный, не превышающий заданный - случайное расположение центра ...

6
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
16.04.2010, 09:37
Andrianka, Круги закрашенные, или окружности?
0
 Аватар для Andrianka
3 / 3 / 0
Регистрация: 09.02.2010
Сообщений: 34
16.04.2010, 11:45  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Andrianka, Круги закрашенные, или окружности?
окружности)да и нужно чтобы окружности не виходили за пределы экрана,не были половинчатыми...
вот пример правильных окружностей:
Миниатюры
графика,круги  
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
16.04.2010, 11:48
Вот для окружностей.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
uses graph,crt;
type Okr=record{тип окружность}
         x,y,r,c:longint;{поя - координаты центра, радиус, цвет}
         end;
function Rasst(a,b:Okr):real;{определение расстояния между центрами окружностей}
begin
Rasst:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y));
end;
function NePeres(a,b:Okr):boolean;{пересекаются или нет}
begin
{если расстояние между центрами больше суммы радиусов, или ментше их разности, 
то не пересекаются}
if (Rasst(a,b)>a.r+b.r)or(Rasst(a,b)<abs(a.r-b.r))
then NePeres:=true else NePeres:=false;
end;
var t:array[1..1000] of Okr;{массив окружностей}
    p:Okr;{переменная - окружность}
    n,m,i,j:integer;
    f:boolean;
begin
clrscr;
randomize;
write('Kol okr n=');
readln(n);
j:=0;
initgraph(j,m,'');
m:=1;{первая окружность}
t[1].r:=random(100)+20;{радиус}
t[1].x:=random(getmaxX-2*t[1].r)+t[1].r;{координата по Х, чтобы не выходила за экран}
t[1].y:=random(getmaxY-2*t[1].r)+t[1].r;{то же по У}
t[1].c:=random(15)+1;{все цвета, кроме черного}
for i:=2 to n do{остальные}
 begin
  repeat
  f:=false;{считаем что не пересекаются}
  p.r:=random(100)+20;{задаем параметры ркружности}
  p.x:=random(getmaxX-2*p.r)+p.r;
  p.y:=random(getmaxY-2*p.r)+p.r;
  for j:=1 to m do{идем по масиву уже имеющихся}
  if not NePeres(t[j],p)then f:=true;{если пересекаются, генерируем новые значения}
  until f=false;{не перескаются, стоп машина}
  t[i].r:=p.r;{пишем эту окружность в наш массив}
  t[i].x:=p.x;
  t[i].y:=p.y;
  t[i].c:=random(15)+1;
  m:=m+1;{увеличиваем размер массива для проверки}
 end;
 
for i:=1 to n do
 begin
  setcolor(t[i].c);
  Circle(t[i].x,t[i].y,t[i].r);
 end;
readln
end.
1
 Аватар для Andrianka
3 / 3 / 0
Регистрация: 09.02.2010
Сообщений: 34
16.04.2010, 12:30  [ТС]
большое спасибо,но обьясните еще что значит когда мы пишем через точку:
Pascal
1
2
sqr(a.x-b.x)+sqr(a.y-b.y)
p.r:=random(100)+20;
и что такое getmax:
Pascal
1
t[1].x:=random(getmaxX-2*t[1].r)+t[1].r;
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.04.2010, 12:51
Чрез точку - это такая нотация:
Code
1
объект.поле
,
Code
1
объект.свойство
,
Code
1
объект.метод
,
объектом называется член класса, классом - тип, в котором разрешено создавать подпрограммы-члены, полем данное-член, свойством - поле, сохраняемое в ресурсах, методом подпрограмма-член, в общем случае такая нотация:
Code
1
объект.член
.

Добавлено через 3 минуты
Кроме того, такая же нотация применяется с записями:
Code
1
запись.поле
, записью называется переменная типа записи, а типом записи - тип, в котором разрешено создавать данные-члены (поля). В некоторых языках (например, в c++) тип записи - тоже класс, то есть в нём разрешено создавать и подпрограммы-члены. Специально для сионистов: типом структуры c, c++, c# называется то же самоё, что в паскале называется типом записи.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
16.04.2010, 12:53
Andrianka,
Pascal
1
2
3
type Okr=record{тип окружность}
         x,y,r,c:longint;{поя - координаты центра, радиус, цвет}
         end;
Это объявлен тип запись(record) с полями.
Почитайте про этот тип в Паскале.
Ну а getmaxX, getmsxY просто стыдно не знать если пытаетесь с графикой в Паскале работать. Это функции, возвращающие максимальные размеры экрана по ширине и высоте.
Почитайте это.
https://www.cyberforum.ru/atta... 1241779566
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.04.2010, 12:53
Помогаю со студенческими работами здесь

Графика.Цена деления графика.
Нужно доделать сие творение!Не хватает цены деления хотя бы 3 засечки по иксу в право и по игреку в верх!И еще один вопрос почему на...

Графика
В треугольной призме построить сечение, проходящее через одну из сторон верхнего основания и противолежащую вершину нижнего

графика
Нужно напечатать программу в графическом режиме,для построения параболы y=sqrt(x).Прошу пожалуйста,выручите,срочно.

Графика
uses crt,graph; var pox,poy,k,i,j,pogor,povert,c, x1,y1,x2,y2,x3,y3,x1s,y1s,x2s,y2s,x3s,y3s, GraphDriver,GraphMode,a,a1,m,n:integer; ...

графика
А как построить вот такие задачки? • построения мозаичного изображения; • графического представления результатов в виде круговых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru