রূপান্তর এবং পৃষ্ঠা উপাদান

এই নির্দেশিকাটি পৃষ্ঠার উপাদানগুলিকে রূপান্তরে ব্যবহৃত অন্তর্নিহিত ধারণাগুলি বর্ণনা করে (অর্থাৎ, চলন্ত, ঘূর্ণায়মান, স্কেলিং এবং শিয়ারিং) পৃষ্ঠা উপাদানগুলি, বিশেষত অন্তর্নিহিত অ্যাফাইন ট্রান্সফর্ম এবং এর ক্রিয়াকলাপগুলিতে ফোকাস করে৷

নির্দিষ্ট ফলাফল অর্জনের জন্য অ্যাফাইন ট্রান্সফর্মগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও জানতে, আকার এবং অবস্থানের আকার নির্দেশিকা দেখুন।

একটি পৃষ্ঠা উপাদানের চাক্ষুষ আকার এবং অবস্থান দুটি বৈশিষ্ট্য দ্বারা নিয়ন্ত্রিত হয়: আকার এবং রূপান্তর । আকারটি তৈরি করা পৃষ্ঠা উপাদানটির আদর্শ বা অন্তর্নির্মিত আকার বর্ণনা করে। রূপান্তরটি একটি দ্বি-মাত্রিক অ্যাফাইন ট্রান্সফর্ম ম্যাট্রিক্সকে নির্দিষ্ট করে যা নির্দিষ্ট করে যে কীভাবে একটি বস্তু তার অন্তর্নির্মিত আকারে রূপান্তরিত হয় যাতে তার চূড়ান্ত চাক্ষুষ উপস্থিতি দেখা যায়।

অ্যাফাইন ট্রান্সফর্মের মাধ্যমে রেন্ডার করা একটি আকৃতির চিত্র

আপনি যখন স্লাইডস UI-তে একটি পৃষ্ঠা উপাদান নির্বাচন করেন এবং সমন্বয় হ্যান্ডলগুলি ব্যবহার করে এর ভিজ্যুয়াল আকার পরিবর্তন করেন, আপনি আসলে এই রূপান্তর ম্যাট্রিক্স আপডেট করছেন। পৃষ্ঠা জুড়ে উপাদানটি সরানো বা এটি ঘোরানো উপাদানটির রূপান্তর ম্যাট্রিক্স আপডেট করে।

শুরু করতে স্লাইড UI ব্যবহার করুন

পৃষ্ঠার উপাদানগুলিকে রূপান্তর এবং আকার পরিবর্তন করতে আপনি যে ম্যাট্রিক্স গাণিতিক ব্যবহার করেন তা খুবই শক্তিশালী, কিন্তু প্রথমে ভয়ঙ্কর হতে পারে; এই পৃষ্ঠার বেশিরভাগই এই গণনাগুলি বর্ণনা করে। যাইহোক, আপনি নিম্নলিখিত পদ্ধতি ব্যবহার করে রূপান্তর এবং আকারের স্পেসিফিকেশন সহজ করতে পারেন:

  1. স্লাইড UI ব্যবহার করে পৃষ্ঠা উপাদান তৈরি করুন।
  2. পজিশন স্কেল এই পৃষ্ঠা উপাদানগুলি পছন্দসই হিসাবে, এখনও স্লাইড UI ব্যবহার করে৷
  3. get পদ্ধতি ব্যবহার করে সেই উপাদানগুলির আকার এবং রূপান্তর পড়ুন।

এটি আপনাকে শুরু করার জন্য যথেষ্ট হতে পারে; এই গাইডের বাকি অংশে রূপান্তর গণনাগুলি ব্যাখ্যা করা হয়েছে যা আপনি পৃষ্ঠার উপাদানগুলিকে বিস্তারিতভাবে পরিচালনা করতে ব্যবহার করতে পারেন।

Affine রূপান্তর ম্যাট্রিক্স

দ্বি-মাত্রিক অ্যাফাইন ট্রান্সফর্ম ম্যাট্রিক্সগুলি সাধারণত উপাদানগুলির স্কেল, ঘূর্ণন, শিয়ার, প্রতিফলন এবং অনুবাদ নিয়ন্ত্রণ করতে গ্রাফিক্স লাইব্রেরি দ্বারা ব্যবহৃত হয়। স্লাইড এপিআই-এ, একটি পৃষ্ঠা উপাদানের রূপান্তরকে 3x3 ম্যাট্রিক্স হিসাবে উপস্থাপন করা হয়:

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

রূপান্তরে ব্যবহৃত পরামিতিগুলি হল:

translate_x অনুবাদের পরামিতিগুলি পৃষ্ঠার উপরের-বাম কোণার সাপেক্ষে পৃষ্ঠা উপাদানের উপরের-বাম কোণে (X,Y) অবস্থান নির্দিষ্ট করে। আপনি পয়েন্ট (pt) বা ইংরেজি মেট্রিক ইউনিট (EMU) এর ইউনিট ব্যবহার করে আপেক্ষিক অবস্থান নির্দিষ্ট করুন।
translate_y
scale_x রেন্ডার করার সময় পৃষ্ঠার উপাদান কতটা বড় তা স্কেল প্যারামিটার নিয়ন্ত্রণ করে। এগুলি এককবিহীন গুণক উপাদান; উদাহরণস্বরূপ, 1.5 এর একটি scale_x মান উপাদানটির প্রস্থকে 50% বাড়িয়ে দেয়।
scale_y
shear_x শিয়ার প্যারামিটারগুলিও একক এবং একটি পৃষ্ঠা উপাদানের কাত নিয়ন্ত্রণ করে। একটি পৃষ্ঠা উপাদান ঘোরানোর জন্য স্কেল এবং শিয়ার প্যারামিটার একসাথে ব্যবহার করা যেতে পারে।
shear_y

আপনি ওয়েবে অনেক উদাহরণ খুঁজে পেতে পারেন যা দেখায় যে কিভাবে 2-D রূপান্তর ম্যাট্রিক্স গ্রাফিকাল অবজেক্ট রেন্ডারিংকে প্রভাবিত করে।

রূপান্তর ম্যাট্রিক্স উপাদানটির ধারণকারী গ্রুপ বা পৃষ্ঠার সাথে আপেক্ষিক। উদাহরণস্বরূপ, যদি আপনি একটি আয়তক্ষেত্র ধারণ করে এমন একটি গোষ্ঠীকে ঘোরান, তবে গোষ্ঠীর 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 স্লাইড API দেখুন।