Mulţumiri



Yüklə 1,64 Mb.
səhifə52/118
tarix03.01.2022
ölçüsü1,64 Mb.
#34196
1   ...   48   49   50   51   52   53   54   55   ...   118

2.2.1.Plan orizontal


Umplerea unei suprafeţe cu un plan orizontal este utilă în toate cazurile în care se doreşte umplerea întregii SD (sau a unei porţiuni) cu o cotă constantă.
SuprafaţăDiscretă.PuneOrizontal( //pune o valoare orizontală pe o SD

Real rValoare, //valoarea de umplere

Întreg nModulDePunere = PM_NONE, //tipul de operaţie de combinare cu SD

Boolean bTotul = ADEVĂRAT //locul de punere peste tot sau numai în mască

)

{



PentruFiecare(Întreg nI = 1; nI <= nX; nI++)

PentruFiecare(Întreg nJ = 1; nJ <= nY; nJ++)

Dacă(bTotul SAU m[nI, nJ])

PuneLa(nI, nJ, rValoare, nModulDePunere);

} //PuneOrizontal



2.2.2.Plan înclinat


Rolul acestei metode este de a pune un plan înclinat care trece prin trei puncte.
SuprafaţăDiscretă.PunePlan3P( //pune un plan înclinat pe o SD

Punctp1, p2, p3, //cele 3 puncte prin care trece planul

Întreg nModulDePunere = PM_NONE, //tipul de operaţie de combinare cu SD

Boolean bTotul = ADEVĂRAT //locul de punere peste tot sau numai în mască

)

{



CPlan3Puncte pl3p; //Creează un obiect de tip plan

pl3p.Iniţializează(p1, p2, p3); //Iniţializează planul cu cele trei puncte



PentruFiecare(Întreg nI = 1; nI <= nX; nI++)

PentruFiecare(Întreg nJ = 1; nJ <= nY; nJ++)

Dacă(bTotul SAU m[nI, nJ])

PuneLa(nI, nJ, pl3p.IaDeLaZ(IndexÎnRealPtX(nI), IndexÎnRealPtY(nJ)), nModulDePunere);

}/PunePlan3P


Notă: Clasa CPlan3Puncte nu a fost discutată. S-au folosit două metode ale ei, una (Iniţializează) care o iniţializează cu un set de trei puncte p0, p1, p2 şi alta (IaDeLaZ) care returnează valoarea Z pentru un X şi Y. Implementarea acestei clase nu face parte din acestă lucrare.


Yüklə 1,64 Mb.

Dostları ilə paylaş:
1   ...   48   49   50   51   52   53   54   55   ...   118




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin