Grafikaning zamonaviy qurilma vositalari


Matritsa formasida kubik Bezier egri quyidagi tarzda yoziladi



Yüklə 1,37 Mb.
səhifə4/4
tarix11.10.2023
ölçüsü1,37 Mb.
#153896
1   2   3   4
chizish masalalro

Matritsa formasida kubik Bezier egri quyidagi tarzda yoziladi:

Demak MB Bezierning asosiy matritsasi deb ataladi:

Lineer egri chiziqlar 

Bezier egri chiziqli holatini tavsiflovchi funktsiya t parametrining aniqligi B ( t ) ning P 0 dan P1gacha bo'lgan masofani aniqlaydi. Masalan, t = 0.25 uchun B ( t ) funktsiyasi qiymati R 0 va P 1nuqtalari orasidagi masofaning to'rtdan biriga to'g'ri keladi. Parametr t 0 dan 1gacha farq qiladi va B ( t ) P 0 va P 1 nuqtalari orasidagi tekis chiziqli segmentni tasvirlaydi.

Quadratik egri chiziqlar 

Kvadratik Bezier egri chizig'ini qurish uchun ikkita oraliq nuqtadan Q 0 va Q 1 ni parametr t 0 dan1gacha farq qilishi shart.

Qoida 0- dan P- ga P-ga o'zgaradi va lineer Bezier egri ta'riflaydi.

Qoida 1- dan P- dan P-ga o'zgaradi va shuningdek, Bezierning chiziqli egri tasvirlangan.

B nuqtasi Q 0dan Q 1gacha o'zgaradi va Bézier kvadratining egri chizilgan.

Yuqori darajali egri chiziqlar kodni tahrirlash ]

Yuqori darajadagi egri chizmalarini yaratish uchun, ko'proq qidiruv nuqtalar talab qilinadi. Kubik egri chiziqli chiziqlarni ta'riflovchi Q 0 , Q 1 va Q 2 oraliq nuqtalari, shuningdek, kvadratik egri chiziqlarni tasvirlaydigan R 0 va R 1 nuqtalari: oddiyroq tenglama 

To'rtinchi darajali egri chiziqlar uchun Q0, Q1, Q2 va Q 3 nuqtalari kvadrat chiziqlarni tavsiflovchi R 0 , R 1 va R 2 ning chiziqli chiziqlarini, shuningdek, kubik Bezier egrilarini ta'riflovchi S 0 va S 1 nuqtalarini tasvirlaydi :

Bezier egri xususiyatlari 

  • boshlang'ich va oxirgi nuqtalar o'rtasida segmentni to'ldirishning davomiyligi;
  • Egri har doim nazorat nuqtalarini bir-biriga bog'laydigan chiziqlar tomonidan tashkil etilgan shakl ichida joylashganki;
  • agar faqat ikkita nazorat nuqtasi bo'lsa, segment to'g'ri chiziq;
  • qo'mondon nuqtalari bir-biriga tekis chiziqli bo'lganda to'g'ri chiziq hosil bo'ladi;
  • Bezier egri nosimmetrikdir, ya'ni boshlang'ich va oxirgi nuqtalar orasidagi almashish (traektoriya yo'nalishi o'zgarishi) egri shakliga ta'sir qilmaydi;
  • Bezier egri miqdorini o'lchash va o'zgartirish uning barqarorligini buzmaydi, chunki u matematik nuqtai nazardan “yaxshi o`zgaruvchan" emas;
  • nuqtalarning kamida bittasining koordinatalarini o'zgartirish butun Bezier egri shakli o'zgarishiga olib keladi;
  • Bezier egri har qanday qisman segmenti ham Bezier egri;
  • egri darajasini (buyrug'i) har doim nazorat nuqtalarining sonidan bir qadam pastroq bo'ladi. Misol uchun, uchta nazorat nuqtasida parabol ikkinchi darajali egri bo'lsa, egri shakli parabola hisoblanadi;
  • Bezier egri parametrik tenglamasi doirasini tasvirlash mumkin emas;
  • Bezierning egri chizig'ini parallel shaklda yaratish mumkin emas, ammo unchalik ahamiyatli bo'lmagan holatlardan tashqari (tekis chiziqlar va mos keladigan egri chiziqlar), garchi taxminan parallel Bezier egri tuzish algoritmlari mavjud bo'lsa-da.

public:

void Bezier2D(double[] b, int cpts, double[] p) { int npts = (b.Length) / 2; int icount, jcount; double step, t; // Egri chiziqdagi nuqtani hisoblash icount = 0; t = 0; step = (double)1.0 / (cpts - 1); for (int i1 = 0; i1 != cpts; i1++) { if ((1.0 - t) < 5e-6) t = 1.0; jcount = 0; p[icount] = 0.0; p[icount + 1] = 0.0; for (int i = 0; i != npts; i++) { double basis = Bernstein(npts - 1, i, t); p[icount] += basis * b[jcount]; p[icount + 1] += basis * b[jcount + 1]; jcount = jcount +2; } icount += 2; t += step; } }

E’tiboringiz uchun rahmat


Yüklə 1,37 Mb.

Dostları ilə paylaş:
1   2   3   4




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin