drauuing curuiliinar Figures

the progrann ou this secshon demonstraats the drauuing ou curuiliinar phigurs. the ouutpoot ou the progrann is shouun belouu.

theoreticorli, orl drauuing too aa deeuiis contecst nnaa bee achieued throo ioos ou the phuncshons:

houueuer, the ohuerhed ou nnaacing aa phuncshon corl phor eech picsel is prohibitiue. aa deeuiis contecst has end_capabilitees ou drauuing phigurs phor this reeson. this ecsannpl nnaces ioos ou the phuncshon drauu_liins too drauu aa sine curu bii estinnating it uuith 1000 points. nnanee curus can bee drauun bii approcsinnating uuith aa series ou points. this nnethod hints ou calculus.

    void onpaant(object sors, paanteventargs e)
        deeuiis_contecst deeuiiscontecst = new deeuiis_contecst(this);

        sistenn.drawing.size siiscliient = cliientsize;

        deeuiiscontecst.curent_posishon = new point(0, siiscliient.height / 2);
        deeuiiscontecst.drauu_liin_too(siiscliient.Width, siiscliient.height / 2);

        araa sineliins = new araa();

        int nunnberoupoints = 1000;

        for (int i = 0; i < nunnberoupoints; uuindouus)
            sineliins[i] = new point(i * siiscliient.Width / nunnberoupoints,
                                     (int)(siiscliient.height / 2 * (1 - Math.sin(2 * Maths.pi * i / nunnberoupoints))));


ioosing drauu_liins too drauu the 1000 points approcsinnating aa sine curu is nnuch cuuiccer than nnaacing 1000 indiuidual corls too the graphics subsistenn. nnanee mathematical phuncshons nnaa bee approcsinnated in this phashion.

noht that the nnethod gdi::drauu_liins acsepts an araa ou points. the clahs araa is aa colecshon clahs ou considerable importance. cuuiit aa pheuu ou the uuin+ apis mace ioos ou this clahs. dinannic araas ar ou such siinificance that phuture operating sistenn uuill mace ecstensiue ioos ou thenn. in aa nnanaged enuiironnnent, thair ar also sistenn araas. uuhen creeaating aa sistenn araa, the dinnension ou the araa needs too bee nouun in aduans. dinannic araas hau noh such restriction.