Transcript Graphic
1
گرافیک کامپیوتری
2
گرافیک کامپیوتری
پروژه
امتحان پایانی
کارت
ویزیت
سربرگ
پوستر
آزاد
فلش
1.5
1.5
1.5
1.5
3
پوستر ،کارت ویزیت ،سربرگ ،موضوع آزاد بوسیله فتوشاپ
3
8
سمینار
شفاهی
کتبی
3
3
.1سمینارها بصورت گروهی است(تعداد اعضا گروه با توجه به موضوع تعیین می شود)
.2به هر گروه موضوع مشخص ی بعنوان موضوع سمینار داده می شود( گروه ها می توانند در
صورت تمایل با توافق قبلی موضوع دیگری را انتخاب کنند)
.3هر موضوع با توجه به میزان دشواری و حجم کار تاریخ مشخص ی دارد
.4عدم حضور در تاریخ مشخص شده برای هر گروه به معنی عدم ارائه سمینار است
4
.5در روز ارائه همه اعضا گروه باید حضور داشته باشند در صورت عدم حضور هر فرد نمره ارائه
شفاهی به آن شخص تعلق نخواهد گرفت
.6در پایان ترم تمام گروه ها ملزم هستند که فایل های Word, PowerPoint, PDF
مربوط به سمینار خود و فایل های مربوط به پروژه های خود را تا تاریخ مشخص شده تحویل
دهند (ترجیحا تمام گروه ها روی یک )CDعدم تحویل هر یک از فایل ها موجب کاهش بخش ی
از نمره ارائه کتبی و پروژه خواهد شد
.7هرگروه 15تا 20دقیقه زمان برای ارائه شفاهی دارد
5
عنوان موضوع
تاریخ ارائه
گروه ارائه دهنده
1
دستگاه های ورودی-خروجی گرافیکی
5
2
مانیتورهای پالسماLED,LCD ،
4
3
بررس ی نرم افزارهای گرافیکی
7
4
واقیعت مجازی
3
5
پردازش تصویر
13
6
بررس ی انواع فایل های گرافیکی
11
7
توابع گرافیکی پاسکال و C
12
8
Postscript
14
9
کارت های گرافیکی VGA,SVGA,PCI
2
10
بررس ی کارت های گرافیکی موجود
8
6
عنوان موضوع
گروه ارائه دهنده
11
اصول گرافیکی در طراحی سایت
6
12
مانیتورهای Touch Screen , Smart
1
13
آموزش نرم افزار فتوشاپ
9
14
آموزش نرم افزار فلش
10
15
بررس ی نحوه کارکرد دوربین های ترافیکی
16
نحوه کارکرد چراغ های هوشمند تقاطع خیابانها
17
نمایش های لیزری
7
تاریخ ارائه
8
گرافیک کامپیوتری
نقطه
کوچکترین واحد سازنده هر تصویری است یعنی جمع شدن نقطه ها به
میزان زیاد یک شکل را می سازد.
در گرافیک برای ما چه می کند؟
به تنهایی هیچ کار ،ولی وقتی کنار هم قرار می گیرند اشکالی حاصل می
شود و ما از آن اشکال استفاده می کنیم.
9
گرافیک کامپیوتری
خط
نقطه ها اگر کنار هم قرار گیرند خط ساخته می شود.
انواع خط :
خط شکسته یا زیگزاگ
خط صاف افقی
خط منحنی
خط تکه تکه
در گرافیک برای ما چه می کنند ؟
خیلی کارها اگر در جایی قرار گیرند باعث نظم وترتیب شدن آن قسمت می گردند.
10
گرافیک کامپیوتری
Display File
DPU (Display Processing Unit)
Monitor
گرافیک کامپیوتری
11
اطالعات مربوط به هر تصویربصورت یک
فایل در حافظه ذخیره می شوند
12
گرافیک کامپیوتری
واحد پردازش اطالعات فایل ذخیره شده در
حافظه که با اعمال تغییرات الزم باعث
نمایش تصویر مربوطه می شود
13
گرافیک کامپیوتری
طبقه بندی مانتیورها
• :Monochromeدو رنگ نمایش می دهند یک رنگ برای زمینه و
یک رنگ برای نمای نزدیکتر()background and foreground
• : Gray-Scaleیک نوع بخصوص از مانیتورهای تک رنگ که قادرند
سایه های متفاوتی از رنگ خاکستری را نمایش دهند
• : Colorقادرند هرجایی از 16تا بیشتر از یک میلیون رنگ متفاوت را
نمایش دهند .گاهی اوقات مانتیورهای RGBهم نامیده می شوند
1. CRT (Cathode Ray tube)
2. Storage CRT
3. Bean Penetration color CRT
4. Shadow Mask color CRT
5. Flat panel display
گرافیک کامپیوتری
15
اساس کار نمایشگرهای CRTالمپ تصویر است
16
گرافیک کامپیوتری
صفحه فسفری
جهت دهنده
تفنگ الکترونی
اطالعات بوسیله DPUاز Display Fileخوانده می شوند و به ولتاژهای مناسب برای
تغییر میزان زاویه Deflectorها تبدیل می شوند سپس الکترون از طریق تفنگ
الکترونی شلیک و بوسیله Focusing Systemبصورت پرتو باریکی به سطح صفحه
فسفری برخورد و باعث روشن شدن نقطه مورد نظر می شوند
17
گرافیک کامپیوتری
یک شبکه توری مانند در پشت سطح فسفری در مانیتور CRT
یک توری (مش) در پشت صفحه فسفری الکترون را جذب و زمانی که انرژی صفحه
فسفری تمام می شود و نقطه محو می شود این توری با آزاد کردن انرژی الکترون را آزاد
می کند و باعث روشن شدن نقطه مورد نظر می شود
مزیت :
• عدم نیاز به الیه های فسفری با قابلیت تحریک باالتر
عیب :
• اگر نقطه دیگری بخواهد روشن شود ،نقطه قبلی نیز دوباره روشن می شود چون
الکترون جذب شده باید انرژی خود را آزاد کند و باعث روشن شدن نقطه ای اضافه
در صفحه نمایش می شود
18
گرافیک کامپیوتری
الیه های اضافه شده
•دو الیه فسفری با سطوح تحریک انرژی متفاوت
•هر الیه دارای انرژی مخصوص به خود است و با توجه به سطح انرژی مشخص
می شود ،کدام الیه نقطه مورد نظر را روشن می کند
مختلف ایجاد شد
•19با دوالیه سبز و قرمز 4حالت
رنگی کامپیوتری
گرافیک
20
گرافیک کامپیوتری
بجای تغییر در الیه ها تفنگ الکترونی تغییر یافت و بجای یک تفنگ با یک رنگ سه تفنگ با رنگ های قرمز و
سبز و آبی در مانیتورها قرار داده شد
الکترون های شلیک شده از هریک از تفنگ ها از یکی از روزنه های ماسک ( ) Maskعبور و نقاط مختلف
بر روی صفحه نمایش را با رنگ ها مختلف روشن می کند
21
گرافیک کامپیوتری
Non emissive
غیر ساطع كننده(نور را تبدیل به یک طرح می کنند)
•
LCD Display
Emissive
ساطع كننده (انرژی الكتریكی را به نور تبدیل می کنند)
•
•
22
LED
Plasma Panel Display
گرافیک کامپیوتری
•در این نوع مانیتورها اصالا نور تابش نمی شود و فقط رنگ تغییر
می کند
• یک مانیتور LCDاز دو صفحه موازی تشکیل شده است که هریک
از این دو صفحه دارای تعدادی الکترود می باشند که این الکترودها در
یک صفحه بصورت افقی و در صفحه دیگربصورت عمودی قرار
گرفته اند
• فاصله بین این دو صفحه موازی از ماده ای مایع که دارای ساختار
مولکولی کریستال می باشد تشکیل شده است
•وقتی دو الکترود افقی و عمودی دارای بار الکتریکی می شوند باعث
تغییر جهت کریستال های مایع شده و نقاط تالقی استوانه های کریستال
تغییر رنگ می دهد (نور از خود ساطع نمی کند)
•نور سفید رنگ ورودی در ابتدا بصورت عمودی پالریزه شده سپس
از میان استوانه های کریستال عبور کرده و تغییر رنگ می دهد سپس
بصورت افقی نیز پالریزه می شود و نقاط سطح صفحه نمایش را
روشن می کند
23
گرافیک کامپیوتری
Column electrode
Pixel
8 segments
Matrix
Row electrode
U
Светлина
25
گرافیک کامپیوتری
محیط بین الکترودها از ماده ای مایع مانند
تشکیل شده است اما کریستال ها بصورت
استوانه هایی هستند که خاصیت قطبی و حالت
جامد دارند
26
گرافیک کامپیوتری
•دوصفحه شیشه ای که در برابر هوا نفوذ ناپذیر هستند
•فاصله بین آنها توسط الیه های از هم مجزا شده است و بین آنها گازهایی مانند هلیوم ،نئون و گزنون
تزریق شده است
• با اعمال ولتاژ به قطب های هر سلول ،گاز دشارژ شده و تولید نور UVیا همان ماوراء بنفش نموده
• با برخورد نور UVبه مواد فلوئورسان موجود در سلول (سبز ،آبی ،قرمز) یا همان RGBنور
مرئی و قابل رویت از سلول خارج می گردد.
•
27
گرافیک کامپیوتری
28
گرافیک کامپیوتری
آدرس xرا خود نگه می دارد
Raster scan
generation
تنظیم یا افزایش آدرس
میزان تغییر
تنظیم یا افزایش آدرس
X register
آدرس Yرا خود نگه می دارد
Y register
میزان شلیك
29
Pixel value
address
address
(مقداری كه از فایل خوانده)Data
گرافیک کامپیوتری
Computer
I/O BUS
Bitmap
Refresh
Buffer
X deflection
driver
x مقدار
Computer
I/O port
Data
Display
file
X register
DTA*
Electron beam
On/off
DTA*
Y register
yمقدار
* Digital to Analog
مقادیر دیجیتال ذخیره شده در فایل را تبدیل به ولتاژ برای تنظیم
جهت دهنده ها استفاده می کند
گرافیک کامپیوتری
Y deflector
driver
30
Line Algorithm
DDA
Bresenham (Iteration Method)
Circle Algorithm
Mid Point
Bresenham
Ellipse Algorithm
گرافیک کامپیوتری
31
Line Algorithm
DDA (Digital Differential Analyzer)
Bresenham (Iteration Method)
گرافیک کامپیوتری
32
Line Attribute
معادله خط در حالت کلی
y2
y1
x2
= ∆Yنسبت تغییرات در راستای Y
= ∆Xنسبت تغییرات در راستای X
33
گرافیک کامپیوتری
x1
DDA Line Algorithm
مبنای این الگوریتم براین اساس است که تغییرات در یک راستا را ثابت در نظر می گیرد و تغییرات
راستای دیگر را بوسیله معادله بدست می آورد
اما راستایی که تغییرات آن ثابت است در شرایط مختلف می تواند متفاوت باشد ( Xیا )Y
|m|<1 -1<m<1 |∆x| > | ∆y| ∆x =1
∆y = |m | y2 – y1 =|m| y2= |m| + y1
در این حالت چون نسبت تغییرات در راستای Xبیشتر از نسبت تغییرات در راستای Yاست ،میزان تغییرات
راستای Xرا ثابت در نظر می گیریم و تغییرات در راستای Yرا بدست می آوریم
در حالت کلی وقتی |m|<1نقاط خط مربوطه از روابط زیر بدست می آیند
∆x =1
|If 0≤m ≤1 Yk+1 = Yk + |m
|If -1≤m ≤ 0 Yk+1 = Yk - |m
34
گرافیک کامپیوتری
)m= (8-2) / (15-3
m =0.5 , 0<m<1
∆x =1
|Yk+1 = Yk + |m
با فرض اینکه X1=3 ,X2=15 ,Y1=2 ,Y2=8آنگاه داریم :
13
12
11
10
9
8
7
6
5
4
3
2
1
K
15
14
13
12
11
10
9
8
7
6
5
4
3
X
8
7.5
7
6.5
6
5.5
5
4.5
4
3.5
3
2.5
2
Y
مقادیر را بصورت گرد شده
رسم می کنیم تا هریک درون
یک خانه قرار گیرند
35
گرافیک کامپیوتری
)m= (2-8) / (15-3
m = -0.5 , -1<m<0
∆x =1
|Yk+1 = Yk - |m
با فرض اینکه X1=3 ,X2=15 ,Y1=8 ,Y2=2آنگاه داریم :
13
12
11
10
9
8
7
6
5
4
3
2
1
K
15
14
13
12
11
10
9
8
7
6
5
4
3
X
2
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
Y
الگوریتم DDAاز نقطه ابتدایی
داده شده شروع و نقاط را بدست
می آورد تا به نقطه انتهایی داده
شده برسد
36
گرافیک کامپیوتری
DDA Line Algorithm
|m|>1 m < -1 or m >1 |∆x| < | ∆y| ∆y =1
|∆x = 1/ |m| x2 – x1 = 1/ |m| x2= x1 + 1/ |m
در این حالت چون نسبت تغییرات در راستای Yبیشتر از نسبت تغییرات در راستای Xاست ،میزان تغییرات
راستای Yرا ثابت در نظر می گیریم و تغییرات در راستای Xرا بدست می آوریم
در حالت کلی وقتی |m|>1نقاط خط مربوطه از روابط زیر بدست می آیند
∆y =1
|If m ≥ 1 Xk+1 = Xk + 1/ |m
|If m ≥ -1 Xk+1 = Xk - 1/ |m
37
گرافیک کامپیوتری
)m= (10-2) / (7-3
m =2 , m >1
∆y =1
|Xk+1 = Xk + 1/|m
با فرض اینکه X1=3 ,X2=7 ,Y1=2 ,Y2=10آنگاه داریم :
38
9
8
7
6
5
4
3
2
1
K
7
6.5
6
5.5
5
4.5
4
3.5
3
X
10
9
8
7
6
5
4
3
2
Y
گرافیک کامپیوتری
با فرض اینکه X1=7 ,X2=3 ,Y1=2 ,Y2=10آنگاه داریم :
39
)m= (10-2) / (3-7
m = -2 , m < -1
∆y =1
|Xk+1 = Xk - 1/|m
9
8
7
6
5
4
3
2
1
K
3
3.5
4
4.5
5
5.5
6
6.5
7
X
10
9
8
7
6
5
4
3
2
Y
گرافیک کامپیوتری
BRESENHAM Line Algorithm
y = mx + b
Yk +1
d2
y
d1
Yk
Xk
Xk + 1
گرافیک کامپیوتری
40
داریم y = m(Xk + 1) + b :
در نظر می گیریم :
d1 = y – Yk = m(Xk +1) + b - Yk
] d2 = (Yk +1) – y = (Yk + 1) – [ m(Xk + 1) + b
بنابراین خواهیم داشت :
d1 - d2 = 2m (Xk + 1) – 2Yk + 2b – 1
توجه داریم كه m = y / x :
41
گرافیک کامپیوتری
Pkرا بصورت زیر تعریف می كنیم Pk( :فاکتور تصمیم گیری)
Pk = x(d1 – d2) = 2 y Xk – 2 x Yk + c
) (c= 2 y + 2bx -x
می توان Pk+1را بصورت زیر محاسبه نمود :
Pk+1 = 2 y Xk+1 – 2 x Yk+1 + c
)Pk+1 – Pk = 2 y (Xk+1 – Xk) – 2 X (Yk+1 – Yk
با توجه به اینكه :
Xk+1 = Xk + 1
خواهیم داشت:
)Pk+1 = Pk + 2 y – 2 X (Yk+1 – Yk
42
گرافیک کامپیوتری
بدین ترتیب فرمول بازگشتی Pkمحاسبه می شود .در این فرمول مقدار جمله , Yk+1 – Yk
با توجه به عالمت , PKبرابر صفر یا یك خواهد بود .اگر PKمنفی باشد برابر صفر ,و در
غیر اینصورت برابر 1جایگزین میشود.
Pk+1= Pk +2 y– 2 X
Pk+1= Pk +2 y
Yk+1 – Yk =1
Yk+1 – Yk =0
if PK > 0
if PK < 0
برای شروع الگوریتم مقدار اولیه بعنوان P0مورد نیاز می باشد .این مقدار برابر خواهد بود
با :
P0 = 2y – x
خالصه الگوریتم بصورت زیر خواهد بود :
43
گرافیک کامپیوتری
الگوریتم ترسیم خط برزنهام برای |m|< 1
.1نقاط ابتدایی و انتهایی پاره خط را دریافت کن و نقطه ابتدایی را در) (X0,Y0ذخیره کن
.2اولین نقطه ) (X0,Y0را رسم کن
.3مقادیر ثابت x , y , 2yو ) (2y - 2xرا محاسبه و پارامترتصمیم اولیه را از
طریق P0 = 2y - xمحاسبه کن
.4در هر تکرار در اول خط با شروع k=0آزمون زیر را بررسی کن
اگر Pk<0نقطه بعدی برابر با ) (Xk +1 , Ykبوده و
Pk +1 = Pk + 2y
در غیر اینصورت نقطه بعدی برابر با ) (Xk +1 , Yk +1بوده و
Pk+1 = Pk + 2y - 2x
.5مرحله 4را به اندازه xبار تکرار کن
44
گرافیک کامپیوتری
مثال :با استفاده از روش تكراری Bresenham؛ مختصات نقاط تشكیل دهنده خطی كه از نقطه
) (20,10تا نقطه ) (30,18رسم می شود را محاسبه كنید.
حل :
x = 30-20=10 , y = 18-10=8 , 2y = 16 , 2y - 2x = -4
P0 = 2y - x = 16 – 10 = 6
)(Xk+1,Yk+1
45
K Pk
)(Xk+1,Yk+1
K Pk
)(26,15
)(27,16
6
2
5
6
)(21,11
)(22,12
6
2
0
1
)(28,16
)(29,17
)(30,18
-2
14
10
7
8
9
)(23,12
)(24,13
)(25,14
-2
14
10
2
3
4
گرافیک کامپیوتری
18
10
46
گرافیک کامپیوتری
30
20 21 22
Circle Algorithm
Mid Point (Bresenham)
گرافیک کامپیوتری
47
با مقداردهی های مختلف به XCمقادیر YCرا بدست می آوریم
(X - XC)2+(Y-YC)2=R2
محاسبات زیاد برای بدست آوردن مقادیر برای ترسیم دایره
استفاده از روش قطبی
X = XC + R *COS θ
Y = YC + R *SIN θ
محاسبات زیاد می باشد
48
گرافیک کامپیوتری
MID POINT
( Bresenham Circle
Algorithm)
(Iteration Method)
Jack Bresenham worked
for 27 years at IBM
before entering
academia. Bresenham
developed his famous
algorithms at IBM in the
early 1960s
گرافیک کامپیوتری
49
با بدست آوردن نقاط در یک هشتم
دایره مابقی نقاط از طرق قرینه یابی
بدست می آیند
)(Y , X
)(-Y , X
)(-X , Y
)(X , Y
)(-X , -Y
)(X , -Y
)(-Y , X
50
گرافیک کامپیوتری
)(-Y , -X
X2+Y2=R2 Fcircle(X,Y)=X2+Y2-R2
Mid point
نقطه میانی
X=Xk+1
Y=Yk-1/2
Pk =Fcircle(X,Y) فاکتور تصمیم گیری
Pk = Fcircle (Xk+1, Yk-1/2)=(Xk+1)2+( Yk-1/2)2-R2
Yk
Yk-1
)IF Pk >=0 NEXT POINT (XK+1,YK-1
نقطه میانی خارج یا روی محیط دایره است
پس نقطه پایینی را باید انتخاب کنیم
)IF Pk <0 NEXT POINT (XK+1,YK
نقطه میانی در داخل دایره است پس نقطه
باالیی را باید انتخاب کنیم
Xk Xk+1
51
گرافیک کامپیوتری
PK+1=((XK+1)+1)2 + (YK+1 – 1/2)2 – R2
(XK+1=XK+1)
=((Xk+1)2 + 2(Xk+1) +1)) + (Y2k+1 – Yk+1 +1/4)- R2
جمع و تفریق می کنیمYK,Y2K طرفین را با
=((Xk+1)2 + 2(Xk+1) +1)) + (Y2k+1 – Yk+1 +1/4)- R2 –YK +YK +Y2K -Y2K
=(Xk+1)2 +(Y2K - YK +1/4 ) – R2 + 2(Xk+1) +1+ (Yk+1 – Yk) + (Y2k+1 – Y2k)
=(Xk+1)2 +( YK -1/2 )2 – R2 + 2(Xk+1) +1+ (Yk+1 – Yk) + (Y2k+1 – Y2k)
: با توجه به اینکه
Pk = (Xk+1)2+( Yk-1/2)2-R2
PK+1= PK + 2(Xk+1) +1+ (Yk+1 – Yk) + (Y2k+1 – Y2k)
گرافیک کامپیوتری
52
IF Pk >=0 NEXT POINT (XK+1,YK-1)
YK+1- YK=(YK - 1) – YK =1
PK+1= PK + 2(Xk+1) +1+ (Yk+1 – Yk) + (Y2k+1 – Y2k)
= PK + 2(Xk+1) +1- (Yk -1 – Yk) + ((Yk -1) 2 – Y2k)
= PK + 2(Xk+1) +1+1+ (-2Yk +1)
IF PK >=0 PK+1= PK + 2(Xk+1) – 2(Yk+1)+1, (Yk+1= Yk -1)
IF Pk <0 NEXT POINT (XK+1,YK)
YK+1- YK=YK – YK =0
PK+1= PK + 2(Xk+1) +1- (Yk+1 – Yk) + (Y2k+1 – Y2k)
IF PK < 0 PK+1= PK + 2(Xk+1)+1
گرافیک کامپیوتری
53
با مقداردهی اولیه به فاکتور
تصمیم گیری :
Pk = (Xk+1)2+( Yk-1/2)2-R2
)( X0, Y0)=(0,R
P0 =(0+1)2 + (R-1/2)2 – R2
P0 =5/4 – R= 1- R
در حالت
کلی
IF PK >=0 PK+1= PK + 2(Xk+1) – 2(Yk+1)+1
IF PK < 0 PK+1= PK + 2(Xk+1)+1
P0 =5/4 – R= 1- R
54
گرافیک کامپیوتری
.1مختصات مرکز دایره ( )XC , YCو شعاع را دریافت کن .دایره ای به شعاع Rفوق در
))XC , YC( = (0, R
مرکز محور مختصات دارای نقطه شروع زیر است
.2مقدار اولیه فاکتور تصمیم گیری را از رابطه زیر بدست آورید
.3به ازاء هر موقعیت XKبا شروع از K=0آزمون زیر را انجام دهید
P0=5/4 -R = 1- R
• اگر PK < 0نقطه بعدی برابر با ( )Xk+1 , Ykخواهد بود و
PK+1 = PK + 2Xk+1 + 1
•
در غیر اینصورت PK >=0نقطه بعدی برابر با ( )Xk+1 , Yk -1خواهد بود و
PK+1= PK + 1 + 2Xk+1 – 2Yk+1
همچنین 2Yk+1 =2YK – 2و 2Xk+1 = 2Xk +2
.4موقیعت نقاط هفت ناحیه دیگر را با استفاده از قرینه یابی بدست آورید
.5نقاط بدست آمده را به موقیعت اصلی دایره به مرکز ( )XC , YCانتقال دهید
,Y=Y+ YC
کامپیوتری
تکرار کنید
گرافیکاست
55 .6مراحل 3تا 5را تا وقتی X≥Yبرقرار
X=X+XC
مثال :با استفاده از روش تكراری Bresenham؛ مختصات نقاط تشكیل دهنده دایره ای با مرکز )(0, 0
و نقطه شروع ) (0, 10و شعاع 10بدست آورید.
حل X0= 0 , Y0= 10 , R=10 :
2X0=0 , 2Y0=20
P0 = 1- R = 1- 10= -9
56
2Yk+1
2Xk+1
)(Xk+1,Yk+1
Pk
K
20
2
)(1,10
-9
0
20
4
)(2,10
-6
1
20
6
)(3,10
-1
2
18
8
)(4,9
6
3
18
10
)(5,9
-3
4
16
12
)(6,8
8
5
14
14
)(7,7
5
6
گرافیک کامپیوتری
10
9
8
7
6
5
4
3
2
1
7 8 9 10
57
گرافیک کامپیوتری
3 4 5 6
1 2
Ellipse Algorithm
Mid point (Bresenham)
گرافیک کامپیوتری
58
شعاع اصلی
)(X,Y
شعاع فرعی
)(-X,Y
RY
RX
)(X,-Y
)(-X, -Y
Y
d1
)P=(X,Y
d2
F1
)مقدار ثابت( d1 +d2 = CONSTANT
F2
X
59
گرافیک کامپیوتری
با بدست آوردن فواصل : d1 , d2
Ax2 + By2 + Cxy + Dx + Ey + F = 0
با جایگذاری نقاط کانونی می توان نقاط را بدست آورده و آنها را ترسیم کنیم.
Y
Ry
YC
)P=(X,Y
Rx
X= XC + RX COS θ
X
60
XC
گرافیک کامپیوتری
Y= YC + RY SIN θ
در صورتی که بیضی را از مرکز مختصات رسم کنیم
XC=0 ,YC=0
فاکتور تصمیم گیری برای بیضی
Fellipse(X,Y)= x2r2y + y2r2x – r2xr2y
61
گرافیک کامپیوتری
>0
) (x,yخارج مرز بیضی است
Fellipse(X,Y)= x2r2y + y2r2x – r2xr2y
=0
) (x,yبر روی مرز بیضی است
<0
) (x,yداخل مرز بیضی است
)Fellipse(X,Y
برای هر ناحیه یک الگوریتم نقطه
میانی بدست می آوریم
1
در ناحیه اول تغییرات Xثابت و نقطه میانی را
بین Yk , Yk-1در نظر می گیریم
در ناحیه دوم تغییرات Yثابت و نقطه میانی را بین
Xk , Xk+1در نظر می گیریم
62
گرافیک کامپیوتری
2
rx
ry
Mid point
نقطه میانی
X=Xk+1
Y=Yk-1/2
Yk
Yk-1
Xk Xk+1
P1K =Fellipse (Xk+1,Yk-1/2) = r2Y (Xk+1)2 + r2X(Yk-1/2)2 – r2Xr2Y
P1K+1 =Fellipse (Xk+1+1,Yk+1-1/2) = r2Y [(Xk+1)+1]2 + r2X(Yk+1-1/2)2 – r2Xr2Y
= r2Y [(Xk+1)2+ 2 (Xk+1) +1] + r2X [Y2k+1 - Yk+1 +1/4 ] – r2Xr2Y ± Y k ±Y2k
= r2Y (Xk+1)2 + r2X [Y2k - Yk +1/4] – r2Xr2Y +
2 r2Y (Xk+1) + r2Y + r2X [(Yk+1-1/2)2- (Yk-1/2)2]
= P1K + 2 r2Y (Xk+1) + r2Y + r2X [(Yk+1-1/2)2- (Yk-1/2)2]
گرافیک کامپیوتری
63
IF P1k >=0 NEXT POINT (XK+1,YK-1)
YK+1=YK – 1
P1K+1= P1K + 2 r2Y (Xk+1) + r2Y -2 r2x(YK-1)
=P1K + 2 r2Y (Xk+1) + r2Y -2 r2x(YK-1)
IF P1K >=0 P1K+1= P1K + 2 r2Y (Xk+1) + r2Y -2 r2x(YK-1)
IF P1k <0 NEXT POINT (XK+1,YK)
YK+1 =YK
P1K+1= P1K + 2 r2Y (Xk+1) + r2Y
IF P1K < 0 P1K+1= P1K + 2 r2Y (Xk+1) + r2Y
گرافیک کامپیوتری
64
If
X0=0 ,Y0=ry
P1 K=Fellipse (Xk+1,Yk-1/2) = r2Y (Xk+1)2 + r2X(Yk-1/2)2 – r2Xr2Y
P10 =Fellipse (X0+1,Y0-1/2) = Fellipse (1, ry -1/2)
= r2Y (1)2 + r2X(ry-1/2)2 – r2Xr2Y = r2Y + r2X(ry-1/2)2 – r2Xr2Y
مقدار اولیه برای فاکتور تصمیم گیری برای ناحیه اول
P10= r2Y - r2xry +(1/4) r2x
گرافیک کامپیوتری
65
Mid point
نقطه میانی
X=Xk+1 /2
Y=Yk-1
Yk
Yk-1
Xk Xk+1
P2K =Fellipse (Xk+1/2,Yk-1) = r2Y (Xk+1/2)2 + r2X(Yk-1)2 – r2Xr2Y
P2K+1 =Fellipse (Xk+1+1/2,Yk+1-1) = r2Y (Xk+1/2)2 + r2X[(Yk-1)-1]2 – r2Xr2Y
= P2K -2 r2X (Yk-1) + r2X + r2Y [(Xk+1 +1/2)2 – (Xk +1/2)2 ]
گرافیک کامپیوتری
66
IF P2k >0 NEXT POINT (XK,YK-1)
XK+1=XK
P2K+1= P2K -2 r2x(YK+1)+ r2x
IF P2k <=0 NEXT POINT (XK+1,YK-1)
XK+1 =XK+1
P2K+1= P2K + 2r2y (Xk+1) -2 r2x(YK+1)+ r2x
گرافیک کامپیوتری
67
در ناحیه دوم نقطه ابتدایی همان نقطه انتهایی ناحیه اول است
) ( X0,Y0
P2K =Fellipse (Xk+1/2,Yk-1) = r2Y (Xk+1/2)2 + r2X(Yk-1)2 – r2Xr2Y
P20 = Fellipse (X0+1/2,Y0-1) = r2Y (X0+1/2)2 + r2X(Y0-1)2 – r2Xr2Y
مقدار اولیه برای فاکتور تصمیم گیری برای ناحیه دوم
P20 = r2Y (X0+1/2)2 + r2X(Y0-1)2 – r2Xr2Y
68
گرافیک کامپیوتری
الگوریتم ترسیم بیضی به روش نقطه میانی
پارامترهای rx ,ryو مرکز بیضی ( )x0,y0را دریافت کرده و اولین نقطه واقع بر روی مسیر بیضی
با مرکزیت مبدا مختصات را بصورت زیر تعیین می کنیم:
)(x0,y0)=(0,ry
مقدار اولیه فاکتور تصمیم گیری در ناحیه اول را بصورت زیر بدست می آوریم:
P10= r2Y - r2xry +(1/4) r2x
با شروع از k=0به ازاء هر موقیعت XKدر ناحیه اول تست زیر را انجام می دهیم :
P1K+1= P1K + 2 r2Y (Xk+1) + r2Yبوده ) (XK+1,YKنقطه بعدی P1k <0 اگر
در غیر اینصورت
)(XK+1,YK-1نقطه بعدی IF P1k >=0
در حالیکه
) P1K+1= P1K + 2 r2Y (Xk+1) + r2Y -2 r2x(YK+1
2 r2Y (Xk+1)= 2 r2Y Xk + 2 r2Y , 2 r2x(YK+1)= 2 r2xYK - 2 r2x
گرافیک
کامپیوتری یابد
ادامه می
این69روند تا زمانیکه 2 r2Y X ≥ 2 r2xYاست
آخرین مقدار بدست آمده در ناحیه اول ،مقدار اولیه شروع در ناحیه دوم است.
)(X0 ,Y0
P20 = r2Y (X0+1/2)2 + r2X(Y0-1)2 – r2Xr2Y
با شروع از k=0به ازاء هر موقیعت Ykدر ناحیه دوم آزمون زیر را انجام می دهیم:
(XK,YK-1) P2K+1= P2K -2 r2x(YK+1)+ r2xنقطه بعدی IF P2k >0
(XK+1,YK-1) نقطه بعدی IF P2k <=0 در غیر اینصورت
در حالیکه
P2K+1= P2K + 2r2y (Xk+1) -2 r2x(YK+1)+ r2x
2 r2x(YK+1)= 2 r2xYK - 2 r2x
,
2 r2Y (Xk+1)= 2 r2Y Xk + 2 r2Y
نقاط قرینه در سه ربع دیگر را بدست می آوریم
حال هر نقطه را به نقطه اصلی خود انتقال می دهیم
X=X+Xc , Y=Y+ Yc
مراحل مربوط به ناحیه دوم را تا زمانیکه ) ( Y=0 and X= rxبرقرار است تکرار می کنیم
70
گرافیک کامپیوتری
مثال rx= 8, ry =6 :
حل :
)(X0,Y0) =(0 ,6
P10= r2Y - r2xry +(1/4) r2x= - 332
)2 r2x(YK+1
)2r2y (Xk+1
)(Xk+1,Yk+1
P1k
K
768
72
)(1,6
-332
0
768
144
)(2,6
-224
1
768
216
)(3,6
-44
2
640
288
)(4,5
208
3
640
360
)(5,5
-108
4
512
432
)(6,4
288
5
384
504
)(7,3
244
6
با رسیدن به شرط 2 r2Y X ≥ 2 r2xYاز ناحیه اول خارج می شویم
71
گرافیک کامپیوتری
ازآخرین نقطه در ناحیه اول برای بدست آوردن مقدار اولیه فاکتور تصمیم گیری در ناحیه دوم استفاده می کنیم
)(X0 ,Y0)= (7 ,3
P20 = r2Y (X0+1/2)2 + r2X(Y0-1)2 – r2Xr2Y = -151
72
)2 r2x(YK+1
)2r2y (Xk+1
)(Xk+1,Yk+1
P2k
K
256
576
)(8,2
-332
0
128
576
)(8,1
-224
1
--
--
)(8,0
-44
2
گرافیک کامپیوتری
10
9
8
7
6
5
4
3
2
1
0
7 8 9 10
73
گرافیک کامپیوتری
3 4 5 6
0 1 2
74
گرافیک کامپیوتری
اصول پرکردن نواحی
Interior-defined region
گرافیک کامپیوتری
Boundary-defined region75
روش های پرکردن نواحی
رنگ نمودن فاصله بین دو مرز محدوده
رنگ کردن نقاط همجوار یک محدوده
76
گرافیک کامپیوتری
- 1رن گ ن مود ن ف اصل ه ب ی ن دو م رز م ح دود ه
)(Scan-Line Fill Algorithm
.1محاسبه نقاط تقاطع خط پویش با اضالع
چندضلعی
.2مرتب سازی نقاط بدست آمده بصورت صعودی
بر حسب X
.3نقاطی که در درون مرز بسته قرار دارند و بین
زوج نقاط تقاطعی واقع شدند را با رنگ مورد
نظر پر کن
77
گرافیک کامپیوتری
چگونه متوجه شویم نقطه داخل م ح دود ه است؟
)(Parity-Fill Approach
B
C
Parity
0 = even
1 = odd
F
D
1
0
A
78
E
گرافیک کامپیوتری
Parity
اگر تعداد نقاط تقاطع فرد باشد (دارای )Parity=Oddبرای تشخیص نقطه میانی
محیط چندضلعی را بصورت معکوس (در خالف جهت عقربه های ساعت )پیمایش
می کنیم ،اگر در اطراف نقطه شیب یکنواخت نباشد نقطه را به عنوان یک نقطه
تقاطع که دو طرف آن باید رنگ شود در نظر می گیریم
79
گرافیک کامپیوتری
- 2رن گ ک رد ن نق اط ه م جوا ر ی ک م ح دود ه
Boundary-Fill Algorithm
این الگوریتم با این فرض عمل می کند
که حداقل یک نقطه داخل محدوده
شناخته شده است
4 Connected
8 Connected
80
گرافیک کامپیوتری
با استفاده از روش
اتصال چهارجانبه
رنگ نمی شود
4-connected
تنها نقاط در چهار جهت اصلی رنگ می شوند
81
گرافیک کامپیوتری
با استفاده از روش
اتصال هشت جانبه
رنگ می شود
8-connected
تمام نقاط در اطراف نقطه اصلی رنگ می شوند
82
گرافیک کامپیوتری
Scale
Rotate
Translate
Shear
Reflection
گرافیک کامپیوتری
83
2D Modeling Transformations
Modeling
Coordinates
Scale
Translate
y
x
Scale
Rotate
Translate
World Coordinates
گرافیک کامپیوتری
84
2D Modeling Transformations
Modeling
Coordinates
y
x
Initial location
at (0, 0) with
x- and y-axes
aligned
گرافیک کامپیوتری
85
2D Modeling Transformations
Modeling
Coordinates
y
x
Scale .3, .3
Rotate -90
Translate 5, 3
گرافیک کامپیوتری
86
2D Modeling Transformations
Modeling
Coordinates
y
x
Scale .3, .3
Rotate -90
Translate 5, 3
گرافیک کامپیوتری
87
2D Modeling Transformations
Modeling
Coordinates
y
x
Scale .3, .3
Rotate -90
Translate 5, 3
World Coordinates
گرافیک کامپیوتری
88
• هر یک از اعضا را در یک مقیاس ضرب کنیم
2
89
گرافیک کامپیوتری
مقیاس گذاری مشابه :تمام اجزا دارای یک مقیاس مشابه هستند
Uniform scaling
Non-uniform scaling
مقیاس گذاری نامشابه :هر یک از اجزا دارای مقیاس بخصوصی است
X 2,
Y 0.5
90
گرافیک کامپیوتری
عملیات مقیاس
گذاری
91
گرافیک کامپیوتری
(x’, y’)
(x, y)
x’ = x cos() - y sin()
y’ = x sin() + y cos()
گرافیک کامپیوتری
92
(x’, y’)
(x, y)
f
x = r cos (f)
y = r sin (f)
x’ = r cos (f + )
y’ = r sin (f + )
x’ = r cos(f) cos() – r sin(f) sin()
y’ = r sin(f) cos() + r cos(f) sin()
x’ = x cos() - y sin()
y’ = x sin() + y cos()
گرافیک کامپیوتری
93
• فرم ماتریسی دوران
• اگرچه توابع ) sin(و ) cos(توابع غیرخطی از هستند
اما :
– ’ Xو’ Yترکیب خطی از x,yهستند
94
گرافیک کامپیوتری
tx = 2
ty = 1
95
گرافیک کامپیوتری
تغییر یک بعد به نسبتی از بعد دیگر
96
گرافیک کامپیوتری
برای انجام هر تغییری در ابتدا باید شکل را به مبدا مختصات انتقال سپس
اعمال الزم را بر روی آن انجام و در نهایت آن را به مکان اولیه انتقال داد
X +(-2),
)Y +(-1
97
گرافیک کامپیوتری
X 2,
Y 0.5
X + 2,
Y+1
Translate + Scale + Translate
تبدیل به ماتریس
T(-2,-1)*S(2,0. 5)*T(2,1)
گرافیک کامپیوتری
98
با انجام یک تبدیل مختصات نقطه نهایی را بدست آوریم (برنامه نویسی راحت تر)
99
گرافیک کامپیوتری
بیان مختصات نقاط در قالب مختصات متجانس :
امکان ارائه کلیه معادالت تبدیالت هندسی بصورت ضرب ماتریسی
100
گرافیک کامپیوتری
انتقال معکوس
101
گرافیک کامپیوتری
دوران معکوس
102
گرافیک کامپیوتری
مقیاس گذاری معکوس
103
گرافیک کامپیوتری
انجام یک سری تبدیالت یکسان و پشت سرهم
(1انتقال توأم
(2دوران توأم
(3مقیاس گذاری توأم
104
گرافیک کامپیوتری
105
گرافیک کامپیوتری
Tx =2
Ty =1
Tx =3
Ty =2
106
Tx =2+3
Ty =1+2
گرافیک کامپیوتری
107
گرافیک کامپیوتری
R(Θ ) = 45
R(Θ ) = 90
R(Θ ) = 45
108
گرافیک کامپیوتری
109
گرافیک کامپیوتری
Sx =2
Sy =1
Sx =1
Sy =2
110
Sx =2*1
Sy =1*2
گرافیک کامپیوتری
تبدیالت غیر مشابه و پشت سرهم
استفاده از خواص ماتریس ها برای بدست آوردن ماتریس تبدیل نهایی
ضرب ماتریس های تبدیل و بدست آوردن یک ماتریس تبدیل
عدم تغییر در ترتیب تبدیل ها
111
گرافیک کامپیوتری
}]]P’ = { T( tx , ty ) .[ R( Θ ). [T(- tx , -ty ) . P
با استفاده از خاصیت انجمنی ضرب ماتریس ها :
)A.B.C=(A.B).C =A.(B.C
)P = (x,y
112
,
P’ = {T( tx , ty ) . R( Θ ). T(- tx , -ty )} . P
گرافیک کامپیوتری
a
)T(-3) R(45) T(3
a
)T(-3
)R(45
)T(3
113
گرافیک کامپیوتری
a
a
a
)R(45) T(-3) T(3
a
)R(45
)T(-3
)T(3
114
گرافیک کامپیوتری
a
a
115
گرافیک کامپیوتری
116
گرافیک کامپیوتری
Rotation about the X-Axis
y' = y*cos θ - z*sin θ
z' = y*sin θ + z*cos θ
x' = x
R x ;
گرافیک کامپیوتری
117
Rotation about the Y-Axis
z' = z*cos θ- x*sin θ
x' = z*sin θ + x*cos θ
y' = y
R y ;
گرافیک کامپیوتری
118
Rotation about the Z-Axis
x' = x*cos θ - y*sin θ
y' = x*sin θ + y*cos θ
z' = z
R z ;
119
گرافیک کامپیوتری
120
گرافیک کامپیوتری
121
گرافیک کامپیوتری
A
Original
Position
X’= X
C
B
Y’= -Y
B’
C’
A’
Reflected
Position
انعکاس حول
هاX محور
گرافیک کامپیوتری
122
C’
A
Original
Position
C
X’= -X
A’
B’
B
Y’= Y
Reflected
Position
انعکاس حول
هاY محور
گرافیک کامپیوتری
123
Original
Position
C
A
B
X’= -X
Y’= -Y
C’
A’
B’
Reflected
Position
انعکاس حول
مبدا مختصات
گرافیک کامپیوتری
124
Original
Position
B
C
y=x
X’= Y
A
Y’= X
A’
C’
B’
Reflected
Position
انعکاس نسبت
y=x به خط
گرافیک کامپیوتری
125
در حالت کلی برای انعکاس نسبت به هر خطی مانند Y = mx +bدر فضای
دوبعدی می توان از ترکیب سه تبدیل انتقال ،دوران ،انعکاس انجام شود
خط را بگونه ای انتقال دهیم که از مبدا مختصات عبور کند
خط عبوری از مبدا مختصات را دوران داده تا بر یکی از محورهای
مختصات منطبق گردد
شکل را نسبت به محور مورد نظر انعکاس می دهیم
معکوس تبدیالت را انجام می دهیم (معکوس دوران و معکوس انتقال )
اگر ضرایب انعکاس به مقادیری غیر از 1و 1-تغییر یابد شکل انعکاس یافته
نسبت به محور انعکاس دورتر یا نزدیکتر خواهد بود
126
گرافیک کامپیوتری
)A=(5,5
)B=(6,2
)C=(7,4
y=x+3
A
C
B
127
گرافیک کامپیوتری
)T(0,-3
A
C
B
)A=(5,2
)B=(6,-1
)C=(7,1
128
گرافیک کامپیوتری
)T(0,-3
)A=(5,5
)B=(6,2
)C=(7,4
)R(45
) A=(3√2/2 , 7√2/2
) B=(7√2/2 , 5√2/2
) C=(6√2/2 , 8√2/2
129
گرافیک کامپیوتری
)R(45
)A=(5,2
)B=(6,-1
)C=(7,1
Reflection
about Y Axis
A=(3√2/2 , 7√2/2 )
B=(7√2/2 , 5√2/2 )
C=(6√2/2 , 8√2/2 )
A=(-3√2/2 , 7√2/2 )
B=(-7√2/2 , 5√2/2 )
C=(-6√2/2 , 8√2/2 )
گرافیک کامپیوتری
130
)R(-45
) A=(2√2 , 5√2
) B=(-√2 , 6√2
) C=(√2, 7√2
131
) A=(-3√2/2 , 7√2/2
) B=(-7√2/2 , 5√2/2
) C=(-6√2/2 , 8√2/2
گرافیک کامپیوتری
T(0,3)
Original
Position
A
C
B
A=(2√2 , 8√2 )
B=(-√2 , 9√2 )
C=)√2, 10√2 )
A=(2√2 , 5√2 )
B=(-√2 , 6√2 )
C=(√2, 7√2 )
گرافیک کامپیوتری
132
133
گرافیک کامپیوتری
بررسی نقطه با کمترین و بیشترین مقادیر X , Y
Xmin < X < Xmax
Ymin < Y < Ymax
در صورت نقض هریک از 4شرط باال نقطه داخل کادر
رسم نمی شود و آن را حذف می کنیم
)P= (X, Y
134
گرافیک کامپیوتری
Intersection Clipping Algorithm
Cohen- Sutherland Clipping Algorithm
Mid Point Clipping Algorithm
گرافیک کامپیوتری
135
(1معادله خط را با 4لبه قطع می دهیم
(2مقایسه نقاط تقاطع با چهارگوشه مستطیل
ایراد:محاسبات طوالنی و سخت
بخاطر ضرب و تقسیم اعشاری
(3درصورت وجود خط داخل کادر آن رسم و در غیر اینصورت حذف می شود
Xmin < X < Xmax
Ymin < Y < Ymax
)P= (X, Y
136
گرافیک کامپیوتری
.1برای هر یک از نقاط دوسر پاره خط یک مقدار 4بیتی درنظر گرفته می شود
B1 B2 B3 B4
B4
B3
Left
Right
B2
B1
Above Below
•اگر ANDو ORمقادیر دوسر پاره خط صفر شوند خط داخل کادر قرار دارد و آن رسم
می شود
•اگر ANDدوسر پاره خط مخالف صفر شد خط خارج از کادر است و آن حذف می شود
•اگر ANDدوسر پاره خط صفر شد ORدوسر پاره خط مخالف صفر شد پاره خط را با
لبه هایی که یک شده اند قطع می دهیم :
اگر دوتا یک داشت آن دو لبه را از نقاط تقاطع بهم وصل می کنیم
اگر یک عدد یک داشت یک سر پاره خط داخل و سر دیگر آن خارج کادر است و
از نقطه تقاطع تا نقطه داخلی رسم و از نقطه تقاطع تا نقطه خارجی حذف می کنیم
137
گرافیک کامپیوتری
E
N
F
D
C
A
M
B
G
H
N
M
G
H
E
F
D
C
B
A
0001 0000 0000 0000 1010 0010 0100 0100 0010 1000
M-N
G -H
E-F
C-D
A-B
نام پاره خط
0000
0100
0010
0000
0000
AND
1010
0100
1010
0000
0001
OR
یک سرخط داخل
و سر دیگر
خارج کادر است
138
خط خارج کادر
است
خط خارج کادر
است
خط داخل کادر
است
یک سرخط داخل و
سر دیگر خارج
کادر است
گرافیک کامپیوتری
نقطه میانی پاره خط را بدست می آوریم
اگر نقطه داخل کادر باشد آن را رسم می کنیم
اگر خاج کادر باشد آن را حذف می کنیم
این کار را تا زمانی که یکی از نقاط میانی روی ضلع بیفتد ادامه
می دهیم
M
A
B
نقطه میانی
اول
139
نقطه میانی
دوم
گرافیک کامپیوتری
140
گرافیک کامپیوتری
• روش نگاشت بیتی ( ، )Bitmapنقش پیکسلی یا رستر
• روش نمایش برداری ()Vector Representation
141
گرافیک کامپیوتری
روشی پرکاربرد برای محدوده وسیعی از تصاویر
پیاده سازی نسبتا ساده
بصورت مشبک
به ازای هر پیکسل میزان رنگ و یا روشنایی بصورت جداگانه
مناسب برای طرح های شلوغ با رنگ ها و سایه های درهم
هرچه تعداد قطعات بیشتر <-
وضوح بیشتر<-
اشغال فضای بیشتر فایل
142
گرافیک کامپیوتری
تصویر بواسطه یکسری سمبل خاص توصیف می شود
دستورات می توانند داده های اسکی باشند که امکان ویرایش داشته باشند
مناسب برای تصاویری که دارای گراف ،اشکال ترسیمی و رنگ های ساده هستند
از نظر میزان فضای ذخیره سازی نسبت به روش نگاشت بیتی مقرون بصرفه تر است
P1
P2
P5
P3
143
P4
گرافیک کامپیوتری
)Line (p1,p2
)Line (p2,p3
)Line (p3,p4
)Line(p4,p1
)Circle (p5,r
♣ اندازه بزرگ فایل ،بویژه با باال رفتن وضوح تصویر
(1الگوریتم های کدگذاری به منظور کوچکتر شدن اندازه فایل
(2استفاده از گذرگاه های داده 32و 64بیتی که باعث کاهش زمان بارگذاری می شود
♣ انعطاف پذیری نسبتا پایین بعلت عدم ارتباط طبیعی و حقیقی بین پیکسل ها
برای تغییرضخامت خط باید تمام پیکسل های آنها را یافته و تغییر را روی تمام آنها اعمال کند
♣ انعطاف پذیری نسبتا پایین به لحاظ کیفیت ثابت
برای بزرگ نمایی تصویر ،تصویر دچار حالت دندانه ای می شود و پردازش تصویر را با
مشکل مواجه می کند.
برای رفع آن ترسیم خطی بین پیکسل ها که باعث افزایش عملیات پردازش
با کوچک کردن تصویر ،باعث تلفیق پیکسل ها و عدم تفکیک نواحی سایه دار و قسمت اصلی
144
گرافیک کامپیوتری
.1تصاویر تک رنگ
.2تصاویر رنگی
145
گرافیک کامپیوتری
ایده آل برای زمانی که هدف تنها ترسیم خطوط و اشکال هندسی
تصاویری که در آنها نواحی
سایه داربه
استفاده از یک بیت برای هر پیکسل ( =1سیاه و= 0سفید )رنگ خاکستری نمایش می یابند
به منظور ایجاد تصاویرسطوح خاکستری ،
شدت رنگ سیاه در نقاط مختلف می بایست تغییر یابد(روش سایه زنی)
تصویر بصورت سه بعدی توصیف می گردد
بعد اول و دوم تعداد پیسکل ها در سطر
هستندبه تشخیص 64حالت سایه
ستونقادر
چشم وانسان
تصویر)
بعد سوم تعداد بیت های بکار رفته برای نمایش روشنی
عمق)64
پیکسل ((=26
خاکستری است
در واقع عمق تصویر دقت تفکیک خاکستری پیکسل هاست
146
گرافیک کامپیوتری
به دلیل محدودیت دستگاه های ورودی و خروجی در استفاده از رنگ های متنوع
بسیار محدود و پرهزینه بود از همین رو طراحان مجبور بودند رنگ های مورد
نیاز خود را با تقریب قابل قبولی از رنگ های طبیعی ایجاد نمود
به منظور ایجاد محدودیت در ترسیمات رنگی و نمایشی لیستی از رنگ های قابل
نمایش (جعبه رنگ یا پالت ) در اختیار کاربر قرار می گیرد
نیاز به گستره وسیع تری از رنگ ها :
• ترکیب رنگ های موجود و ایجاد رنگ های جدید
RGB .1
CMYK .2
147
گرافیک کامپیوتری
: RGBاز ترکیب سه رنگ اصلی قرمز ،سبز و آبی ساخته می شود
) : CMYK(Cyan Magenta Yellow Blackاز ترکیب چهار رنگ فیروزه
ای ،صورتی ،زرد و سیاه ساخته می شود
Cyan: blue-green color
Magenta : deep purplish red
148
گرافیک کامپیوتری
( Hueرنگ) :همان چیزی که به آن رنگ اطالق می شود
(Saturationسیری) :بیان کننده میزان سفیدی ،مثل رنگ قهوه ای در شکالت و
شکالت شیری
(Intensityشدت) :بیان کننده میزان روشنایی ،مثل رنگ نارنجی در آفتاب و سایه
در صورتی که بجای شدت از درخشندگی ( )Luminosityاستفاده شود
شیوه ای HSLبنام بوجود می آید
149
گرافیک کامپیوتری
تعداد رنگ هایی که توسط یک دستگاه ورودی خروجی پشتیبانی می شود ،بوسیله
کل بیت های تعیین شده برای ترکیب رنگ ،مشخص می شود
8بیت برای هر رنگ پایه 8*3 <-بیت برای سه رنگ اصلی <-
(224حدود 16میلیون رنگ)
هر پیکسل نیاز به 24بیت برای تعیین رنگش دارد
تصویری که 1024*1024است
25165824=24*1024*1024بیت حافظه الزم است
برای رفع مشکل از روش های فشرده سازی
یا استفاده ازپالت های محدود کننده تعداد رنگ
150
گرافیک کامپیوتری
هر چند که قالب های فایل های گرافیکی بسیار متنوع هستند ولی با این حال روش های
کدگذاری داده بسیار محدود است .
فایل های گرافیکی ذاتا فایل های حجیمی هستند از همین رو متدهای خاصی برای فشرده
سازی به هنگام ذخیره سازی مورد استفاده قرار می گیرند
کد گذاری دودویی
کدگذاری سمبلیک
151
گرافیک کامپیوتری
بیشتر برای نگاشت بیتی استفاده می شود
برای ذخیره فایل تصویر از 0و 1استفاده می شود 000100001110
توسط کاربران قابل درک نیستند (نیاز به یک نرم افزار بخصوص یا سایرمفسرین
دودویی دارند)
از ترتیب بایتی مختلف استفاده نمایند
در مواردی که هر پیکسل با بیش از یک بیت نگهداری می شود از نحوه ذخیره آنها نیز
باید اطالع داشته باشیم (چند بیت مربوط به هر پیکسل بدنبال هم ثبت می گردند)
152
گرافیک کامپیوتری
داده تقریبا در همه موارد بصورت ASCIIذخیره می شوند
آنها را می توان با یک ویرایشگر متن ویرایش کرد
این روش از انعطاف پذیری کمتری برخوردار است ونسبتا ضعیف است
153
گرافیک کامپیوتری
روش Run - Length
کدگذاری ایستا (:)Static Coding
داده های ورودی توسط رسانه ورودی بایک الگوریتم ثابت کدگذاری و به منظور برگرداندن
فایل از حالت کدگذاری ،معکوس الگوریتم بکار برده می شود
بافرینگ (حافظه مورد نیاز بافر در برابر حجم کل فایل ناچیز است)
کدگذاری پویا (: )Dynamic Coding
روش Huffman
در ابتدا یک بررسی آماری و اجمالی به محتویات فایل
حافظه مورد نیاز نسبتا بزرگ
154
گرافیک کامپیوتری
oپیکسل های تکراری با یک سمبل خاص جایگذاری می شوند
oیک شمارنده تعداد دفعات تکرار آنها را دربافر مشخص می کند
FFFCCCCCCCBBBBBBBBBBHHAAAAAAA
F3#C7#B10#HHA7
با فرض اینکه #سمبل طول-اجرا است و حداقل سه بار تکرار باید رخ دهد تا جایگزین
گردد
در تصاویری که زمینه
یکنواختی دارند ازکارایی
خوبی برخوردار است
155
گرافیک کامپیوتری
در سال 1952برای کدکردن فایل متنی ابداع شد
کدهایی که تعداد وقوع آنها باالتر است با کدهای کوتاهتری جایگزین گردد
به همین منظور یک مرحله پیش پردازشی برای استخراج تعداد دفعات تکرار اجرا می گردد
مزیت :
بدون نیاز به جدا کننده کدهای مندرج قابل تفکیک است
معایب :
سربار اضافی برای سرشماری آمار اولیه که مستلزم حافظه بافر و اتالف زمان است
با ضایع شده یک بیت کل کد باید از نو بوجود آید
156
گرافیک کامپیوتری
ABAGACCDEFAGACCCFCDEGGE
G
F
E
D
C
B
A
Symbol
001
100
101
0001
01
0000
11
Code
23
سپس به زیر درخت چپ مقدار
صفر و به زیر درخت راست
مقدار یک اختصاص می دهیم
13
10
7
5
3
A =5
157
E=3
F=2
گرافیک کامپیوتری
C=6
G=4
D=2
B=1
158
گرافیک کامپیوتری
Character Rendering
ارقام وسمبل ها، • به منظور تولید حروف
A ,5 ,$,d,0,& –
• فونت –قالب طرح کلی یک مجموعه از کاراکترها
Times New Roman, Courier, Arial , BNazanin –
• فونت می تواند ظاهرهای مختلفی داشته باشد
Normal, bold, italic –
Character Rendering • تکنیک های
)10-point, 12-point( معموال بر حسب نقطه
سایز فونت
Bitmap
font –
Denotes height of the characters in inches
Outline –
1 inch = 2.54 cm
گرافیک کامپیوتری
159
• هر فونت برای هر سایز و هر قالبی باید یک
طرح داشته باشد ()Bitmap
• Advantages
– ساده
– سریع ،چون نیازی به محاسبه ندارد
• Disadvantages
– حافظه زیاد :برای هر فونت و سایز آن یک ماتریس
– سایزها/قالبهای مختلف ،می توانند از یک فونت تولید شوند اما نتیجه آن رضایت بخش نیست
– سایز فونت وابسته به ( resolutionیک bitmapبرای فونتی با سایز 12یک کاراکتر 12
نقطه ای در یک 72 pixels/inch resolutionتولید می کند در حالیکه همان bitmap
یک کاراکتر 9نقطه ای در یک 96 pixels/inch resolutionتولید می کند
• کاراکتر با استفاده از طرح های اولیه گرافیک
(خط ،کمان )...،تعریف می شوند
– حافظه کمتر (نیازی به ذخیره bitmapنیست)
– مناسب برای سایزها /قالبها
• استفاده از Scaleبرای resize
• استفاده از Shearبرای italic
• و...
– آهسته (نیاز به پردازش برای رسم )
163
گرافیک کامپیوتری