Rajzolj egy függvény grafikonját a Delphi - Cikk

Rajzolj egy függvény grafikonját a Delphi

Ebben a cikkben nézzük meg több módon felhívni a grafikon minden funkciót. Rajzolj egy gráf Cikkünkben bemutatjuk az Image komponenst.







Rajz képpont

Festék, vászon lehet a legkülönfélébb módokon. Az első lehetőség - festeni a pixel. Erre a célra az ingatlan a vászon pixel. Ez a tulajdonság egy kétdimenziós tömb, amely felelős a színe a vásznon. Például Canvas.Pixels [10,20] - megfelel a színét a pixel koordinátái (10,20). Egy sor pixel lehet kezelni, mint bármely vagyon hogy a színe megváltozik megadásával egy új értéket, vagy hogy meghatározza a színét, a tárolt értéket biztosít. Az alábbi példában definiálunk fekete pixelt a koordináták (10,20):

Most megpróbáljuk felhívni a grafikon az F (x), ha tudjuk, hogy az általa ellátott változások Ymax és ymin és a tartomány megváltozik Xmax és Xmin érv. Ehhez fogunk készíteni egy egyedi funkció, amely az A értékét F ponton x, ugyanakkor visszatér a maximális és minimális a funkció és az érvelését.

Ne felejtsük el, hogy adja meg a címet ennek a lehetőségnek a Public:

Itt, az egyértelműség kedvéért, egyszerűen meg egy sor lehetőséget változó a sin (x) és annak érvek alatti, ez a funkció ismertetjük teljes egészében. Paraméterek Xmax, Xmin, Ymax, Ymin - Var le a szót, mert az input-output, azaz a rajtuk keresztül, a függvény visszatérési értéke kiszámításánál ezeket az adatokat a fő program. Ezért szükséges, hogy állapítsa meg a Xmax, Xmin, Ymax, Ymin mint globális változók a végrehajtási szakasz:

Most tegye a gomb alakját és annak onclick eseménykezelő írni a következő kódot:

Ezt a kódot kell beírni x és y változót, melyek értéke az érvelés és a funkció, valamint a változók PX és PY, amelyek koordinátái megfelelő képpontok x és y. Az eljárás maga is tartalmaz egy ciklus minden értékére vízszintes koordinátái pixel PX Image1 komponenst. Először is, a kiválasztott érték PX újraszámolódik a megfelelő érték x. Ezután a hívás funkció F (x) határozza meg és annak értéke Y. Ezt az értéket átalakítjuk a függőleges koordinátája pixel PY.







Rajz Pen toll

A vászon van egy tulajdonsága Pen - egy tollat. Ez az objektum, viszont amelynek számos tulajdonságait. Egyikük - Színes ingatlan - a szín, amely a kép. A második tulajdonság - szélesség - szélessége a vonal van állítva a pixel (az alapértelmezett).

Style tulajdonság határozza meg a vonal típusát, és a következő értékeket:

A folytonos vonal, de szélesség> 1 lehet színes, nem Windows-paletta

Minden stílusok stroke és a szaggatott vonal érhető el, ha a vonalak vastagsága egyenlő 1. Ellenkező esetben a vonalakat húzunk szilárd.

A vászon ott PenPos ingatlan típusa TPoint. Ez a tulajdonság határozza meg a koordinátákat a vásznon a jelenlegi helyzetben a tollat. Mozgó a toll nélkül vektorizáció végezzük MoveTo (x, y). Ezután hívja ezt a módszert, egy vázlatot pont koordinátái (x, y) válik egy forrást, ahonnan felhívni egy vonalat bármely ponton koordinátái (x, y) a LineTo (x, y).

Térjünk most megpróbálják felhívni a grafikon a szinusz tollat. Ehhez hozzá a ciklus előtti üzemeltetője:

Image1.Canvas.MoveTo (0, Image1.height div 2);

És adjuk hozzá a következő nyilatkozatot, mielőtt a végső ciklus vége:

Tehát meg kell szereznie a következő kódot:

eljárás TForm1.Button1Click (Sender: TObject);
var x, y: a valós;
PX, PY: longInt;
kezdődik
Image1.Canvas.MoveTo (0, Image1.height div 2);
Px: = 0 Image1.Width do
kezdődik
X: = Xmin + PX * (Xmax-Xmin) /Image1.Width;
y: = f (x, xmax, Xmin, Ymax, Ymin);
PY: = TRUNC (Image1.Height- (y-Ymin) * Image1.height / (Ymax-Ymin));
image1.Canvas.Pixels [PX, PY]: = clBlack;
Image1.Canvas.LineTo (PX, PY);
végén;
végén;

Mint azt már észre, ha fut a program, a minőségi grafika rajz toll, sokkal jobb, mint támaszkodva pixel.

Mint promised'll levelet mintaprogram megtalálja a maximális és minimális a funkciót. Én egy kicsit szerkezete megváltozott eljárások és függvények annak érdekében, hogy egyértelműbb legyen. Itt van kész a program a kódot:


eljárás TForm1.Button1Click (Sender: TObject);
var x, y: a valós;
PX, PY: longInt;
kezdődik
// itt meg kell adni a szórási tartományt x
Xmax: = 8 * pi;
Xmin: = 0;

// számolja szélsőértékében a függvény
Extrem1 (Xmax, Xmin, Ymin);
Extrem2 (Xmax, Xmin, Ymax);

Nos, ez minden, a grafikon építésének a program készen áll.




Kapcsolódó cikkek