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

Построение графика кардиоиды и розы в полярной системе координат

30.03.2011, 13:37. Показов 9624. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна помощь в построении графика кардиоиды и полярной розы в Pascal ABC.
Вся сложность заключается в том, что мне необходимо сделать так, чтобы нужно было самому вводить значения координат (положительные и отрицательные) для построения графика. Не знаю, как это правильно сделать.
Кто знает, помогите, пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.03.2011, 13:37
Ответы с готовыми решениями:

Построение графика функций в полярной системе координат p^2=a^2*tg(φ)
Составьте программу построения графика функций в полярной системе координат: p^2=a^2*tg(φ)

Построение графиков функций в полярной системе координат
Составьте программу построения графика функций в полярной системе координат 1. ρ=2(1+cos(φ)) 2. ρ=1+(2cos(φ)-cos(6φ))/3 3. ρ=10sin3φ

Построение графика в полярной системе координат
нужно было постоить график в полярной системе координат функции p = exp(fi/10). но проблема вместо графика мигает точка в середине экрана и...

3
0 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 3
30.03.2011, 14:09
Значения координат- в смысле формулы?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
30.03.2011, 15:39
Кардиоида в полярных.

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
uses crt,graphABC;
var x0,y0,d,i,x1,y1,fn,fk:integer;
    r,a,f,x,xr,yr:real;
    s:string;
begin
write('a=');readln(a);
x0:=windowwidth div 2;
y0:=windowheight div 2;
{КООРДИНАТНАЯ  СЕТКА}
d:=round((y0-40)/(round(a)));{шаг по оси радиуса в пикселях}
setpencolor(clBlue);
setbrushstyle(bsClear);
for i:=1 to round(a) do
 begin
  {рисуем окружности}
  circle(x0,y0,i*d);
  {пишем шкалу}
  str(i,s);
  textout(x0-i*d+5,y0+10,s);
 end;
f:=30;{шаг по кругу=30 град}
for i:=1 to 12 do{делим на 12 частей}
 begin
  {рисуем радиусы пунктиром}
  Setpenstyle(psDash);
  x1:=x0+round((y0-40)*cos(i*f*pi/180));
  y1:=y0-round((y0-40)*sin(i*f*pi/180));
  line(x0,y0,x1,y1);
  {пишем подписи}
  str(i*30,s);
  if (x1>=x0)and(y1<y0) then textout(x1+10,y1-15,s)
  else if (x1>=x0)and(y1>=y0) then textout(x1+10,y1+10,s)
  else if (x1<x0)and(y1<y0) then textout(x1-40,y1-15,s)
  else if(x1<x0)and(y1>=y0)then textout(x1-40,y1+10,s)
 end;
{рисуем осевые линии сплошной линией}
Setpenstyle(psSolid);
line(10,y0,windowwidth-10,y0);
line(x0,0,x0,windowheight);
textout(x0+5,y0+10,'0');
textout(25,y0+10,'A');
{ГРАФИК}
x:=0;{начальный угол}
while x<=360 do{полный оборот}
 begin
    r:=a*(1-cos(x));{уравнение в полярных координатах}
    xr:=r*cos(x);{приведение к Декартовым}
    yr:=r*sin(x);
    x1:=x0+round(d*xr/2);{приведение к экранным}
    y1:=y0-round(d*yr/2);
    setpixel(x1,y1,clRed);
    x:=x+0.01;
 end;
end.
Добавлено через 17 минут
Вроде роза в полярных...

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 crt,graphABC;
var x0,y0,d,i,x1,y1,fn,fk:integer;
    r,a,f,x,xr,yr,m:real;
    s:string;
begin
write('a=');readln(a);
x0:=windowwidth div 2;
y0:=windowheight div 2;
{КООРДИНАТНАЯ  СЕТКА}
d:=round((y0-40)/(round(a)));{шаг по оси радиуса в пикселях}
m:=2*(y0-40);{масштаб для графика}
setpencolor(clBlue);
setbrushstyle(bsClear);
for i:=1 to round(a) do
 begin
  {рисуем окружности}
  circle(x0,y0,i*d);
  {пишем шкалу}
  str(i/a:0:1,s);
  textout(x0-i*d+5,y0+10,s);
 end;
f:=30;{шаг по кругу=30 град}
for i:=1 to 12 do{делим на 12 частей}
 begin
  {рисуем радиусы пунктиром}
  Setpenstyle(psDash);
  x1:=x0+round((y0-40)*cos(i*f*pi/180));
  y1:=y0-round((y0-40)*sin(i*f*pi/180));
  line(x0,y0,x1,y1);
  {пишем подписи}
  str(i*30,s);
  if (x1>=x0)and(y1<y0) then textout(x1+10,y1-15,s)
  else if (x1>=x0)and(y1>=y0) then textout(x1+10,y1+10,s)
  else if (x1<x0)and(y1<y0) then textout(x1-40,y1-15,s)
  else if(x1<x0)and(y1>=y0)then textout(x1-40,y1+10,s)
 end;
{рисуем осевые линии сплошной линией}
Setpenstyle(psSolid);
line(10,y0,windowwidth-10,y0);
line(x0,0,x0,windowheight);
textout(x0+5,y0+10,'0');
textout(25,y0+10,'A');
{ГРАФИК}
x:=0;{начальный угол}
while x<=360 do{полный оборот}
 begin
    r:=cos(a*x);{уравнение в полярных координатах}
    xr:=r*cos(x);{приведение к Декартовым}
    yr:=r*sin(x);
    x1:=x0+round(m*xr/2);{приведение к экранным}
    y1:=y0-round(m*yr/2);
    setpixel(x1,y1,clRed);
    x:=x+0.01;
 end;
end.
Добавлено через 55 секунд
Там лишние переменные из обеих программ убери, от другой программы осталось...
1
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 10
30.03.2011, 15:44  [ТС]
Цитата Сообщение от DeFRAGer Посмотреть сообщение
Значения координат- в смысле формулы?
Мне нужно, чтобы визуально это выглядело так:

Выберите график для построения:
1 - Кардиоида;
2 - Полярная роза;


Допустим, я нажал на 2, подтвердил выбор. А затем должно появиться:

Введите значение для коэффициента k:

Тут нужно ввести произвольное значение в диапазоне, например, от 1 до 10.
r = a cos kφ - уравнение полярной розы, k указывает количество лепестков.
Знаю, что это будет не просто сделать, сам пытаюсь как могу...

Добавлено через 4 минуты
Puporev, спасибо за помощь. Думаю, остальное сам осилю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2011, 15:44
Помогаю со студенческими работами здесь

Построение графика в полярной системе координат
При каких значениях n, m, a и b (a&lt;=t&lt;=b), с помощью функции r(t)=n*(m-cos(t)) можно построить следующий график в полярной системе...

Построение графика функций в полярной системе координат
Составьте программу построения графика функций в полярной системе координат: 1) p=ctg(2x); 2) p=sin(x)-3cos(x); 3) p=z/x

Построение графика функций в полярной системе координат
Составьте программу построения графика функций в полярной системе координат 1) p=tg(2x) 2)p=(sin(x)-3cos(x))/cos^2(x) 3) p= Pi/x

Построение графика функций в полярной системе координат
Написала код для задачи, запускаю, а у меня то комп зависает, то рисуется маленькая точка в углу формы и все. Посмотрите, может найдете в...

Построение графика в полярной системе координат с табличными значениями
Здравствуйте. Нужно построить график в полярной системе координат I=F(f), где f-угол от 10 до 360 градусов. Т.е. надо вбить сразу все 36...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
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 Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru