טרנספורמציות ורכיבי דפים

המדריך הזה מתאר את המושגים הבסיסיים שמשמשים בטרנספורמציה (כלומר, העברה, סיבוב, שינוי קנה מידה וחיתוך) רכיבים בדף, התמקדות במיוחד על הטרנספורמציה האמינה הבסיסית ועל הפעולות שלה.

למידע נוסף על אופן השימוש בטרנספורמציות זיקה כדי להשיג תוצאות ספציפיות, לעיין במדריך צורות גודל ומיקום.

הגודל והמיקום החזותי של רכיב בדף נקבעים על ידי המאפיינים: size ו-transform. הגודל מתאר את הגודל האידיאלי או המובנה של רכיב הדף שנוצר. הטרנספורמציה מציינת ערך דו-ממדי מטריצה של affine transform שמציין איך אובייקט בגודל המובנה שלו עובר טרנספורמציה כדי המראה החזותי הסופי.

תרשים של צורה שמעובדת דרך טרנספורמציה אפית

כשבוחרים רכיב בדף בממשק המשתמש של Slides ומשנים את הגודל החזותי שלו באמצעות נקודות האחיזה ההתאמה, אתם למעשה מעדכנים את מטריצת הטרנספורמציה הזו. העברת הרכיב על פני הדף או סיבוב הרכיב מעדכנת גם את ונבצע טרנספורמציה של המטריצה.

כדי להתחיל, משתמשים בממשק המשתמש של Slides

בחשבון המטריצה שבו משתמשים כדי לשנות רכיבי דפים ולשנות את הגודל שלהם עוצמתיים מאוד, אבל עלולים להרתיע בהתחלה. ברוב הדף הזה מתוארים וחישובים. עם זאת, אפשר לפשט את המפרט של שינויים גדלים באמצעות הגישה הבאה:

  1. ליצור רכיבים בדף באמצעות ממשק המשתמש של Slides.
  2. ממקמים את רכיבי הדפים האלו לפי הצורך, תוך שימוש בממשק המשתמש של Slides.
  3. לקרוא את הגודל של הרכיבים האלו ולבצע להם טרנספורמציה באמצעות שיטת get.

זה מספיק כדי לעזור לכם להתחיל. שאר המדריך הזה מסביר לשנות חישובים שבהם ניתן להשתמש כדי לשנות בקפידה את רכיבי הדף.

מטריצות אפיות

מטריצות של טרנספורמציה דו ממדית נמצאות בשימוש נפוץ בגרפיקה לקביעת קנה המידה, הסיבוב, הגזירה, ההשתקפות והתרגום של רכיבים. ב-API של Slides, הטרנספורמציה של רכיב בדף מיוצגת. במטריצת 3x3:

$$A=\begin{bmatrix} scale\_x & shear\_x & translate\_x\\ shear\_y & scale\_y & translate\_y\\ 0 & 0 & 1 \end{bmatrix}$$

הפרמטרים שנעשה בהם שימוש בטרנספורמציה הם:

translate_x הפרמטרים של Translate מציינים את המיקום (X,Y) של הפינה השמאלית העליונה של רכיב הדף, ביחס לפינה הימנית העליונה של הדף. ניתן לציין את המיקום היחסי באמצעות יחידות של נקודות (pt) או יחידות מטריות באנגלית (EMU).
translate_y
scale_x הפרמטרים של קנה המידה קובעים את הגודל של רכיב בדף שעבר עיבוד. אלו גורמים הכפלה של יחידות מודעות; לדוגמה, scale_x ערך של 1.5 מגדיל את רוחב הרכיב ב-50%.
scale_y
shear_x גם הפרמטרים של הגזירה הם ללא יחידות ושולטים בהטיה של דף לרכיב מסוים. אפשר להשתמש בפרמטרים של קנה מידה וגזירה יחד כדי לסובב דף לרכיב מסוים.
shear_y

אפשר למצוא באינטרנט דוגמאות רבות, איך מטריצות של טרנספורמציה דו-ממדית להשפיע על עיבוד אובייקטים גרפיים.

מטריצת הטרנספורמציה היא יחסית לקבוצה או לדף שמכילים לרכיב מסוים. לדוגמה, אם מסובבים קבוצה שמכילה מלבן, transform של הקבוצה ערכי השדות משקפים את הסיבוב, אבל transform של המלבן בערכי השדות האלה.

מתבצע חישוב של הגודל החזותי

כדי לקבוע את הגודל החזותי (העיבוד) של רכיב בדף, צריך להביא בחשבון גם את הגודל וגם לבצע טרנספורמציה של מאפיינים יחד. לא ניתן לקבוע אילו שני רכיבי דף גדולים יותר מבחינה חזותית פשוט על ידי השוואה בין מאפייני הגודל שלהם: צריך למפות את הגבולות של הרכיב באמצעות מטריצת הטרנספורמציה לחשב גודל מעובד.

מיפוי נקודה

כדי למפות נקודה ספציפית באמצעות מטריצת הטרנספורמציה, ממירים את הנקודה (x, y) בווקטור [x, y, 1] ואז מבצעים את הכפלת המטריצה. כדאי להביא בחשבון את מיפוי של נקודה p:

\[p' = Ap\]

זה הופך ל:

$$\begin{bmatrix} x'\\ y'\\ 1 \end{bmatrix} =\begin{bmatrix} scale\_x & shear\_x & translate\_x\\ shear\_y & scale\_y & translate\_y\\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x\\ y\\ 1 \end{bmatrix}$$

לכן, הקואורדינטות של הנקודה החדשה p' הן:

$$x' = (scale\_x \times x) + (shear\_x \times y) + translate\_x\\ y' = (scale\_y \times y) + (shear\_y \times x) + translate\_y$$

חישוב הגבולות

לקבוע את הגודל המעובד של התיבה התוחמת של רכיב אחרי טרנספורמציה מספריים וסולמות, משתמשים ב:

$$width' = (scale\_x \times width) + (shear\_x \times height)\\ height' = (scale\_y \times height) + (shear\_y \times width)$$

למידע נוסף על אופן השימוש בטרנספורמציות זיקה כדי להשיג תוצאות ספציפיות, לעיין במדריך צורות גודל ומיקום.

מגבלות

חלק משדות הגודל והמיקום לא תואמים לסוגים מסוימים של דפים רכיבים. הטבלה הבאה מסכמת את התאימות של אלמנטים מסוימים בדף לשדות של גודל ומיקום.

שדה צורה וידאו טבלה
תרגום
קנה מידה לא**
השמיעה לא לא

** כדי לעדכן את המאפיינים של השורות והעמודות בטבלה, צריך להשתמש בכלי UpdateTableRowPropertiesRequest וגם UpdateTableColumnPropertiesRequest.

כל שדות הגודל והמיקום עשויים לספק תוצאות בלתי צפויות אם לרכיב הדף יש גזירה. כל המגבלות כפופות לשינויים. למידע עדכני, ראו Google Slides API.