imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 17.04.2009, 20:29     # 1
Umnik
Guest
 
Сообщения: n/a

Помогите построить график в C++

Нужно построить "Декартов лист" х=(3*а*т)/(1+т^3);
у=(3*а*т^2)/(1+т^3); Заранее благодарю!
 
Старый 19.04.2009, 18:34     # 2
a_ber
Newbie
 
Регистрация: 25.11.2003
Адрес: Near monitor
Сообщения: 49

a_ber Путь к славе только начался
Где построить? В какой форме Вы хотите иметь его?

До решения об изобразительных средствах, все остальное просто.

Задаете t в нужном интервале с нужным шагом и считаете: x(t) и y(t). Получаете 3 "массива" t, x(t) и y(t). Рисуете соответственно последовательность точек y(t) как функцию x(t). То что шкала по x(t) неравномерная никого не волнует.

В Матлабе это выглядит (Матлаб тут в роле псевдо-кода):
Код:
fi=-pi:.01:pi;
t = tan(fi);
x = 3*a*t./(1+t.^3);
y = (3*a*t.^2)./(1+t.^3);
plot(x,y)
Доп. переменная введена для аккуратности шкалы (по мотивам wikipedia)

Чем заменить plot(x,y)? Чем хотите - зависит от требований, хоть pstricks.
Какую структуру в C++? Опять-таки берите то чему вас учили, например, std::vector. Только оформите циклы в соответствии со стилем.
a_ber вне форума  
Старый 20.04.2009, 16:28     # 3
exnepT
Guest
 
Сообщения: n/a

построить график функции в С++

Общая формулировка задания:
Написать программу на языке высокого уровня C/С++, позволяющую получить на экране график заданной функции. Координатную плоскость отображать в зависимости от типа функции (декартовые или полярные координаты). С графиком функции предусмотреть действия, указанные в индивидуальном варианте.
После запуска программы на экране отображается словесная постановка задачи.
Далее должны быть запрошены параметры графика, вводимые пользователем:
1)коэффициенты функции;
2)диапазон вывода по оси X и по оси Y для функций в декартовой системе координат;
3) максимальный радиус-вектор для функций в полярной системе координат.
После ввода всех необходимых параметров на экране должно быть построено соответствующее координатное пространство с нанесенным на нем графиком. На координатной сетке должны располагаться подписи в виде значений в местах пересечения сетки с осями координат. По клавише ‘G’ предусмотреть отображение/скрытие координатной сетки (Примечание: для полярной системы координат координатная сетка является не прямоугольной, а радиальной).
В верхней части графика должно быть представлено название и математическая формула функции, график которой реализуется в курсовом проекте (например, «Кривая второго порядка y(x)=2*x^2-5*x+3»).
Под графиком должен располагаться текст с описанием назначений быстрых клавиш, используемых в программе (например, «Q – ВЫХОД»).
Также под графиком должны выводиться на экран максимальные и минимальные значения функции (область допустимых значений), нули функции (это такие значения аргументов, при которых значение функции равно 0, для полярных координат это такие значения угла φ, при которых радиус-вектор равен нулю, или очень близок к нему с задаваемой точностью x).
Разработать программу, перенеся объявление переменных и вызов соответствующих функций в отдельный модуль, объединить модули в проекте.

добавлено через 1 минуту
Вот сама функция:
Трактриса
  x=A·(cos(t)+ln(tg(t/2))
  y=A·sin(t)

1. Предусмотреть масштабирование графика в целом (при нажатии клавиш ‘+’ и ‘‑’) с шагом в 10%.
2. Предусмотреть вращение графика по/против часовой стрелки с помощью клавиш ‘Q’ и ‘W’ соответственно. Шаг поворота 5°.
3. Предусмотреть сдвиг графика вверх/вниз/влево/вправо с помощью клавиш ‘A’, ‘Z’, ‘O’ и ‘P’ соответственно. Шаг сдвига – 15 пикселей.

добавлено через 1 минуту
Люди добрые помогите кто чем сможет!!!
 


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 11:52.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.