Bainisha na utengeneze mistari ya kiwango cha utendaji mtandaoni. Darasa rahisi la kupanga mistari ya kiwango cha chaguo la kukokotoa la gridi ya 2D

Ikiwa kila nukta X = (x 1, x 2, ... x n) kutoka kwa seti (X) ya pointi za nafasi ya n-dimensional inahusishwa na thamani moja iliyofafanuliwa vizuri ya kutofautisha z, basi wanasema kwamba iliyopewa. kazi ya vigeu vya n z = f(x 1, x 2, ...x n) = f (X).

Katika kesi hii, vigezo x 1, x 2, ... x n vinaitwa vigezo vya kujitegemea au hoja kazi, z - tofauti tegemezi, na ishara f inaashiria sheria ya mawasiliano. Seti (X) inaitwa uwanja wa ufafanuzi kazi (hii ni sehemu ndogo ya nafasi ya n-dimensional).

Kwa mfano, kazi z = 1/(x 1 x 2) ni kazi ya vigezo viwili. Hoja zake ni vigeuzo x 1 na x 2, na z ni kigezo tegemezi. Kikoa cha ufafanuzi ni ndege nzima ya kuratibu, isipokuwa mistari ya moja kwa moja x 1 = 0 na x 2 = 0, i.e. bila x- na ordinate-shoka. Kubadilisha hatua yoyote kutoka kwa kikoa cha ufafanuzi hadi kazini, kulingana na sheria ya mawasiliano tunayopata nambari fulani. Kwa mfano, kuchukua hatua (2; 5), i.e. x 1 = 2, x 2 = 5, tunapata
z = 1/(2*5) = 0.1 (yaani z(2; 5) = 0.1).

Kitendaji cha umbo z = a 1 x 1 + a 2 x 2 + … + a n x n + b, ambapo 1, a 2,…, na n, b ni nambari zisizobadilika, huitwa. mstari. Inaweza kuzingatiwa kama jumla ya n kazi za mstari za vigeuzo x 1, x 2, ... x n. Kazi nyingine zote zinaitwa isiyo ya mstari.

Kwa mfano, chaguo la kukokotoa z = 1/(x 1 x 2) si la mstari, na chaguo la kukokotoa z =
= x 1 + 7x 2 - 5 - mstari.

Chaguo lolote la kukokotoa z = f (X) = f(x 1, x 2, ... x n) linaweza kuhusishwa na vitendakazi n vya kigezo kimoja ikiwa tutarekebisha thamani za vigeu vyote isipokuwa kimoja.

Kwa mfano, kazi za vigezo vitatu z = 1/(x 1 x 2 x 3) zinaweza kuhusishwa na kazi tatu za kutofautiana moja. Ikiwa tunatengeneza x 2 = a na x 3 = b, basi kazi itachukua fomu z = 1/(abx 1); ikiwa tunatengeneza x 1 = a na x 3 = b, basi itachukua fomu z = 1/(abx 2); ikiwa tunatengeneza x 1 = a na x 2 = b, basi itachukua fomu z = 1/(abx 3). KATIKA kwa kesi hii kazi zote tatu zina umbo sawa. Sio hivyo kila wakati. Kwa mfano, ikiwa kwa kazi ya vigezo viwili tunatengeneza x 2 = a, basi itachukua fomu z = 5x 1 a, i.e. kazi ya nguvu, na ikiwa tunatengeneza x 1 = a, basi itachukua fomu, i.e. utendaji wa kielelezo.

Ratiba kazi ya viambishi viwili z = f(x, y) ni seti ya alama katika nafasi ya pande tatu (x, y, z), z inayotumika ambayo inahusiana na abscissa x na kuratibu y kwa uhusiano wa kiutendaji.
z = f (x, y). Grafu hii inawakilisha baadhi ya uso katika nafasi ya pande tatu (kwa mfano, kama kwenye Mchoro 5.3).

Inaweza kuthibitishwa kuwa ikiwa kazi ni ya mstari (yaani z = shoka + kwa + c), basi grafu yake ni ndege katika nafasi ya tatu-dimensional. Mifano mingine Grafu za 3D Inashauriwa kujifunza kwa kujitegemea kwa kutumia kitabu cha maandishi cha Kremer (uk. 405-406).

Ikiwa kuna zaidi ya vigezo viwili (n vigezo), basi ratiba kazi ni seti ya pointi katika (n+1)-dimensional nafasi ambayo x kuratibu n+1 ni mahesabu kwa mujibu wa sheria ya kazi fulani. Grafu kama hiyo inaitwa hypersurface(Kwa kazi ya mstarihyperplane), na pia inawakilisha ufupisho wa kisayansi (haiwezekani kuionyesha).

Mchoro 5.3 - Grafu ya kazi ya vigezo viwili katika nafasi ya tatu-dimensional

Kiwango cha uso kazi ya vigeu vya n ni seti ya pointi katika nafasi ya n-dimensional kwamba katika pointi hizi zote thamani ya kazi ni sawa na sawa na C. Nambari C yenyewe katika kesi hii inaitwa. kiwango.

Kawaida, kwa kazi sawa, inawezekana kujenga idadi isiyo na kipimo ya nyuso za ngazi (sambamba na viwango tofauti).

Kwa kazi ya vigezo viwili, uso wa ngazi unachukua fomu mistari ya ngazi.

Kwa mfano, fikiria z = 1/(x 1 x 2). Hebu tuchukue C = 10, i.e. 1/(x 1 x 2) = 10. Kisha x 2 = 1/(10x 1), i.e. kwenye ndege mstari wa ngazi utachukua fomu iliyoonyeshwa kwenye Mchoro 5.4 kama mstari imara. Kuchukua ngazi nyingine, kwa mfano, C = 5, tunapata mstari wa ngazi kwa namna ya grafu ya kazi x 2 = 1/ (5x 1) (imeonyeshwa kwa mstari wa dotted kwenye Mchoro 5.4).

Kielelezo 5.4 - Mistari ya kiwango cha utendakazi z = 1/(x 1 x 2)

Hebu tuangalie mfano mwingine. Acha z = 2x 1 + x 2. Hebu tuchukue C = 2, i.e. 2x 1 + x 2 = 2. Kisha x 2 = 2 - 2x 1, i.e. kwenye ndege mstari wa ngazi utachukua fomu ya mstari wa moja kwa moja, unaowakilishwa kwenye Mchoro 5.5 na mstari imara. Kuchukua ngazi nyingine, kwa mfano, C = 4, tunapata mstari wa ngazi kwa namna ya mstari wa moja kwa moja x 2 = 4 - 2x 1 (imeonyeshwa kwa mstari wa dotted kwenye Mchoro 5.5). Mstari wa ngazi wa 2x 1 + x 2 = 3 umeonyeshwa kwenye Mchoro 5.5 kama mstari wa nukta.

Ni rahisi kuthibitisha kwamba kwa kazi ya mstari wa vigezo viwili, mstari wowote wa ngazi utakuwa mstari wa moja kwa moja kwenye ndege, na mistari yote ya ngazi itakuwa sawa kwa kila mmoja.

Mchoro 5.5 - Mistari ya kiwango cha kazi z = 2x 1 + x 2

Kufafanua kazi ya vigezo kadhaa

Wakati wa kuzingatia utendakazi wa kigezo kimoja, tulisema kwamba wakati wa kusoma matukio mengi mtu lazima akutane na utendaji wa vijiumbe viwili au zaidi vinavyojitegemea. Hebu tutoe mifano michache.

Mfano 1. Mraba S mstatili wenye pande ambazo urefu wake ni sawa X Na katika, inaonyeshwa na fomula S = xy. Kila jozi ya maadili X Na katika inalingana na thamani ya eneo fulani S; S ni kazi ya vigezo viwili.

Mfano 2. Kiasi V parallelepiped ya mstatili yenye kingo ambazo urefu wake ni sawa X, katika, z, inaonyeshwa na fomula V= xyz. Hapa V kuna kazi ya vigezo vitatu X, katika, z.

Mfano 3. Masafa R ndege ya makombora kurushwa kwa kasi ya awali v 0 kutoka kwa bunduki ambayo pipa lake limeelekezwa kwa mlalo kwa pembe  inaonyeshwa na fomula.
(ikiwa tunapuuza upinzani wa hewa). Hapa g- kuongeza kasi ya mvuto. Kwa kila jozi ya maadili v 0 na  fomula hii inatoa thamani fulani R, i.e. R ni kazi ya vigezo viwili v 0 na .

Mfano 4.
. Hapa Na kuna kazi ya vigezo vinne X, katika, z, t.

Ufafanuzi 1. Ikiwa kila jozi ( X, katika) maadili ya vigezo viwili vinavyojitegemea X Na katika kutoka kwa baadhi ya maeneo ya mabadiliko yao D, inalingana na thamani fulani ya wingi z, basi tunasema hivyo z kuna kazi vigezo viwili vinavyojitegemea x Na katika, iliyofafanuliwa katika eneo hilo D.

Kiishara, kazi ya viambishi viwili huonyeshwa kama ifuatavyo:

z= f(x, y), z = F(x, y) na kadhalika.

Kazi ya vigeu viwili inaweza kubainishwa, kwa mfano, kutumia jedwali au kwa uchanganuzi - kwa kutumia fomula, kama ilivyofanywa katika mifano iliyojadiliwa hapo juu. Kulingana na fomula, unaweza kuunda jedwali la maadili ya kazi kwa jozi kadhaa za maadili ya anuwai huru. Kwa hivyo, kwa mfano wa kwanza, unaweza kuunda meza ifuatayo:

S = xy

Katika jedwali hili, kwenye makutano ya safu na safu inayolingana na maadili fulani X Na katika, thamani ya kazi inayolingana imeingizwa S. Kama utegemezi wa kazi z= f(x, y) hupatikana kutokana na vipimo vya wingi z Wakati wa kusoma kwa majaribio jambo lolote, meza hupatikana mara moja ambayo huamua z kama kazi ya vigezo viwili. Katika kesi hii, kazi inatajwa tu na meza.

Kama ilivyo kwa kigezo kimoja huru, kazi ya vigeu viwili haipo, kwa ujumla, kwa maadili yoyote X Na katika.

Ufafanuzi 2. Seti ya jozi ( X, katika) maadili X Na katika, ambapo kazi imedhamiriwa z= f(x, y), inayoitwa uwanja wa ufafanuzi au eneo la kuwepo kipengele hiki.

Kikoa cha ufafanuzi wa chaguo za kukokotoa kinaonyeshwa wazi kijiometri. Ikiwa kila jozi ya maadili X Na katika tutaiwakilisha kwa nukta M(X, katika) kwenye ndege Ohoo, basi kikoa cha ufafanuzi wa chaguo za kukokotoa kitaonyeshwa kama mkusanyiko fulani wa pointi kwenye ndege. Pia tutaita mkusanyiko huu wa pointi kikoa cha ufafanuzi wa chaguo la kukokotoa. Hasa, uwanja wa ufafanuzi unaweza kuwa ndege nzima. Katika kile kinachofuata tutashughulikia hasa maeneo ambayo yanawakilisha sehemu za ndege, iliyofungwa na mistari. Mstari wa kikomo eneo hili, tutaita mpaka maeneo. Pointi za kanda ambazo hazilala kwenye mpaka zitaitwa ndani pointi za eneo hilo. Eneo linalojumuisha pointi za mambo ya ndani tu linaitwa wazi au wazi. Ikiwa pointi za mipaka pia ni za kanda, basi kanda inaitwa imefungwa. Eneo linaitwa limefungwa ikiwa kuna mara kwa mara vile NA, kwamba umbali wa hatua yoyote M eneo kutoka asili KUHUSU kidogo NA, i.e. | OM| < NA.

Mfano 5. Bainisha kikoa asili cha chaguo za kukokotoa

z = 2Xkatika.

Usemi wa uchambuzi 2 Xkatika ina maana kwa thamani yoyote X Na katika. Kwa hivyo, kikoa cha asili cha ufafanuzi wa kazi ni ndege nzima Ohoo.

Mfano 6.
.

Ili z ilikuwa na thamani halisi, ni muhimu kuwa na nambari isiyo hasi chini ya mzizi, i.e. X Na katika lazima kukidhi ukosefu wa usawa 1 - X 2 – katika 2  0, au X 2 + katika 2  1.

Pointi zote M(X, katika), ambao viwianishi vyake vinakidhi usawa ulioonyeshwa, hulala kwenye mduara wa radius 1 na kituo kwenye asili na kwenye mpaka wa mduara huu.

Mfano 7.
.

Kwa kuwa logariti hufafanuliwa kwa ajili tu nambari chanya, basi ukosefu wa usawa lazima utimizwe X + katika> 0, au katika >  X.

Hii ina maana kwamba kikoa cha ufafanuzi wa chaguo za kukokotoa z ni nusu ya ndege iko juu ya mstari katika =  X, bila kujumuisha mstari wa moja kwa moja yenyewe.

Mfano 8. Eneo la pembetatu S inawakilisha kazi ya msingi X na urefu katika: S= xy/2.

Kikoa cha ufafanuzi wa chaguo hili la kukokotoa ni kikoa X  0, katika 0 (kwa kuwa msingi wa pembetatu na urefu wake hauwezi kuwa mbaya au sifuri). Kumbuka kuwa kikoa cha ufafanuzi wa chaguo za kukokotoa zinazozingatiwa hakiwiani na kikoa asili cha ufafanuzi wa usemi wa uchanganuzi ambao utendakazi umebainishwa, kwa kuwa kikoa asili cha ufafanuzi wa usemi. xy/ 2 ni dhahiri ndege nzima Ohoo.

Ufafanuzi wa chaguo za kukokotoa za vigeu viwili unaweza kujumlishwa kwa urahisi katika hali ya vigeu vitatu au zaidi.

Ufafanuzi 3. Ikiwa kila seti itazingatiwa ya maadili tofauti X, katika, z, …, u, t inalingana na thamani fulani ya kutofautiana w, basi tutaita w kazi ya vigezo huru X, katika, z, …, u, t na kuandika w= F(X, katika, z, …, u, t) au w= f(X, katika, z, …, u, t) Nakadhalika.

Kama vile kazi ya vigeu viwili, tunaweza kuzungumza juu ya kikoa cha ufafanuzi wa kazi ya vigezo vitatu, vinne au zaidi.

Kwa hiyo, kwa mfano, kwa kazi ya tatu eneo la kutofautiana Ufafanuzi ni mkusanyiko fulani wa nambari tatu ( X, katika, z) Hebu tuangalie mara moja kwamba kila nambari tatu hufafanua hatua fulani M(X, katika, z) katika nafasi Ohooz. Kwa hiyo, uwanja wa ufafanuzi wa kazi ya vigezo vitatu ni seti fulani ya pointi katika nafasi.

Vile vile, tunaweza kuzungumza juu ya kikoa cha ufafanuzi wa kazi ya vigezo vinne u= f(x, y, z, t) kama kuhusu mkusanyiko fulani wa nambari nne ( x, y, z, t) Walakini, kikoa cha ufafanuzi wa kazi ya nne au zaidi vigezo hairuhusu tena kwa tafsiri rahisi ya kijiometri.

Mfano wa 2 unaonyesha kazi ya vigeu vitatu vilivyofafanuliwa kwa thamani zote X, katika, z.

Mfano wa 4 unaonyesha utendaji wa vigezo vinne.

Mfano 9. .

Hapa w- kazi ya vigezo vinne X, katika, z, Na, iliyofafanuliwa na maadili ya vigezo vinavyokidhi uhusiano:

Dhana ya kazi ya vigezo kadhaa

Hebu tuanzishe dhana ya kazi ya vigezo kadhaa.

Ufafanuzi 1. Hebu kila pointi M kutoka kwa seti ya pointi ( M) Nafasi ya Euclidean Em kulingana na sheria fulani, nambari fulani huwekwa kwenye mawasiliano Na kutoka kwa seti ya nambari U. Kisha tutasema kwamba kwenye seti ( M) kazi imetolewa na =f (M). Aidha, seti ( M) Na U huitwa, kwa mtiririko huo, uwanja wa ufafanuzi (mgawo) na uwanja wa mabadiliko ya kazi f (M).

Kama unavyojua, kazi ya kutofautisha moja katika = f(x) inaonyeshwa kwenye ndege kama mstari. Katika kesi ya vigezo viwili, uwanja wa ufafanuzi ( M P) kazi z = f(x, y) inawakilisha seti ya pointi kwenye ndege ya kuratibu Ohoo(Mchoro 8.1). Kuratibu z kuitwa maombi, na kisha kazi yenyewe inaonyeshwa kama uso katika nafasi E3 . Vile vile, kazi kutoka T vigezo

imefafanuliwa kwenye seti ( M) Nafasi ya Euclidean Em, inawakilisha hypersurface katika nafasi ya Euclidean Em+1.

Baadhi ya aina za kazi za vigezo kadhaa

Wacha tuangalie mifano ya kazi za anuwai kadhaa na tupate vikoa vyao vya ufafanuzi.

E3 . Kikoa cha ufafanuzi wa kazi hii ni seti nzima ya pointi za ndege Ooh. Upeo wa chaguo hili la kukokotoa ni muda wa X; faragha mara mbili[,] Y; faragha mara mbili[,] Z; // Orodha ya orodha ya pekee ya umma Mistari ( pata; weka; ) ///

/// Maandalizi /// /// Safu ya viwango /// X eneo kuratibu /// Y viwianishi vya eneo hilo /// Utendaji wa gridi public LinesOfLevels(double _levels, double[,] _x, double[,] _y, double[,] _z) ( Mistari = Orodha mpya (_levels.Hesabu()); foreach (mara mbili l katika _levels) ( Mistari. Ongeza(Kiwango kipya cha Mstari(l)); ) X = _x; Y = _y; Z = _z; J = X.GetLength(0); K = X.GetLength(1); ) /// /// Uhesabuji wa isolines. /// utupu wa umma Kokotoa() ( kwa (int j = 0; j< J - 1; j++) for (int k = 0; k < K - 1; k++) { Ceil ir = new Ceil(j, k, X, Y, Z); for (int l = 0; l < Lines.Count(); l++) ir.AddIntoLineLevel(Lines[l]); } } } /// /// Isoline moja /// darasa la umma LineLevel ( // Orodha ya alama za pekee katika mfumo wa jozi za alama // mali ya Orodha ya seli ya quadrangular ya umma Jozi ( pata; weka; ) // Kiwango cha Isoline hadharani Kiwango cha mara mbili ( pata; weka; ) Kiwango cha Mstari cha umma(kiwango _mara mbili) ( Kiwango = _level; Jozi = Orodha mpya (); } } /// /// Jozi ya alama za pekee za seli moja /// darasa la umma PairOfPoints ( Orodha ya umma Pointi ( get; set; ) public PairOfPoints() ( Points = Orodha mpya (); } } /// /// Pembe ya seli. /// Fahirisi za kufafanua kona moja ya seli ya pembe nne /// nukta ya muundo wa ndani ( int j ya ndani ( pata; weka; ) int k ya ndani ( pata; weka; ) Nukta ya ndani (int _j, int _k) ( j = _j; k = _k; ) ) /// /// Seli ya gridi ya pembe nne. Huamua kisanduku cha sasa. /// Huhesabu sehemu za pekee kwenye seli /// Darasa la ndani Ceil ( // Pembe za seli ya faragha Dot d = Nukta mpya; // Kuratibu pointi za pembe za kibinafsi Pointi r = Pointi mpya; // Safu za kuratibu za eneo zima la kibinafsi mara mbili[,] X; mara mbili ya kibinafsi[,] Y ;// safu kazi ya gridi ya taifa faragha mara mbili[,] Z; /// /// Ufafanuzi wa seli /// Inafafanuliwa na kona ya chini kushoto. Vitanzi vya faharasa za kutafuta vinapaswa kuwa 1 chini ya vipimo safu za J,K /// /// j - index ya kona ya chini kushoto /// k - index ya kona ya chini kushoto /// Safu ya X /// Safu ya Y /// Mkusanyiko wa utendakazi wa gridi Z Ceil ya ndani(int _j, int _k, double[,] _x, double[,] _y, double[,] _z) ( d = Nukta mpya(_j, _k); d = Nukta mpya(_j + 1, _k); d = Nukta mpya(_j + 1, _k + 1); d = Nukta mpya(_j, _k + 1); X = _x; Y = _y; Z = _z; r = nukta nukta(d); r = nukta nukta(d); ); r = dotPoint(d); r = dotPoint(d);) /// /// Uamuzi wa hatua ya kuratibu ya pembe /// /// Pembe iliyofafanuliwa na muundo wa Nukta /// Private Point dotPoint(Dot _d) ( rudisha Pointi mpya(X[_d.j, _d.k], Y[_d.j, _d.k]); ) /// /// Ufafanuzi wa kazi kwa pembe fulani /// /// Pembe iliyofafanuliwa na muundo wa Nukta /// nukta mbili za kibinafsi( Nukta _d) ( rudisha Z[_d.j, _d.k]; ) /// /// Kufafanua jozi ya pointi kwa njia ambayo mstari wa ngazi hupita /// Pointi kwenye mipaka ya seli imedhamiriwa na tafsiri ya mstari. /// /// Thamani ya kiwango cha kipengele /// Private PairOfPoints ByLevel(double _l) ( PairOfPoints p = new PairOfPoints(); // Edge 0 ikiwa ((dotZ(d) >= _l && dotZ(d)< _l) || (dotZ(d) >_l && dotZ(d)<= _l)) { double t = (_l - dotZ(d)) / (dotZ(d) - dotZ(d)); double x = r.X * t + r.X * (1 - t); double y = r.Y * t + r.Y * (1 - t); p.Points.Add(new Point(x, y)); } // Ребро 1 if ((dotZ(d) >= _l && dotZ(d)< _l) || (dotZ(d) >_l && dotZ(d)<= _l)) { double t = (_l - dotZ(d)) / (dotZ(d) - dotZ(d)); double x = r.X * t + r.X * (1 - t); double y = r.Y * t + r.Y * (1 - t); p.Points.Add(new Point(x, y)); if (p.Points.Count == 2) return p; } // Ребро 2 if ((dotZ(d) >= _l && dotZ(d)< _l) || (dotZ(d) >_l && dotZ(d)<= _l)) { double t = (_l - dotZ(d)) / (dotZ(d) - dotZ(d)); double x = r.X * t + r.X * (1 - t); double y = r.Y * t + r.Y * (1 - t); p.Points.Add(new Point(x, y)); if (p.Points.Count == 2) return p; } // Ребро 3 if ((dotZ(d) >= _l && dotZ(d)< _l) || (dotZ(d) >_l && dotZ(d)<= _l)) { double t = (_l - dotZ(d)) / (dotZ(d) - dotZ(d)); double x = r.X * t + r.X * (1 - t); double y = r.Y * t + r.Y * (1 - t); p.Points.Add(new Point(x, y)); } return p; } /// /// Kuongeza jozi ya alama kwenye mstari wa equation /// /// Mstari wa ngazi utupu wa ndani AddIntoLineLevel(LineLevel _lL) ( PairOfPoints lp = ByLevel(_lL.Level); ikiwa (lp.Points.Count > 0) _lL.Pairs.Add(lp); ) ) )
Kuonyesha kazi ya darasa, ndogo maombi ya mtihani WPF, ambayo huunda mistari ya kiwango kwa kazi ya fomu: z = x^2 + y^2 kwenye gridi ya 10 kwa 10.

Faili ya MainWindow.xaml:


Na faili ya msimbo ya MainWindow.xaml.cs:

Kwa kutumia System.Linq; kwa kutumia System.Windows; kwa kutumia System.Windows.Controls; kwa kutumia System.Windows.Media; kwa kutumia System.Windows.Shapes; nafasi ya jina WpfLinesLevels ( ///

/// Mantiki ya mwingiliano ya MainWindow.xaml /// darasa la sehemu ya umma Dirisha Kuu: Dirisha ( Xmax ya kibinafsi; Xmin ya kibinafsi; Ymax ya kibinafsi; Ymin ya kibinafsi; xSt ya kibinafsi; ySt ya kibinafsi; Dirisha Kuu la umma() ( AnzishaComponent(); // Kufafanua viwango ambavyo vitaonyeshwa mara mbili. viwango = ( 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 ); mara mbili[,] X = mara mbili mpya; mara mbili[,] Y = mara mbili mpya; mbili[,] Z = mara mbili mpya; // Vigezo vya kubadilisha viwianishi vya kimwili kuwa viwianishi vya skrini Xmax = 10; Xmin = 0; Ymax = 10; Ymin = 0; xSt = 525 / (Xmax - Xmin); ySt = 525 / (Ymax - Ymin); / / Safu za ufafanuzi za kuratibu na kazi za (int k = 0; k< 10; k++) for (int j = 0; j < 10; j++) { X = j; Y = k; Z = j * j + k * k; } // Создание изолиний LinesOfLevels lol = new LinesOfLevels(levels, X, Y, Z); // Их расчет lol.Calculate(); // Построение DrowLevelLine(lol, X, Y); } /// /// Njia ya kuunda isolines /// /// Kipengee kilichohesabiwa na isolines /// safu ya viwianishi vya X /// safu ya viwianishi vya Y utupu wa faragha wa DrowLevelLine(LinesOfLevels lL, double[,] x, double[,] y) ( Turubai inaweza = Turubai mpya(); foreach (LineLevel l in lL.Lines) ( foreach (PairOfPoints pp in l.Pairs) ( ikiwa ( pp.Points.Count() == 2) ( Mstari pl = Mstari mpya(); pl.Stroke = SolidColorBrush mpya(Colors.BlueViolet); pl.X1 = xCalc(pp.Points.X); pl.X2 = xCalc (pp.Points.X); pl.Y1 = yCalc(pp.Points.Y); pl.Y2 = yCalc(pp.Points.Y); can.Children.Add(pl); ) ) ) can.Margin = Unene mpya(10, 10, 10, 10); can.VerticalAlignment = VerticalAlignment.Stretch; can.HorizontalAlignment = HorizontalAlignment.Stretch; grid1.Children.Ongeza(can);) /// /// Kubadilisha uratibu wa kimwili X kuwa uratibu wa skrini /// /// Uratibu wa kimwili X /// Skrini X inaratibu xCalc mbili za kibinafsi (mara mbili _x) ( rudisha xSt * (_x - Xmin); ) /// /// Kubadilisha uratibu wa Y wa kimwili kuwa uratibu wa skrini /// /// Uratibu wa Kimwili Y /// Skrini Y inaratibu yCalc ya kibinafsi mara mbili (double _y) ( rudisha ySt * (Ymax - _y); ) ) )
Matokeo ya mfano wa mtihani yanaonyeshwa kwenye takwimu.