Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097

Отображение графиков функций на C++ (WinApi)

06.05.2016, 20:50. Показов 2289. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
хочу сделать программу под visual studio 2013 C++, позволяющую отображать графики функций, заданных таблично (чтение из файла) и простейшими математическими выражениями. Программа должна использовать базовый набор функций Windows API (application programming interfaces).

Отображать графики элементарных функций:
Cos
Sin
Tg
Ctg
1/x


Задать свой график таблично (по точкам) и работать с ним:
редактировать его
сохранить график в файл
загрузить график из файла

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

C++
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
// ConsoleApplication18.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include<Windows.h>
 
void Circle(HWND hW, int xCenter, int yCenter, int radius, COLORREF borderColor, COLORREF fillColor)
{
    HDC hDC = GetDC(hW);
    HPEN hPen = CreatePen(PS_SOLID, 1, borderColor);
    HPEN hOldPen = (HPEN)SelectObject(hDC, hPen);
    HBRUSH hBrush = CreateSolidBrush(fillColor);
    HBRUSH hOldBrush = (HBRUSH)SelectObject(hDC, hBrush);
 
    Ellipse(hDC, xCenter - radius, yCenter - radius, xCenter + radius, yCenter + radius);
 
    SelectObject(hDC, hOldPen);
    DeleteObject(hPen);
    SelectObject(hDC, hOldBrush);
    DeleteObject(hBrush);
    ReleaseDC(hW, hDC);
}
 
 
void Rectangle(HWND hW, int x0, int y0, int x1, int y1, COLORREF color)
{
    HDC hDC = GetDC(hW);
    HBRUSH hBrush = CreateSolidBrush(color); //задаём сплошную кисть, закрашенную цветом RGB
    SelectObject(hDC, hBrush); //делаем кисть активной
    Rectangle(hDC, x0,y0,x1,y1); //закрашенный цветом 255,0,67 прямоугольник
    DeleteObject(hBrush);
    ReleaseDC(hW, hDC);
}
 
void Line(HWND hW, int x0, int y0, int x1, int y1, COLORREF color)
{
    HDC hDC = GetDC(hW);
    HPEN hPen = CreatePen(PS_SOLID, 2, color);
    HPEN hOldPen = (HPEN)SelectObject(hDC, hPen);
    POINT p = { 0, 0 };
    GetCurrentPositionEx(hDC, &p);
    MoveToEx(hDC, x0, y0, &p);
    LineTo(hDC, x1, y1);
    SelectObject(hDC, hOldPen);
    DeleteObject(hPen);
    ReleaseDC(hW, hDC);
}
int _tmain(int argc, _TCHAR* argv[])
{
    //.....И получим желтую линию.
    HWND hW = GetConsoleWindow();
    //Line(hW, 100, 100, 200, 200, RGB(255, 255, 0));
    
    //.....Получаем закрашенный розовый прямоугольник
    //Rectangle(hW, 100, 100, 200, 200, RGB(255, 0, 67));
    //получаем окружность с радиусом 50,с синей обводкой желтого цвета
    Circle(hW, 100, 100, 50, RGB(0, 0, 255), RGB(255, 255, 0));
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2016, 20:50
Ответы с готовыми решениями:

Рисование графиков функций в WinApi
Доброе время суток. Я начинающий программист хочу попросить помощи у вас собратьев. Написал код ,а он выдаёт множество ошибок в которых не...

Возможно ли отображение графиков функций (например, в виде точек) в командной строке?
Добрый день, форумчане! Может кто может дать добрый совет, как начертить ось координат и график функций в командной строке? Например,...

Рисование простейших графиков на WinAPI
Нашел программу для рисования синусоидальной волны. Как ее переделать, чтоб рисовала график функции y = x^2? Или y = x^3. Никак не...

1
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
08.05.2016, 00:21
я блин на Марс , уже который год хочу, таки не пущают, но это не в тему, а в тему для того что бы реализовать то что ты хочешь то тебе надо понять что та или иная функция делает, как вариант научится пользоваться отладчиком, благо в студии он выше всех похвал, и по шагово пройти пример кода, и пока не поймешь последнюю строку , смысла лезть куда то дальше нет. и так же не помешает видо изменять уже существующий код , для того что бы лучше понять что и как. ну а после уже с полным пониманием происходящего можно творить все что душе угодно, других вариантов нет, ТЕЛЕПАТОВ КАКИЕ ТО сцуки ПЕРЕБИЛИ )))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.05.2016, 00:21
Помогаю со студенческими работами здесь

отображение графиков
Здравствуйте! Программа на маткаде 14 рабочая. Подскажите пожалуйста, с чем может быть связано не отображение графиков. И вообщем, что...

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

Отображение графиков
При отображении графиков ось Х нумеруется порядковыми номерами значения, а надо нумировать соответствующими датами. В чём косяк? Кусос...

Отображение графиков в вебе
Здравствуйте господа! Есть проект на С#, Windows Forms, изпользующий библиотеку ZedGraph для работы с графиками и диаграммами. Проект...

Отображение графиков в Canvas
Доброго времени суток, я снова вернулся сюда по вопросам адекватного отображения рисунков в своих программах. Теперь, когда проблема с...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Перейдите по ссылке:. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
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 будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru