1 Bob. C++ dasturlash tilining zamonaviy dasturlash tili sifatida C++ dasturlash tilining ishchi muhiti


Download 0.81 Mb.
bet12/28
Sana21.01.2023
Hajmi0.81 Mb.
#1106185
1   ...   8   9   10   11   12   13   14   15   ...   28
Bog'liq
C

Misol: «Sirt»

Dastur tasnifi


Bu dastur uchun masala quyidagicha: Ekranga to’g’ri to’rtburchaklar bilan yaqinlashtirilgan tasodifiy sirt aks ettirilsin. Buning uchun nuqtada Z koordinataning tasodifiy qiymatlarini saqlovchi va boshqa koordinatalari massivning indekslari bilan aniqlanadigan ikki o’lchovli massiv hosil qilinsin.

Muammolar


Mazkur dasturni yozishda quyidagi muammolar sodir bo’ladi:
1. Tasodifiy shakldagi to’rtburchaklarni ekranga chiqarish uchun piksellarni shaklga bevosita chiqarishdan foydalanish zarur. Bu muammoni hal qilishning variantalridan biri ko’pburchaklarni chiqarish uchun funksiyalar to’plamiga ega bo’lgan Canvas forma xossasiga murojat qilishdir. Tasodifiy ko’pyoqlilarni ekranda aks ettirish uchun Canvas forma ob’ektining Polygon protsedurasidan (Form1->Canvas->Polygon(….)) foydalanish mumkin. Bu protseduraga ko’pyoqlilarning burchaklari va int turidagi ikkita X va Y o’zgaruvchilardan iborat TPoint turidagi ob’ektlar massivi uzatiladi.
Shunday qilib bu protseduradan foydalanish uchun avvalo bunday ob’ektlar massivi ifodalanadi va har bir nuqta uchun X va Y qiymatlar beriladi. Ma’lum nuqta uchun koordinatalar . konstruktsiyasi yordamida beriladi.
Misol:
TPoint T;
T.x = 100;
T.y = 117;
2. Tasvirning uch o’lchovliligini simulyatsiya qilish uchun sirt joylashgan fazo koordinatalarini ekranning yassi koordinatalariga almashtirishni bajarishimiz zarur. Bu muammoni yechish uchun koordinatalarni almashtiruvchi sodda matematik formulalardan foydalanamiz.
X, Y, Z lar sirt joylashgan fazoning koordinatalari, U va V monitorning koordinatalari bo’lsin. U holda koordinatalarni almashtirish formulalari quyidagicha bo’ladi:

.
Bu erda ConstH – gorizontal va vertikal o’lchovlarni bog’lovchi biror o’zgarmas.
3. Katta yaqqollik uchun sirtni approksimatsiyalovchi elementlarni parallelepipedlar ko’rinishida tasavvur qilish kerak, buning uchun ularni turli ranglardagi uchta ko’pburchak yordamida tasvirlash zarur. Keltirilgan formulalar yordamida hisoblangan koordinatalar parallelepipedning burchaklaridan birini aniqlasin. Boshqa burchaklarining koordinatalari osongina, bosh (asosiy) burchak koordinatalariga bir nechta piksellarni qo’shish natijasida oson hisoblanadi.


Download 0.81 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   ...   28




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling