Your SlideShare is downloading. ×
Post script
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Post script

288

Published on

Post script מצגת שלי על …

Post script מצגת שלי על
לא הרבה השתנה בעשור שחלף

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
288
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬ ‫שפה לתיאור דף מודפס‬ ‫•‬ ‫מטפלת בשלשה סוגים של אובייקטים‬ ‫•‬ ‫גרפיים:‬ ‫• טקסט‬ ‫• צורות גיאומטריות‬ ‫• תמונות מיובאות‬ ‫ניתן לבצע בקלות טרנספורמציות‬ ‫•‬ ‫גרפיות של כל האובייקטים על גבי הדף‬‫© ד” ר יעקב רובינוביץ‬ ‫המודפס‬
  • 2. ‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬ ‫מודל יצירת התמונה ‪Imaging Model‬‬ ‫עקרונות של ציור בדיו /בנית דף‬ ‫מודפס‬ ‫הדף הנוכחי ‪ :Current Page‬דף ריק‬ ‫•‬ ‫שעליו התוכנית ממקמת סימונים של‬ ‫בתום הגדרת הדף‬ ‫האובייקטים.‬ ‫הנוכחי, הוא נשלח להדפסה.‬ ‫המסלול הנוכחי ‪ :Current Path‬מסלול‬ ‫•‬ ‫שבנוי מאובייקטים גרפיים. לאחר‬‫© ד” ר יעקב רובינוביץ‬ ‫הגדרתו, ניתן לצייר את המסלול, למלא‬
  • 3. ‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬ ‫מערכת קואורדינטות‬ ‫במדפסת: ‪Device Space‬‬ ‫•‬ ‫ייחודי לכל מדפסת ומדפסת‬ ‫בדף הנוכחי ( ‪)Current Page‬‬ ‫•‬ ‫מערכת קואורדינטות של המשתמש‬ ‫‪( User Coordinate System (user space‬‬ ‫ניתן לשנות את מרחב המשתמש ע" י:‬ ‫הזזה של ראשית הצירים ) (‪,Translation‬‬ ‫סיבוב הצירים (‪,)Rotation‬‬ ‫או שינוי קנה המידה (‪ )Scaling‬עבור כל ציר‬‫© ד” ר יעקב רובינוביץ‬ ‫בנפרד.‬
  • 4. ‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬ ‫עקרונות התכנות‬ ‫• אופרטורים גרפיים – כשליש מן השפה‬ ‫• מחסנית ‪ Stack‬בזיכרון לנתונים‬ ‫(מספרים, שרשראות תווים,‬ ‫אופרטורים)‬ ‫• ‪ Postfix Notation‬האופרטורים :‬ ‫שולפים את הנתונים מהמחסנית. לכן‬ ‫יש למקם את הנתונים במחסנית לפני‬ ‫הקריאה לאופרטור. התוצאה מוחזרת‬ ‫. למחסנית‬ ‫• סוגי הנתונים :‬ ‫‪Data: reals, booleans, arrays, strings‬‬‫© ד” ר יעקב רובינוביץ‬
  • 5. ‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬ ‫המחסנית ופעולות אריטמטיות‬ ‫• המחסנית עובדת במשטר ‪LIFO‬‬ ‫• ניתן למקם במחסנית את כ ל סוגי‬ ‫הנתונים (מספרים, שרשראות תווים,‬ ‫אופרטורים)‬ ‫21 3.6 –99‬ ‫–99‬ ‫3.6‬ ‫21‬ ‫‪mark‬‬ ‫)‪PS) [1 2] /Font mark‬‬ ‫/‪Font‬‬ ‫]1 2[‬ ‫)‪(PS‬‬‫© ד” ר יעקב רובינוביץ‬
  • 6. ‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬ ‫המחסנית ופעולות אריטמטיות‬ ‫האופרטורים ‪add, sub‬‬ ‫•‬ ‫5 72 ‪add‬‬ ‫5‬ ‫72‬ ‫‪add‬‬ ‫5‬ ‫72‬ ‫23‬ ‫5‬ ‫3.8 6.6 ‪sub‬‬ ‫3.8‬ ‫6.6‬ ‫‪sub‬‬ ‫3.8‬ ‫6.6‬ ‫7.1‬ ‫3.8‬‫© ד” ר יעקב רובינוביץ‬
  • 7. ‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬ ‫המחסנית ופעולות אריטמטיות‬ ‫31 81 526.1 >= ‪div‬‬ ‫52 3 8 >= ‪idiv‬‬ ‫21 01 2 >= ‪mod‬‬ ‫6 8 84 >= ‪mul‬‬ ‫-72 72 >= ‪neg‬‬ ‫‪…sqrt, exp, ceiling, sin‬‬‫© ד” ר יעקב רובינוביץ‬
  • 8. ‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬ ‫פעולות אריטמטיות מורכבות יותר‬ ‫6 + 3 :8)‬ ‫(‬ ‫8 3‬ ‫‪div‬‬ ‫6‬ ‫‪add‬‬ ‫3 6‬ ‫8‬ ‫‪div add‬‬ ‫8‬ ‫573.6 573‬ ‫.‬ ‫3‬ ‫6‬ ‫6‬ ‫8) – 7 3 ‪(X‬‬ ‫‪8 7 3 mul sub‬‬ ‫‪7 3 mul 8 exch sub‬‬ ‫12‬ ‫8‬ ‫31 12‬ ‫-‬ ‫12‬ ‫8‬‫© ד” ר יעקב רובינוביץ‬
  • 9. ‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬ ‫פעולות מחסנית נוספות ‪Stack operators‬‬ ‫6 8 21 ‪=< _clear‬‬ ‫6 6 6 >= ‪dup‬‬ ‫71 8 71 >= ‪pop‬‬ ‫7 8 9 3 1 8 7 9 >= ‪roll‬‬ ‫7 8 9 3- 1 7 9 8 >= ‪roll‬‬‫© ד” ר יעקב רובינוביץ‬
  • 10. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ ‫פעולות גרפיות - מערכת קואורדינטות‬ (User Coordinate System (user space points 72” = 1 432 newpath 144 72 moveto 144 432 lineto stroke showpage 72‫© ד” ר יעקב רובינוביץ‬ 0,0 144
  • 11. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ newpath ‫פעולות גרפיות‬ 72 216 moveto 144 72 rlineto 288 144 288 moveto 216 0 -216 rlineto stroke showpage 72 144‫© ד” ר יעקב רובינוביץ‬
  • 12. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ newpath ‫פעולות גרפיות‬ 270 360 moveto 0 72 rlineto 72 0 rlineto 0 -72 rlineto -72 0 rlineto 4 setlinewidth stroke showpage‫© ד” ר יעקב רובינוביץ‬
  • 13. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ newpath ‫פעולות גרפיות‬ 270 360 moveto 0 72 rlineto 72 0 rlineto 0 -72 rlineto closepath 4 setlinewidth stroke showpage‫© ד” ר יעקב רובינוביץ‬
  • 14. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ ‫פעולות גרפיות – מילוי צורות‬ newpath 270 360 moveto 0 72 rlineto 72 0 rlineto 0 -72 rlineto closepath fill showpage‫© ד” ר יעקב רובינוביץ‬
  • 15. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ ‫פעולות גרפיות – מילוי צורות‬ newpath 270 360 moveto 0 72 rlineto 72 0 rlineto 0 -72 rlineto closepath .5 setgray fill showpage‫© ד” ר יעקב רובינוביץ‬
  • 16. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ ‫פעולות גרפיות – מילוי צורות‬ newpath %Begin black box 252 324 moveto 0 72 rlineto 72 0 rlineto 0 -72 rlineto closepath newpath % light fill newpath % gray box 288 396 moveto 270 360 moveto 0 72 rlineto 0 72 rlineto 72 0 rlineto 72 0 rlineto 0 -72 rlineto 0 -72 rlineto closepath closepath .4 setgray fill .8 setgray fill showpage‫© ד” ר יעקב רובינוביץ‬
  • 17. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ Procedures and Variables ‫שגרות ומשתנים‬ Dictionaries Key Key’s value system dictionary Operator Action user dictionary Name Variable Name Procedure /ppi 72 def /inch {72 mul} def /inch {ppi mul} def 5 72 mul 5 inch‫© ד” ר יעקב רובינוביץ‬
  • 18. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ %---- Define procedures ----‫פרוצדורות – מילוי צורות‬ /ppi 72 def /inch {ppi mul} def /box %stack:x y => --- {newpath moveto 1 inch 0 rlineto 0 1 inch rlineto -1 inch 0 rlineto closepath} def /fillbox %stack: grayvalue => --- {setgray fill} def % ---------Main Program---------- 3.5 inch 4.5 inch box 0 fillbox 3.75 inch 5 inch box .4 fillbox 4 inch 5.5 inch box .8 fillbox showpage‫© ד” ר יעקב רובינוביץ‬
  • 19. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ ‫רפיקה – טרנספורמציות במערכת הקואורדינטות‬ /Times-Roman findfont 30 scalefont setfont /square %procedure to draw a { newpath % filled square 0 0 moveto 90 0 lineto %define a square path 90 90 lineto 0 90 lineto closepath fill %fill it 6 92 moveto % & label it (A Box) show } def square %do a square 200 250 translate %move coord. sys. square %do another square 200 250 translate %and move again square %do a third square showpage‫© ד” ר יעקב רובינוביץ‬
  • 20. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ ‫רפיקה – טרנספורמציות במערכת הקואורדינטות‬ square %do a square 300 150 translate %move coord sys. 60 rotate %and rotate it square %do it again . . . 300 150 translate 60 rotate square %do a third square showpage‫© ד” ר יעקב רובינוביץ‬
  • 21. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ ‫רפיקה – טרנספורמציות במערכת הקואורדינטות‬ square %do a square 100 100 translate 1.5 1.5 scale square 100 100 translate .75 1.25 scale %non-uniform scaling square showpage‫© ד” ר יעקב רובינוביץ‬
  • 22. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ )‫גרפיקה – שמירת המצב הגרפי (המסלול הנוכחי‬ /starside { 72 0 lineto %add line to path currentpoint translate %move origin -144 rotate } def %rotate coord. sys. /star %stack: x y { moveto currentpoint translate 4 {starside} repeat closepath gsave .5 setgray fill grestore % --main program---- stroke } def newpath 200 200 star showpage‫© ד” ר יעקב רובינוביץ‬
  • 23. PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬ )‫גרפיקה – שמירת המצב הגרפי (המסלול הנוכחי‬ /starside { 72 0 lineto %add line to path currentpoint translate %move origin -144 rotate } def %rotate coord. sys. /star %stack: x y { moveto currentpoint translate 4 {starside} repeat closepath gsave .5 setgray fill grestore % --main program---- stroke } def newpath 200 200 star showpage‫© ד” ר יעקב רובינוביץ‬

×