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.
Desen Pixel
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, iar intervalul schimbă argumentul 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 opțiuni în public:
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 secțiunea de punere în aplicare:
Acum am pus forma buton și în handler eveniment de OnClick scrie următorul cod:
Acest cod trebuie introdus variabilele x și y, care sunt valorile argumentului și funcția, precum și variabilele 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 pixel vertical coordonate de PY
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. O culoare de proprietate - culoarea care se aplică imaginii. A doua proprietate Lățime - lățimea liniei este dată în pixeli (implicit este 1).
proprietate stil determină tipul de linie și poate lua următoarele valori:
Linia solidă, dar Lățime> 1 poate fi colorat, paleta non Windows
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 adaugă următoarea declarație înainte de a ciclului final finală:
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:
sinusurile lucru amuzant: