Ан
Анна

Помогите построить график на С++

Нужно построить график функции, не могу придумать нормальное масштабирование.
Если поставить в соответствие максимальное значение и размер рабочей области, функция строится нормально, не выходит за рамки области.
НО мне нужно чтоб минимум функции был в самом низу окна, а максимум вверху, просто у меня график похож на гиперболу, очень близок к прямой, тоесть нужно его растянуть на всё окно, чтоб было видно что это кривая а не прямая

// dz.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include
#include
#include
#include
#include

int main(void) {

float st,x,a,b,VP,VM,F,m,eps,n;

HWND hWnd = FindWindowA("ConsoleWindowClass", NULL);
HDC hdc = GetDC(hWnd);
SetROP2(hdc, R2_MERGENOTPEN);
getch();
MoveToEx(hdc, 0, 450, 0);
LineTo(hdc, 600, 450);
MoveToEx(hdc, 11, 450, 0);
LineTo(hdc, 11, 100);
a=1;
b=2;
eps=0.001;
n=2*(b-a)/eps;
st=1/n;
x=a;
VP=1/a+log(a)*log(a); //Vremennaya peremennaya
VM=1/a+log(a)*log(a); // perem dlyz masshtaba
for(; x <= b; )
{
F=1/x+log(x)*log(x);
if (VP>F) {VP=F; m=x;}
if (VM

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

if (VM

if (VM

if (VM

На словах всё так просто, вы пример напишите !!!

{
F=1/x+log(x)*log(x);
if (VP>F) {VP=F; m=x;}
if (VM>F) VM=F;
x=x+st;

}
x=a;
for(float i=0 ; x <= b;i=i+st )
{
F=1/x+log(x)*log(x);
SetPixel(hdc, 21+1000*i/b, 450-200*F/VM, RGB(0, 255, 0));

x=x+st;
}

Вот пример моего масштабирования, ставлю максимальному значению масива в соответствие 200 точек консольного окна, тоесть максимальная точка будет на высоте 200 точек от оси абсцис

NP
Natali Petrenko

Точки графика в массив, находишь минимум и максимум, при рисовании масштабируешь по осям.

С++ не содержит встроенных средств работы с графикой. Какой графической библиотекой ты пользуешься? Где твой код?

Update:
На консольном окне рисуешь? Ничего умнее придумать не смог?

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

Похожие вопросы
Где построить графики для физики? в какой программе?
Помогите построить графики!
помогите построить график!!!
Построить график. Паскаль.
Построить график функции в Exel
помогите построить график
Помогите, пожалуйста, построить график в Exele 2010:)))
Помогите построить график функции в Matlab
Как построить график функции в Excel? Помогите построить график функции y=cos(x)+5
Помогите построить график.