Desenați un grafic al funcției în Delphi
În acest articol ne vom uita la mai multe moduri de a desena graficul oricărei funcții. Desenați un grafic vom schița în componenta de imagine.
Bazându-se pe pixeli
Vopsea pe panza poate fi o varietate de moduri. Prima opțiune - pentru a picta pixeli. În acest scop, proprietatea pixelilor panza. Această proprietate este o matrice bidimensională, care este responsabil pentru culoarea panza. De exemplu Canvas.Pixels [10,20] - corespunde culoarea pixelului cu coordonatele (10,20). Cu o matrice de pixeli pot fi tratate ca orice proprietate care schimba culoarea specificând o nouă valoare în pixeli, sau pentru a determina culoarea, cu valoarea stocată în acesta. In exemplul de mai jos definim pixel negru cu coordonatele (10,20): Acum vom încerca să atragă un grafic al funcției F (x), dacă știm gama de modificările Ymax și Ymin, precum și intervalul de variație a argumentului Xmax și xmin. Pentru a face acest lucru, vom scrie o funcție particularizată care va calcula valoarea F la punctul x, în timp ce, de asemenea, va reveni maxim și minim al funcției și argumentul său. Nu uitați să specificați titlul acestei funcții în public secțiunea: Aici, din motive de claritate, vom specifica pur și simplu o serie de opțiuni pentru schimbarea sin (x) și argumentele sale de mai jos, această funcție va fi descrisă în întregime. Parametrii Xmax, xmin, Ymax, Ymin - Var descris cu cuvântul, deoarece acestea sunt de intrare-ieșire, și anume prin intermediul lor, funcția va reveni la calcularea valorii acestor date la programul principal. Prin urmare, este necesar să se declare Xmax, xmin, Ymax, Ymin ca variabile globale în implementarea secțiunii: Acum, pus pe un buton pentru a forma și în handler eveniment de OnClick scrie următorul cod: Acest cod trebuie introdus x și y, care sunt valorile argumentului și funcția, precum și variabile PX și PY, sunt coordonatele pixelilor corespunzând x și y. Procedura în sine include un ciclu pentru toate valorile coordonatelor orizontale ale pixelilor PX componenta Image1. În primul rând, valoarea PX selectată este recalculată la valoarea x corespunzătoare. Apoi, funcția apel F (x) este determinat și Y. valoarea sa Această valoare este convertită în verticală coordonată a PY pixel.
Desen cu pix stilou
În panza există o proprietate de Pen - un stilou. Acest obiect, la rândul său, are un număr de proprietăți. Unul dintre ei - proprietate Color - culoarea care se aplică imaginii. A doua proprietate - Lățime - lățimea liniei este setată în pixel (cel implicit).
proprietate stil determină tipul de linie și poate lua următoarele valori:
linie solidă psSolid
psDash linie punctată
psDot linie punctată
psDashDot linie-punct
line psDashDotDot, bar alternativ și două linii
absenta psClear liniei
linie solidă psInsideFrame, dar Lățime> 1 poate fi colorat, non Windows paletă
Toate stilurile cu accidente vasculare cerebrale și linii punctate sunt disponibile numai în cazul în care grosimea liniilor egal cu 1. În caz contrar, liniile sunt desenate sub forma unui solid.
In panza se PenPos tip de proprietate TPoint. Această proprietate determină coordonatele Pânză în poziția curentă a pen-ului. Mutarea stilou fără vectorizare este realizată prin MoveTo (x, y). După apelarea acestei metode, un punct de contur coordonatele (x, y) devine o sursă pentru a trasa o linie în orice punct cu coordonatele (x, y) prin LineTo (x, y).
Să încercăm acum să atragă un grafic al stiloului sine. Pentru a face acest lucru, se adaugă înainte de operatorul ciclu: Și înainte de sfârșitul finală a ciclului pentru a adăuga următoarea declarație: Deci, ar trebui să obțineți următorul cod: După cum ați observat deja, dacă rulați programul, calitatea graficii desen stilou, mult mai bine decât bazându-se pe pixeli.
Ca promised'll a scrie un program de probă care găsește maxim și minim al unei funcții. Sunt un pic schimbat structura procedurilor și funcțiilor, în scopul de a face mai clar. Aici este gata pentru a programa codul:
Asta e, noroc!