http://kmlinux.fjfi.cvut.cz/~culikzde/zpro/simple-drawing.zip

#include "drawing.h"
#include <cmath>
 
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 <cmath>
 
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 <cmath>
 
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);
}
 
ckresleni2019.txt · Last modified: 2019/12/17 12:49 by 147.32.8.110
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki