Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 27

Сделать так чтобы штрихпунктирные окружности двигались по окружности и увеличивали/уменьшали радиус

10.12.2013, 16:53. Показов 1890. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
uses graphABC;
var
x,y : integer;
k : word;
 
 
begin
setwindowsize(700,500);
setpencolor(clred);
setpenstyle(psdash);
setpenwidth(1);
Circle(370,240,140);
setpencolor(clblue);
setpenstyle(psSolid);
setpenwidth(3);
Circle(370,240,100);
setpencolor(clred);
setpenstyle(psdash);
setpenwidth(1);
Circle(370,240,60);
setpencolor(clblack);
setpenstyle(pssolid);
line(370,240,180,180);
line(180,180,200,200);
line(180,180,210,180);
line(370,240,570,120);
line(570,120,540,120);
line(570,120,560,145);
line(370,240,430,320);
line(430,320,430,290);
line(430,320,400,310);
setfontsize(18);
textOut(430,270,'R');
line(312,223,330,240);
line(312,223,337,220);
line(490,170,480,190);
line(490,170,465,170);
setfontsize(15);
textOut(300,190,'r1');
setfontsize(15);
textOut(485,125,'r2');
setfontsize(20);
textOut(190,145,'E1');
setfontsize(20);
textOut(580,125,'E2');
 
end.






Ребята, как сделать так чтобы штрихпунктирные окружности двигались по окружности и увеличивали/уменьшали радиус бесконечное кол-во раз, не заходя за синюю окружность? напишите сразу в программу пожалуйста!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2013, 16:53
Ответы с готовыми решениями:

Генерировать по случайным координатам окружности, так, чтобы они не вышли за рамки известной большей окружности
Столкнулся с такой проблемой: Моя задача требует генерировать по случайным координатам окружности, так, чтобы они не вышли за рамки...

Найти радиус вписанной окружности и радиус описанной окружности
Даны действительные положительные числа a,b,c, которые являются длинами сторон треугольника. Напишите программу, позволяющую найти радиус...

Задан радиус окружности. Определите длину окружности и площадь соответствующего круга
Помогите пожалуйста , не знаю как сделать !

9
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
10.12.2013, 18:36
Цитата Сообщение от MincE Посмотреть сообщение
чтобы штрихпунктирные окружности двигались по окружности и увеличивали/уменьшали радиус бесконечное кол-во раз
Второе делается просто, изменением радиуса и перерисовкой, а движение сложнее, просто штрихпунктирной линией не обойтись, нужно нарисовать их массивом прерывистых дуг и потом в цикле менять угол и перерисовывать.
0
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 27
10.12.2013, 20:04  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Второе делается просто, изменением радиуса и перерисовкой, а движение сложнее, просто штрихпунктирной линией не обойтись, нужно нарисовать их массивом прерывистых дуг и потом в цикле менять угол и перерисовывать.
а можешь мне это сделать?? потому что честно говоря, в душе не знаю как это делать ((
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
10.12.2013, 20:07
Только если завтра, у меня уже поздновато.
0
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 27
10.12.2013, 20:09  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Только если завтра, у меня уже поздновато.
даже если и завтра! буду очень при очень признателен!!просто очень срочно необходимо
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
11.12.2013, 09:48
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Почему-то у меня надпись R2 дергается, не нашел причину.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
uses graphABC,crt;
type duga=record
          a1,a2:real;
          end;
var xc,yc,r:integer; //центр и радиус синей окружности
procedure fon; //рисование фона, то что не движется
var x,y,r1:integer;
begin
r1:=5*r div 2;
setpencolor(clblue);
setpenwidth(3);
Circle(xc,yc,r);
setpencolor(clblack);
setpenwidth(1);
setfontsize(12);
x:=xc+round(r*cos(-pi/4));
y:=yc-round(r*sin(-pi/4));
line(xc,yc,x,y);
line(x,y,x-5,y-20);
line(x,y,x-20,y-5);
textOut(x-5,y-40,'R');
x:=xc+round(r1*cos(0.9*pi));
y:=yc-round(r1*sin(0.9*pi));
line(xc,yc,x,y);
line(x,y,x+15,y-5);
line(x,y,x+10,y+15);
textOut(x-5,y-30,'E1');
x:=xc+round(r1*cos(0.1*pi));
y:=yc-round(r1*sin(0.1*pi));
line(xc,yc,x,y);
line(x,y,x-15,y-5);
line(x,y,x-10,y+15);
textOut(x-15,y-30,'E2');
end;
 
procedure p(u,du,k:real;r,n:integer;s:string);//рисование того что движется
var a:array[1..100] of duga;
    x,y,i:integer;
begin
for i:=1 to n  do
 begin
  a[i].a1:=u;
  a[i].a2:=u+du/2;
  u:=u+du
 end;
setpencolor(clRed);
for i:=1 to n do
arc(xc,yc,r,a[i].a1,a[i].a2);
setpencolor(clBlack);
x:=xc+round(r*cos(k*pi));
y:=yc-round(r*sin(k*pi));
if k>0.5 then
 begin
  line(x,y,x+15,y-5);
  line(x,y,x+10,y+15);
  textOut(x-5,y-30,s);
 end
else
 begin
  line(x,y,x-15,y-5);
  line(x,y,x-10,y+15);
  textOut(x,y-35,s);
 end;
end;
var n,r1,r2:integer;
    u,du:real;
begin
setwindowsize(700,500);
hidecursor;
xc:=windowwidth div 2;
yc:=windowheight div 2;
r:=100;
r1:=50;
r2:=150;
n:=15;//количество штрихов=дуг
du:=360/n;//шаг по кругу
u:=0; //начальный угол
lockdrawing;
repeat
clearwindow;
while (r1<=97)and not keypressed do
  begin
   clearwindow;
   textout(xc-100,20,'Завершение любая клавиша');
   fon;
   r1:=r1+2;
   r2:=r2+2;
   u:=u+2;
   p(u,du,0.9,r1,n,'R1');
   p(u,du,0.1,r2,n,'R2');
   sleep(100);
   redraw;
  end;
 while (r2>=103)and not keypressed do
  begin
   clearwindow;
   textout(xc-100,20,'Завершение любая клавиша');
   fon;
   r1:=r1-2;
   r2:=r2-2;
   u:=u+2;
   p(u,du,0.9,r1,n,'R1');
   p(u,du,0.1,r2,n,'R2');
   sleep(100);
   redraw;
  end;
until keypressed
end.
1
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 27
11.12.2013, 13:39  [ТС]
Я ПРОСТО НЕ ЗНАЮ КАК ВЫРАЗИТЬ СВОЮ БЛАГОДАРНОСТЬ! СПАСИБО!
0
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 27
11.12.2013, 13:51  [ТС]
из огня да в полымя... у меня еще 1 проблема как это теперь вставить вот сюда
Вложения
Тип файла: rar основнойкурсач - копия - копия.rar (2.2 Кб, 2 просмотров)
0
0 / 0 / 1
Регистрация: 14.11.2013
Сообщений: 27
11.12.2013, 14:39  [ТС]
Up~~~!!
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
11.12.2013, 14:49
Вставить процедуру рисования не проблема, но как из нее выйти в меню, я не знаю.
Вложения
Тип файла: rar копия-поправлено.rar (3.6 Кб, 6 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.12.2013, 14:49
Помогаю со студенческими работами здесь

Найти радиус окружности и площадь круга по заданной длине окружности
Дана длина L окружности. Найти ее радиус R и площадь S круга, ограниченного этой окружностью, учитывая, что L = 2·π·R, S =...

Определить, во сколько раз радиус большей окружности больше радиуса меньшей окружности
Здравствуйте все! В общем проблема такова: имеется задание: &quot;Известны длины трех окружностей. Определить во сколько раз радиус большей...

Вычислить радиус окружности по введённой с клавиатуры площади окружности
Напишите программу, которая вычисляет радиус окружности по введённой с клавиатуры площади окружности. Результат выводится на монитор.

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

Класс "Окружность" с данными центр и радиус окружности. Вычислить длину и площадь окружности.
Объявить класс и определить для него конструктор по умолчанию, конструктор инициализации. Определить функции-члены класса для ввода и...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru