SlideShare una empresa de Scribd logo
1 de 23
‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬


                        ‫שפה לתיאור דף מודפס‬                ‫•‬
          ‫מטפלת בשלשה סוגים של אובייקטים‬                   ‫•‬
                                              ‫גרפיים:‬
                                            ‫• טקסט‬
                            ‫• צורות גיאומטריות‬
                               ‫• תמונות מיובאות‬
                 ‫ניתן לבצע בקלות טרנספורמציות‬              ‫•‬
       ‫גרפיות של כל האובייקטים על גבי הדף‬
‫© ד” ר יעקב רובינוביץ‬                        ‫המודפס‬
‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬

                        ‫מודל יצירת התמונה ‪Imaging Model‬‬
                           ‫עקרונות של ציור בדיו /בנית דף‬
                                                        ‫מודפס‬
                          ‫הדף הנוכחי ‪ :Current Page‬דף ריק‬            ‫•‬
                           ‫שעליו התוכנית ממקמת סימונים של‬
                            ‫בתום הגדרת הדף‬         ‫האובייקטים.‬
                                  ‫הנוכחי, הוא נשלח להדפסה.‬
                        ‫המסלול הנוכחי ‪ :Current Path‬מסלול‬            ‫•‬
                             ‫שבנוי מאובייקטים גרפיים. לאחר‬
‫© ד” ר יעקב רובינוביץ‬    ‫הגדרתו, ניתן לצייר את המסלול, למלא‬
‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬

                                        ‫מערכת קואורדינטות‬
                                   ‫במדפסת: ‪Device Space‬‬             ‫•‬
                                   ‫ייחודי לכל מדפסת ומדפסת‬
                              ‫בדף הנוכחי ( ‪)Current Page‬‬            ‫•‬
                             ‫מערכת קואורדינטות של המשתמש‬
                        ‫‪( User Coordinate System (user space‬‬
                        ‫ניתן לשנות את מרחב המשתמש ע" י:‬
                        ‫הזזה של ראשית הצירים ) (‪,Translation‬‬
                                    ‫סיבוב הצירים (‪,)Rotation‬‬
                  ‫או שינוי קנה המידה (‪ )Scaling‬עבור כל ציר‬
‫© ד” ר יעקב רובינוביץ‬                                    ‫בנפרד.‬
‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬
                                          ‫עקרונות התכנות‬
           ‫• אופרטורים גרפיים – כשליש מן השפה‬
                 ‫• מחסנית ‪ Stack‬בזיכרון לנתונים‬
                      ‫(מספרים, שרשראות תווים,‬
                                    ‫אופרטורים)‬
                 ‫• ‪ Postfix Notation‬האופרטורים :‬
            ‫שולפים את הנתונים מהמחסנית. לכן‬
            ‫יש למקם את הנתונים במחסנית לפני‬
            ‫הקריאה לאופרטור. התוצאה מוחזרת‬
                                      ‫. למחסנית‬
                                 ‫• סוגי הנתונים :‬
                   ‫‪Data: reals, booleans, arrays, strings‬‬
‫© ד” ר יעקב רובינוביץ‬
‫יישומי גרפיקה וראיה ממוחשבת – ‪PostScript‬‬
                        ‫המחסנית ופעולות אריטמטיות‬
                    ‫• המחסנית עובדת במשטר ‪LIFO‬‬
                  ‫• ניתן למקם במחסנית את כ ל סוגי‬
              ‫הנתונים (מספרים, שרשראות תווים,‬
                                     ‫אופרטורים)‬
             ‫21 3.6 –99‬          ‫–99‬
                                 ‫3.6‬
                                  ‫21‬       ‫‪mark‬‬
             ‫)‪PS) [1 2] /Font mark‬‬                 ‫/‪Font‬‬
                                                   ‫]1 2[‬
                                                   ‫)‪(PS‬‬
‫© ד” ר יעקב רובינוביץ‬
‫יישומי גרפיקה וראיה ממוחשבת – ‪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‬

‫© ד” ר יעקב רובינוביץ‬
‫יישומי גרפיקה וראיה ממוחשבת – ‪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‬‬

‫© ד” ר יעקב רובינוביץ‬
‫יישומי גרפיקה וראיה ממוחשבת – ‪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‬
‫© ד” ר יעקב רובינוביץ‬
‫יישומי גרפיקה וראיה ממוחשבת – ‪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‬‬




‫© ד” ר יעקב רובינוביץ‬
PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬
               ‫פעולות גרפיות - מערכת קואורדינטות‬
                 (User Coordinate System (user space
                                           points 72” = 1
                                   432

              newpath
               144 72 moveto
               144 432 lineto
              stroke
              showpage
                                    72


‫© ד” ר יעקב רובינוביץ‬                0,0       144
PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬

         newpath                         ‫פעולות גרפיות‬
            72 216 moveto
            144 72 rlineto       288

            144 288 moveto
                                 216
            0 -216 rlineto
         stroke
         showpage




                                           72     144

‫© ד” ר יעקב רובינוביץ‬
PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬

         newpath                             ‫פעולות גרפיות‬
            270 360 moveto
            0 72 rlineto
            72 0 rlineto
            0 -72 rlineto
            -72 0 rlineto
            4 setlinewidth
         stroke
         showpage



‫© ד” ר יעקב רובינוביץ‬
PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬

         newpath                             ‫פעולות גרפיות‬
            270 360 moveto
            0 72 rlineto
            72 0 rlineto
            0 -72 rlineto
            closepath
            4 setlinewidth
         stroke
         showpage



‫© ד” ר יעקב רובינוביץ‬
PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬
                           ‫פעולות גרפיות – מילוי צורות‬
         newpath
            270 360 moveto
            0 72 rlineto
            72 0 rlineto
            0 -72 rlineto
            closepath
            fill
         showpage



‫© ד” ר יעקב רובינוביץ‬
PostScript – ‫יישומי גרפיקה וראיה ממוחשבת‬
                           ‫פעולות גרפיות – מילוי צורות‬
         newpath
            270 360 moveto
            0 72 rlineto
            72 0 rlineto
            0 -72 rlineto
            closepath
            .5 setgray
            fill
         showpage


‫© ד” ר יעקב רובינוביץ‬
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


‫© ד” ר יעקב רובינוביץ‬
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

‫© ד” ר יעקב רובינוביץ‬
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

‫© ד” ר יעקב רובינוביץ‬
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
‫© ד” ר יעקב רובינוביץ‬
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




‫© ד” ר יעקב רובינוביץ‬
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




‫© ד” ר יעקב רובינוביץ‬
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

‫© ד” ר יעקב רובינוביץ‬
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

‫© ד” ר יעקב רובינוביץ‬

Más contenido relacionado

Más de Jacob Rubinovitz (13)

3 d animation of jewelry
3 d animation of jewelry3 d animation of jewelry
3 d animation of jewelry
 
3 d animation of jewelry
3 d animation of jewelry3 d animation of jewelry
3 d animation of jewelry
 
Robotics
RoboticsRobotics
Robotics
 
Intro
IntroIntro
Intro
 
Deadlock avoid
Deadlock avoidDeadlock avoid
Deadlock avoid
 
מצגת ראיה ממוחשבת
מצגת ראיה ממוחשבתמצגת ראיה ממוחשבת
מצגת ראיה ממוחשבת
 
Post script
Post scriptPost script
Post script
 
Deadlock avoid
Deadlock avoidDeadlock avoid
Deadlock avoid
 
Deadlock avoid
Deadlock avoidDeadlock avoid
Deadlock avoid
 
Deadlock avoid
Deadlock avoidDeadlock avoid
Deadlock avoid
 
Robotics cont
Robotics contRobotics cont
Robotics cont
 
Intro
IntroIntro
Intro
 
בר מצווה של ברק
בר מצווה של ברקבר מצווה של ברק
בר מצווה של ברק
 

Post script

  • 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 ‫© ד” ר יעקב רובינוביץ‬