http://kmlinux.fjfi.cvut.cz/~culikzde/zpro/simple-drawing.zip
#include "drawing.h"
#include
void draw (int w, int h)
{
color (255, 0, 0);
line (0, 0, w-1, 0);
color (0, 255, 0);
line (w-1, 0, w-1, h-1);
color (0, 0, 255);
line (w-1, h-1, 0, h-1);
color (255, 200, 0);
line (0, h-1, 0, 0);
/* osa x */
color (255, 0, 0);
line (0, h/2, w-1, h/2);
color (0, 0, 255);
for (int i = 0; i < w; i += 4)
{
double x = double (i) * (2*M_PI) / w;
double y = sin (x);
// (i,k) souradnice (0,0) ... (w-1,h-1)
int k = - y * h/2 + h/2;
line (i, h/2, i, k);
// line (i, 0, i, k);
}
}
#include "drawing.h"
#include
int w, h; // sirka a vyska obrazovky
double xmin = 0, xmax = 1;
double ymin = 0, ymax = 1;
int xconv (double x) // xmin..xmax --> 0..w-1
{
return (x-xmin) / (xmax-xmin) * (w-1);
}
int yconv (double y) // ymin..ymax --> 0..h-1
{
// return (y-ymin) / (ymax-ymin) * (h-1);
return (y-ymax) / (ymin-ymax) * (h-1);
}
void draw (int w0, int h0)
{
w = w0;
h = h0;
xmin = 0;
xmax = 2*M_PI;
ymin = -1.1;
ymax = 1.1;
color (0, 0, 255);
for (double x = 0; x < 2*M_PI; x += 0.05)
{
double y = sin (x);
line (xconv (x), yconv (0), xconv (x), yconv (y));
}
color (255, 0, 0);
line (0, 0, w-1, 0);
color (0, 255, 0);
line (w-1, 0, w-1, h-1);
color (0, 0, 255);
line (w-1, h-1, 0, h-1);
color (255, 200, 0);
line (0, h-1, 0, 0);
/* osa x */
color (255, 0, 0);
line (0, h/2, w-1, h/2);
}
#include "drawing.h"
#include
int w, h; // sirka a vyska obrazovky
double xmin = 0, xmax = 1;
double ymin = 0, ymax = 1;
int xconv (double x) // xmin..xmax --> 0..w-1
{
return (x-xmin) / (xmax-xmin) * (w-1);
}
int yconv (double y) // ymin..ymax --> 0..h-1
{
// return (y-ymin) / (ymax-ymin) * (h-1);
return (y-ymax) / (ymin-ymax) * (h-1);
}
void draw (int w0, int h0)
{
w = w0;
h = h0;
xmin = 0;
xmax = 2*M_PI;
ymin = -1.1;
ymax = 1.1;
color (0, 0, 255);
double x0;
double y0;
bool ready = false; // true => x0, y0 obsahuji platna data
const double step = 0.05;
for (double x = x0; x <= 2*M_PI; x += step)
{
double y = sin (x);
if (ready)
{
line (xconv (x0), yconv (y0), xconv (x), yconv (y));
}
x0 = x;
y0 = y;
ready = true;
}
color (255, 0, 0);
line (0, 0, w-1, 0);
color (0, 255, 0);
line (w-1, 0, w-1, h-1);
color (0, 0, 255);
line (w-1, h-1, 0, h-1);
color (255, 200, 0);
line (0, h-1, 0, 0);
/* osa x */
color (255, 0, 0);
line (0, h/2, w-1, h/2);
}