This program uses WinApi function SetPixel() to plot math functions y = sin(x) and y = cos(x) and y = sin(x)*cos(x) along a y-axis centered on the console screen. Make sure that gdi32.lib is included in the libraries to be linked.
Plotting math functions
// plot y = sin(x), y = cos(x) and y = sin(x)*cos(x) to a console window
// tested with Pelles C free at: http://smorgasbordet.com/pellesc/index.htm
// this C package comes with a great IDE
// a Windows Console Application by vegaseat 18mar2005
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <windows.h>
int main(void)
{
int x, y;
char str1[] = " yellow is sin(x), red is cos(x), green is sin(x)*cos(x) ";
COLORREF yellow = RGB(255,255,0);
COLORREF red = RGB(255,0,0);
COLORREF green = RGB(0,200,0);
COLORREF blue = RGB(0,0,255);
// get the window's handle, make sure the names match
SetConsoleTitle("ConGraphics");
HWND hWnd = FindWindow(NULL, "ConGraphics");
// get the handle to Device Context
HDC hDC = GetDC(hWnd);
TextOut(hDC, 10, 20, str1, strlen(str1));
// draw a yellow sine curve
for(x = 0; x < 700; x++)
{
// center at y = 200 pixels
y = (int)(sin(x/100.0)*100 + 200);
SetPixel(hDC, x, y, yellow);
}
// draw a red cosine curve
for(x = 0; x < 700; x++)
{
// center at y = 200 pixels
y = (int)(cos(x/100.0)*100 + 200);
SetPixel(hDC, x, y, red);
}
// draw a green sin(x)*cos(x) curve
for(x = 0; x < 700; x++)
{
// center at y = 200 pixels
y = (int)(sin(x/100.0) * cos(x/100.0) * 100 + 200);
SetPixel(hDC, x, y, green);
}
// draw center line
for(x = 0; x < 700; x++)
{
SetPixel(hDC, x, 200, blue);
}
// free up the resources
ReleaseDC(hWnd, hDC);
DeleteDC(hDC);
getchar(); // wait
return 0;
}
brale 0 Newbie Poster
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.