2D geometric transformations, point mappings, translation vectors, uniform & differential scaling, and sequential compositions
25 min read
Created ২ সেপ, ২০২৬
Definition of Transformation (ট্রান্সফরমেশনের সংজ্ঞা)
কম্পিউটার গ্রাফিক্স এবং অ্যানিমেশনে ট্রান্সফরমেশন (Transformation) হলো এমন একটি গাণিতিক অপারেশন, যা কোনো অবজেক্টের জ্যামিতিক বৈশিষ্ট্য—যেমন তার অবস্থান (Position), দিক বা ঘূর্ণন (Orientation), আকার (Size), কিংবা আকৃতি (Shape)—পরিবর্তন করে।
গাণিতিক ভাষায়, ট্রান্সফরমেশন হলো ইউক্লিডিয়ান স্পেসের একটি নির্দিষ্ট পয়েন্ট P(x,y)-কে একটি নিয়মের মাধ্যমে নতুন পয়েন্ট P′(x′,y′)-এ রূপান্তর করা:
T:P(x,y)⟶P′(x′,y′)
গ্রাফিক্স ইঞ্জিনে কোনো অবজেক্ট নড়াচড়া করলে বা বড়-ছোট হলে সম্পূর্ণ অবজেক্ট নতুন করে আঁকা হয় না। বরং অবজেক্টটি যে মূল বিন্দুগুলো (Vertices) দিয়ে গঠিত, সেগুলোর ওপর গাণিতিক ফাংশন বা ম্যাট্রিক্স গুণ করে নিমেষেই নতুন কোঅর্ডিনেট বের করে নেওয়া হয়।
Need for Transformations in Computer Graphics (কম্পিউটার গ্রাফિક્সে রূপান্তরের প্রয়োজনীয়তা)
কম্পিউটার গ্রাফিক্স, ভিডিও গেম ডেভেলপমেন্ট এবং ৩ডি অ্যানিমেশন পাইপলাইনে ট্রান্সফরমেশন কেন অপরিহার্য ভিত্তি?
১. রিয়েল-টাইম অ্যানিমেশন ও মুভমেন্ট
ভিডিও গেম বা সিনেমায় অবজেক্ট প্রতি মুহূর্তে নড়াচড়া, দৌড়াদৌড়ি বা ঘুরপাক খায়। ট্রান্সফরমেশনের সাহায্যে প্রতি ফ্রেমে মডেল নতুন করে তৈরি না করেই শুধু শীর্ষবিন্দুগুলো আপডেট করা যায়।
২. মডেলের পুনর্ব্যবহার (Reusability)
একটি গাড়ির চাকা মূল বিন্দু (০, ০)-তে একবারই ডিজাইন করা হয়। এরপর স্কেলিং ও ট্রান্সলেশন করে গাড়ির চার কোণায় চারটি চাকা নিখুঁতভাবে বসিয়ে দেওয়া হয়।
৩. ভার্চুয়াল ক্যামেরা ও ভিউয়িং পাইপলাইন
গেমের মধ্যে প্লেয়ার যখন ডানে-বামে তাকায় বা ক্যামেরা জুম-ইন করে, তখন কিন্তু ক্যামেরা নিজে নড়ে না—পুরো ভার্চুয়াল জগৎকে ক্যামেরার সাপেক্ষে ট্রান্সফর্ম করা হয়।
৪. রেসপনসিভ ইউজার ইন্টারফেস (UI)
মোবাইল বা ল্যাপটপের বিভিন্ন স্ক্রিন সাইজে SVG আইকন, ফন্ট বা উইন্ডো ঠিকঠাক স্কেল ও পজিশন করার পেছনে রয়েছে ২ডি স্কেলিং ও ট্রান্সলেশন ম্যাট্রিক্স।
ইঞ্জিনিয়ারিং বাস্তবতা: স্ক্র্যাচ থেকে রিড্র বনাম ম্যাট্রিক্স রূপান্তর
প্রথম দিকের কম্পিউটারে একটি গাড়ি স্ক্রিনে সরাতে হলে পুরো মেমোরির পিক্সেল মুছে আবার নতুন করে লাইন-বাই-লাইন আঁকতে হতো। কিন্তু আধুনিক GPU-তে অবজেক্টের ভার্টেক্স কোঅর্ডিনেটগুলো মেমোরিতে থাকে এবং প্যারালাল 3×3 ম্যাট্রিক্স গুণের মাধ্যমে মিলি-সেকেন্ডের মধ্যে লক্ষ লক্ষ পয়েন্টকে নতুন অবস্থানে রূপান্তর করা সম্ভব হয়।
২ডি জ্যামিতিক রূপান্তর হলো দ্বিমাত্রিক কার্তেসীয় তলে (R2) অবস্থিত যে কোনো জ্যামিতিক উপাদান (পয়েন্ট, লাইন, বহুভুজ, কার্ভ)-এর ওপর প্রযুক্ত রূপান্তর।
মৌলিক ২ডি জ্যামিতিক রূপান্তরগুলো হলো:
Translation (স্থানান্তর / সরণ): অবজেক্টকে সোজা পথে এক স্থান থেকে অন্য স্থানে সরিয়ে নেওয়া।
Scaling (আকার পরিবর্তন / স্কেলিং): অবজেক্টের দৈর্ঘ্য ও প্রস্থ বড় বা ছোট করা।
Rotation (ঘূর্ণন): নির্দিষ্ট কোনো বিন্দুর সাপেক্ষে নির্দিষ্ট কোণে অবজেক্টকে ঘোরানো।
Reflection (প্রতিফলন): কোনো অক্ষের সাপেক্ষে অবজেক্টের আয়না প্রতিবিম্ব তৈরি করা।
Shearing (মোচড় / শিয়ারিং): অবজেক্টের এক পাশ স্থির রেখে অন্য পাশ কোণাকুণি বিকৃত করা।
অ্যানিমেশন মুভির যে কোনো জটিল চলন—যেমন একটি পাখির ডানা ঝাপটে উড়ে যাওয়ার দৃশ্য—এই মৌলিক রূপান্তরগুলোর ধারাবাহিক সংযোজনের মাধ্যমেই বাস্তবায়িত হয়।
Object Transformation vs Coordinate Transformation (অবজেক্ট বনাম কোঅর্ডিনেট রূপান্তর)
কম্পিউটার গ্রাফিক্সের জগতে রূপান্তরকে দুটি দৃষ্টিভঙ্গি থেকে দেখা যায়: Object Transformation এবং Coordinate Transformation। স্ক্রিনে উভয়ের আউটপুট একই রকম মনে হলেও এদের কাজের ধরন ও ম্যাট্রিক্স দিক পরস্পর বিপরীত।
Active বনাম Passive রূপান্তরের তুলনামূলক বিশ্লেষণ
বৈশিষ্ট্য
অবজেক্ট রূপান্তর (Active Transformation)
কোঅর্ডিনেট রূপান্তর (Passive Transformation)
প্রকৃতপক্ষে কী পরিবর্তিত হয়?
স্থির স্থানাঙ্ক ব্যবস্থার মধ্যে অবজেক্টটির বিন্দুগুলোর ফিজিক্যাল পজিশন পরিবর্তিত হয়।
অবজেক্ট নিজের জায়গায় স্থির থাকে, কিন্তু পর্যবেক্ষক বা রেফারেন্স অক্ষ ব্যবস্থা নিজে স্থানান্তরিত হয়।
ব্যবহারের ক্ষেত্র
গেমের চরিত্র নড়াচড়া করা, স্প্রাইট স্কেলিং, বুলেট নিক্ষেপের অ্যানিমেশন।
Transformation of Points from P(x,y) to P′(x′,y′) (পয়েন্ট রূপান্তরের গাণিতিক ভিত্তি)
কম্পিউটার স্ক্রিনের যে কোনো আকৃতি মূলত কতগুলো শীর্ষবিন্দু (Vertices)-র সমন্বয়ে গঠিত। সুতরাং সম্পূর্ণ শেপ রূপান্তর করার অর্থ হলো তার প্রতিটি বিন্দু P(x,y)-কে নতুন বিন্দু P′(x′,y′)-এ রূপান্তর করা।
একটি পয়েন্টকে কলাম ভেক্টর (Column Vector) হিসেবে প্রকাশ করলে:
P=[xy],P′=[x′y′]
যে কোনো ২ডি রৈখিক রূপান্তরকে (Linear Transformation) সমীকরণ জোটের সাহায্যে লেখা যায়:
x′=a⋅x+b⋅y
y′=c⋅x+d⋅y
ম্যাট্রিক্স আকারে প্রকাশ করলে দাঁড়ায়:
[x′y′]=[acbd][xy]
যেখানে ম্যাট্রিক্সের মানগুলোর ওপর ভিত্তি করে রূপান্তরের ধরন নির্ধারিত হয়:
a=Sx,d=Sy,b=c=0⟹স্কেলিং (Scaling)
a=cosθ,b=−sinθ,c=sinθ,d=cosθ⟹ঘূর্ণন (Rotation)
তবে ট্রান্সলেশন বা স্থানান্তরের ক্ষেত্রে যোগ অপারেশন প্রয়োজন হয়, যা নিচে বিশদভাবে আলোচনা করা হলো।
Translation (স্থানান্তর / সরণ)
১. সরলরৈখিক গতি ও শিফট ভেক্টর (dx,dy)
ট্রান্সলেশন (Translation) হলো কোনো অবজেক্টকে সরলরেখা বরাবর এক স্থান থেকে অন্য স্থানে সরিয়ে নিয়ে যাওয়ার প্রক্রিয়া। এতে অবজেক্টের আকার বা আকৃতির কোনো পরিবর্তন ঘটে না, কেবল অবস্থান পরিবর্তিত হয়।
যদি আদি বিন্দু P(x,y)-কে শিফট ভেক্টর বা অফসেট ভেক্টর T=(dx,dy) (অথবা (tx,ty)) দ্বারা সরানো হয়, তবে নতুন বিন্দুর স্থানাঙ্ক হবে:
x′=x+dx
y′=y+dy
যেখানে:
dx (tx) হলো X-অক্ষ বরাবর সরণ (ডানে গেলে ধনাত্মক, বায়ে গেলে ঋণাত্মক)।
dy (ty) হলো Y-অক্ষ বরাবর সরণ (উপরে গেলে ধনাত্মক, নিচে গেলে ঋণাত্মক)।
২. ট্রান্সলেশনের ম্যাট্রিক্স রিপ্রেজেন্টেশন
স্ট্যান্ডার্ড ২ডি কার্তেসীয় স্থানাঙ্কে ট্রান্সলেশন মূলত ভেক্টর যোগফল হিসেবে কাজ করে:
[x′y′]=[xy]+[dxdy]
বা সংক্ষেপে:
P′=P+T
ভবিষ্যতের জন্য ভাবনা: হোমোজেনিয়াস কোঅর্ডিনেট কেন লাগবে?
খেয়াল করুন, ট্রান্সলেশন হলো একটি যোগফল (P′=P+T), কিন্তু স্কেলিং ও ঘূর্ণন হলো গুণফল (P′=M⋅P)। এই অমিলের কারণে শুধু 2×2 ম্যাট্রিক্স দিয়ে ট্রান্সলেশনকে অন্য রূপান্তরের সাথে একক ম্যাট্রিক্সে গুণ করা যায় না। এই সীমাবদ্ধতা দূর করতেই পরবর্তীতে আমরা Homogeneous Coordinates (3×3 ম্যাট্রিক্স) ব্যবহার করব!
Scaling (আকার পরিবর্তন / স্কেলিং)
১. স্কেলিংয়ের মূল ধারণা ও স্কেল ফ্যাক্টর (Sx,Sy)
স্কেলিং (Scaling) অপারেশন কোনো অবজেক্টের স্থানাঙ্ক মানগুলোকে নির্দিষ্ট গুণক দ্বারা গুণ করে তার সাইজ বড় বা ছোট করে।
মূলবিন্দু (0,0)-এর সাপেক্ষে কোনো বিন্দু P(x,y)-কে স্কেল করলে:
x′=x⋅Sx
y′=y⋅Sy
ম্যাট্রিক্স আকারে:
[x′y′]=[Sx00Sy][xy]
P′=S⋅P
যেখানে:
Sx হলো X-অক্ষ বরাবর স্কেলিং ফ্যাক্টর।
Sy হলো Y-অক্ষ বরাবর স্কেলিং ফ্যাক্টর।
২. Uniform বনাম Differential Scaling
Uniform বনাম Differential স্কেলিংয়ের তুলনা
বৈশিষ্ট্য
Uniform Scaling (সমান অনুপাত)
Differential Scaling (ভিন্ন অনুপাত)
শর্ত
Sx=Sy=S
Sx=Sy
জ্যামিতিক প্রভাব
সব দিকে সমানুপাতিক হারে বাড়ে বা কমে।
X এবং Y অক্ষ বরাবর অসমানভাবে বাড়ে বা কমে।
আকৃতির ওপর প্রভাব
অরিজিনাল আসপেক্ট রেশিও ঠিক থাকে (বৃত্ত বৃত্তই থাকে, বর্গ বর্গই থাকে)।
আকৃতি বিকৃত হয় (বৃত্ত উপবৃত্তে পরিণত হয়, বর্গ আয়তক্ষেত্রে পরিণত হয়)।
বাস্তব উদাহরণ
ফটো জুম-ইন/আউট করা, আইকন ছোট-বড় করা।
কার্টুন অ্যানিমেশনে বল বাউন্স করার সময় চ্যাপ্টা করা (Squash & Stretch)।
Effect of Scaling Factors (স্কেলিং ফ্যাক্টরের মানের প্রভাব)
Sx এবং Sy-এর বিভিন্ন মানের জন্য অবজেক্টের ওপর দৃশ্যমান প্রভাব:
সতর্কতা: মূলবিন্দুর সাপেক্ষে স্কেলিং অবজেক্টের স্থানও পরিবর্তন করে!
যখন আমরা সরাসরি x′=x⋅Sx ও y′=y⋅Sy করি, স্কেলিংটি ঘটে মূলবিন্দু (0,0)-এর সাপেক্ষে। অবজেক্টটি যদি (10,10) পজিশনে থাকে এবং আপনি 2 গুণ স্কেল করেন, তার কেন্দ্র সরে গিয়ে (20,20) হয়ে যাবে! নিজের স্থানে স্থির রেখে বড় করতে হলে অবজেক্টের নিজস্ব কেন্দ্র বা ফিক্সড পিভট পয়েন্টের ((xf,yf)) সাপেক্ষে স্কেল করতে হয়।
Interactive 2D Transformation Explorer (ইন্টারেক্টিভ ডেমো)
নিচের সিমুলেটরে স্লাইডার নাড়িয়ে ট্রান্সলেশন, ইউনিফর্ম ও ডিফারেনশিয়াল স্কেলিং এবং ঘূর্ণনের প্রভাব সরাসরি দেখুন। পাশাপাশি লাইভ ম্যাট্রিক্স সমীকরণ কীভাবে পরিবর্তন হচ্ছে তা লক্ষ্য করুন:
2D
Interactive 2D Geometric Transformation Explorer
Experiment with Translation, Scaling, Rotation, and Reflection
Original Object P(x,y)
Transformed Object P′(x′,y′)
Translation Vector (tx,ty)(+2, +1)
Shift tx:2
Shift ty:1
Scale Factors (Sx,Sy)Uniform (1.5×)
Scale Sx:1.5×
Scale Sy:1.5×
Rotation Angle θ0°
Composite Transformation (T \cdot R \cdot S)T · R · S
Worked Examples: 2D Translation, Scaling, and Rotation (হাতে-কলমে গাণিতিক উদাহরণ)
পরীক্ষায় আসার মতো কিছু গুরুত্বপূর্ণ স্টেপ-বাই-স্টেপ গাণিতিক সমস্যা সমাধান:
উদাহরণ ১: ত্রিভুজের ২ডি ট্রান্সলেশন
সমস্যা: একটি ত্রিভুজের শীর্ষবিন্দু তিনটি হলো A(2,1), B(5,1) এবং C(3,4)। ত্রিভুজটিকে শিফট ভেক্টর T=(dx=3,dy=4) দ্বারা স্থানান্তর করো।
সমাধান:
সূত্র: x′=x+dx এবং y′=y+dy
A(2,1) বিন্দুর জন্য:xA′=2+3=5,yA′=1+4=5⟹A′(5,5)
B(5,1) বিন্দুর জন্য:xB′=5+3=8,yB′=1+4=5⟹B′(8,5)
C(3,4) বিন্দুর জন্য:xC′=3+3=6,yC′=4+4=8⟹C′(6,8)
সুতরাং স্থানান্তরিত ত্রিভুজের শীর্ষবিন্দুগুলো হলো A′(5,5),B′(8,5),C′(6,8)।
উদাহরণ ২: আয়তক্ষেত্রের ডিফারেনশিয়াল স্কেলিং
সমস্যা: মূলবিন্দুর সাপেক্ষে একটি আয়তক্ষেত্রের চারটি শীর্ষবিন্দু A(1,1),B(4,1),C(4,3),D(1,3)। স্কেল ফ্যাক্টর Sx=2 এবং Sy=0.5 প্রয়োগ করে নতুন স্থানাঙ্ক নির্ণয় করো।
বাস্তব অ্যানিমেশনে বা গেমের জগতে কখনোই একটি মাত্র রূপান্তর প্রয়োগ করা হয় না। বরং একের পর এক একাধিক রূপান্তর ধাপে ধাপে প্রয়োগ করা হয়, যাকে Composite (বা Concatenated) Transformation বলা হয়।
রূপান্তরের ক্রম অত্যন্ত সংবেদনশীল (Non-Commutative)
সবচেয়ে গুরুত্বপূর্ণ নিয়ম: ম্যাট্রিক্স গুণ বিনিময়যোগ্য নয়!
ম্যাট্রিক্স বীজগণিতে:
M1⋅M2=M2⋅M1
আগে স্থানান্তর করে পরে ঘোরানো আর আগে ঘুরিয়ে পরে স্থানান্তর করার ফলাফল সম্পূর্ণ ভিন্ন!
আগে Translate, পরে Rotate: অবজেক্টটি মূলবিন্দু থেকে দূরে সরে যাবে এবং মূলবিন্দুকে কেন্দ্র করে একটি বিশাল বৃত্তাকার পথে ঘুরে যাবে।
আগে Rotate, পরে Translate: অবজেক্টটি নিজের জায়গায় স্থির থেকে শুধু দিক পরিবর্তন করবে, এরপর নতুন সোজা পথে কাঙ্ক্ষিত গন্তব্যে পৌঁছাবে।
কোড ইমপ্লিমেন্টেশন
আধুনিক ২ডি গ্রাফিক্স ও গেম ইঞ্জিনে ভেক্টর রূপান্তর যেভাবে কোড করা হয়:
typescript
University Exam Questions & Solutions (বিশ্ববিদ্যালয়ের সম্ভাব্য প্রশ্ন ও পূর্ণাঙ্গ সমাধান)
বিশ্ববিদ্যালয় সেমিস্টার পরীক্ষায় 2D Transformation (Translation, Scaling, Basic Transformations) থেকে আসা গুরুত্বপূর্ণ থিওরিটিক্যাল ও গাণিতিক সমস্যাগুলোর পূর্ণাঙ্গ সমাধান নিচে দেওয়া হলো।
১. থিওরিটিক্যাল প্রশ্ন ও উত্তর (Theoretical Questions & Answers)
প্রশ্ন: What is Transformation? Calculate the 2-D and 3-D Translation equations and convert in matrix form.
(ট্রান্সফরমেশন কী? ২-ডি এবং ৩-ডি ট্রান্সলেশন সমীকরণ গণনা করো এবং এদের ম্যাট্রিক্স আকারে রূপান্তর করো।)
অংশ ১: Transformation-এর সংজ্ঞা [১ নম্বর]
সংজ্ঞা:
কম্পিউটার গ্রাফিক্স এবং অ্যানিমেশনে ট্রান্সফরমেশন (Transformation) হলো এমন একটি গাণিতিক ম্যাপিং ফাংশন T, যা কোনো অবজেক্টের জ্যামিতিক বৈশিষ্ট্য—যেমন অবস্থান (Position), দিক (Orientation), আকার (Size), বা আকৃতি (Shape)—পরিবর্তন করে। ইউক্লিডিয়ান স্পেসের যে কোনো পয়েন্ট P-কে এটি নতুন পয়েন্ট P′-এ রূপান্তর করে:
T:P(x,y,z)⟶P′(x′,y′,z′)
এর মাধ্যমে গ্রাফিক্স ইঞ্জিনগুলো অবজেক্ট পুনরায় না এঁকেই ডাইনামিক চলন, ঘূর্ণন ও অ্যানিমেশন বাস্তবায়ন করে।
অংশ ২: ২-ডি ট্রান্সলেশন সমীকরণ ও ম্যাট্রিক্স রূপান্তর [২ নম্বর]
প্রতিপাদন:
একটি ২ডি পয়েন্ট P(x,y)-কে শিফট ভেক্টর T=(tx,ty) দ্বারা স্থানান্তরিত করলে এক্স-অক্ষ বরাবর tx এবং ওয়াই-অক্ষ বরাবর ty পরিমাণ সরণ ঘটে:
x′=x+txy′=y+ty
সাধারণ ভেক্টর যোগের ম্যাট্রিক্স রূপ:[x′y′]=[xy]+[txty]বাP′=P+T
হোমোজেনিয়াস কোঅর্ডিনেট ম্যাট্রিক্স রূপ (৩×৩):x′y′1=100010txty1xy1বাP′=T(tx,ty)⋅P
অংশ ৩: ৩-ডি ট্রান্সলেশন সমীকরণ ও ম্যাট্রিক্স রূপান্তর [২ নম্বর]
প্রতিপাদন:
একটি ৩ডি পয়েন্ট P(x,y,z)-কে শিফট ভেক্টর T=(tx,ty,tz) দ্বারা ত্রিমাত্রিক তলে স্থানান্তরিত করলে:
x′=x+txy′=y+tyz′=z+tz
সাধারণ ভেক্টর যোগের ম্যাট্রিক্স রূপ:x′y′z′=xyz+txtytzবাP′=P+T
হোমোজেনিয়াস কোঅর্ডিনেট ম্যাট্রিক্স রূপ (৪×৪):x′y′z′1=100001000010txtytz1xyz1বাP′=T(tx,ty,tz)⋅P
প্রশ্ন: Why homogeneous coordinates are used in transformation? Convert the derived matrix form of question no. 3(b) in homogeneous form.
(ট্রান্সফরমেশনে হোমোজেনিয়াস কোঅর্ডিনেট কেন ব্যবহার করা হয়? প্রশ্ন ৩(b)-এ প্রাপ্ত ম্যাট্রিক্স রূপকে হোমোজেনিয়াস আকারে রূপান্তর করো।)
হোমোজেনিয়াস কোঅর্ডিনেট ব্যবহারের কারণ [১.৫ নম্বর]
প্রধান কারণসমূহ:
১. অ্যাফাইন রূপান্তরের একীকরণ (Unification): স্কেলিং ও রোটেশন হলো ম্যাট্রিক্স গুণন (P′=M⋅P), কিন্তু ট্রান্সলেশন হলো ভেক্টর যোগ (P′=P+T)। অতিরিক্ত মাত্রা (w=1) যোগ করার মাধ্যমে ট্রান্সলেশনকেও সাধারণ ম্যাট্রিক্স গুণনে রূপান্তর করা যায়।
২. কম্পোজিট ম্যাট্রিক্স চেইনিং (Concatenation): একাধিক রূপান্তরকে গুণ করে একটিমাত্র সামগ্রিক ম্যাট্রিক্সে পরিণত করা যায় (Mnet=T⋅R⋅S), ফলে হাজার হাজার শীর্ষবিন্দুকে রূপান্তর করতে মাত্র একটি ম্যাট্রিক্স গুণন করতে হয়।
৩. GPU হার্ডওয়্যারের দক্ষতা: আধুনিক গ্রাফিক্স প্রসেসর (GPU) ম্যাট্রিক্স-ভেক্টর গুণনে অত্যন্ত দ্রুতগতিতে কাজ করে।
৪. প্রজেক্টিভ জ্যামিতি ও পারসপেক্টিভ: ৩ডি প্রজেকশন ও অসীম বিন্দুর হিসাব সহজতর করে।
৩(b)-এর ম্যাট্রিক্সকে হোমোজেনিয়াস রূপে রূপান্তর [১.৫ নম্বর]
১০ম ও ১১তম ব্যাচ (10th & 11th Batch) ফাইনাল পরীক্ষার প্রশ্ন ৪(a) [নম্বর: ১ + ২]
প্রশ্ন: What is rotation? Find the transformed point, P′, caused by rotating P=(4,2) about the origin through an angle of 90∘.
(ঘূর্ণন কী? মূলবিন্দুর সাপেক্ষে P = (4, 2) বিন্দুকে ৯০ ডিগ্রি কোণে ঘোরালে রূপান্তরিত বিন্দু P' নির্ণয় করো।)
অংশ ১: ঘূর্ণনের সংজ্ঞা [১ নম্বর]
সংজ্ঞা:ঘূর্ণন (Rotation) হলো একটি রিজিড-বডি জ্যামিতিক রূপান্তর, যার মাধ্যমে কোনো নির্দিষ্ট পিভট বিন্দু (বা কার্তেসীয় মূলবিন্দু (0,0))-এর সাপেক্ষে কোনো অবজেক্টের সকল বিন্দুকে বৃত্তাকার পথে নির্দিষ্ট কোণ θ-তে ঘোরানো হয়।
ঘড়ির কাঁটার বিপরীত দিকে (CCW) ঘূর্ণন ধনাত্মক (θ>0)।
ঘড়ির কাঁটার দিকে (CW) ঘূর্ণন ঋণাত্মক (θ<0)।
ঘূর্ণনে অবজেক্টের আকার ও পিভট বিন্দু থেকে দূরত্বের কোনো পরিবর্তন হয় না।
২. গাণিতিক সমস্যা ও পূর্ণাঙ্গ সমাধান (Mathematical Problems with Step-by-Step Solutions)
সমস্যা ১: ত্রিভুজের ২ডি ট্রান্সলেশন (সরণ)
প্রশ্ন: একটি ত্রিভুজের তিনটি শীর্ষবিন্দু হলো A(2,1), B(5,1), এবং C(3,4)। ত্রিভুজটিকে X-অক্ষ বরাবর 4 একক এবং Y-অক্ষ বরাবর −3 একক স্থানান্তরিত করো। নতুন শীর্ষবিন্দুগুলোর স্থানাঙ্ক নির্ণয় করো।
সমাধান:
প্রদত্ত ট্রান্সলেশন ভেক্টর:dx=4,dy=−3
ট্রান্সলেশন সমীকরণ:x′=x+dx,y′=y+dy
ধাপে ধাপে শীর্ষবিন্দু রূপান্তর:
বিন্দু A(2,1):xA′=2+4=6,yA′=1+(−3)=−2⟹A′(6,−2)
বিন্দু B(5,1):xB′=5+4=9,yB′=1+(−3)=−2⟹B′(9,−2)
বিন্দু C(3,4):xC′=3+4=7,yC′=4+(−3)=1⟹C′(7,1)
উত্তর: স্থানান্তরিত নতুন ত্রিভুজের শীর্ষবিন্দুগুলো হলো A′(6,−2),B′(9,−2),C′(7,1)।
সমস্যা ২: আয়তক্ষেত্রের স্কেলিং ও ক্ষেত্রফলের পরিবর্তন
প্রশ্ন: একটি আয়তক্ষেত্রের শীর্ষবিন্দু চারটি হলো A(1,1),B(4,1),C(4,3),D(1,3)।
(ক) Sx=2,Sy=2 দ্বারা স্কেল করো।
(খ) আদি ক্ষেত্রফল ও চূড়ান্ত ক্ষেত্রফলের অনুপাত কত?
সমাধান:
আদি আয়তক্ষেত্রের বাহুর দৈর্ঘ্য:দৈর্ঘ্য (Length)=xB−xA=4−1=3প্রস্থ (Width)=yD−yA=3−1=2আদিক্ষেত্রফল(Area1)=3×2=6বর্গএকক
ক্ষেত্রফলের পরিবর্তন সূত্র:Areanew=∣Sx⋅Sy∣⋅Areaold=(2×2)×6=24বর্গএককক্ষেত্রফলবৃদ্ধি=Area1Area2=624=4গুণ।
সমস্যা ৩: রূপান্তরের ক্রমের প্রভাব প্রমাণ (Non-Commutative Proof)
প্রশ্ন: একটি বিন্দু P(2,3)-এর ওপর দুটি রূপান্তর প্রয়োগ করতে হবে:
স্কেলিং S(Sx=2,Sy=3)
ট্রান্সলেশন T(dx=3,dy=1)
(ক) ক্রম ১: আগে Scaling, পরে Translation প্রয়োগ করো।
(খ) ক্রম ২: আগে Translation, পরে Scaling প্রয়োগ করো।
(গ) উভয় ফলাফল তুলনা করো।
সমাধান:
ক্রম ১ (Scale then Translate):
প্রথমে স্কেলিং: P1=(2×2,3×3)=(4,9)
এরপর ট্রান্সলেশন: P′=(4+3,9+1)=(7,10)
ক্রম ২ (Translate then Scale):
প্রথমে ট্রান্সলেশন: P2=(2+3,3+1)=(5,4)
এরপর স্কেলিং: P′′=(5×2,4×3)=(10,12)
ফলাফল:P′(7,10)=P′′(10,12)। সুতরাং প্রমাণিত হলো যে রূপান্তরের ক্রম পরিবর্তন করলে আউটপুট পরিবর্তিত হয়ে যায়।
৩. অনুশীলন সমস্যা ও পূর্ণাঙ্গ সমাধান (Practice Problems with Step-by-Step Solutions)
অনুশীলন ১: সরলরেখার স্থানান্তর
প্রশ্ন: একটি সরলরেখার প্রান্তবিন্দুদ্বয় P(1,2) এবং Q(6,7)। ভেক্টর T(−3,4) দ্বারা রেখাটিকে স্থানান্তরিত করলে নতুন প্রান্তবিন্দু কত হবে এবং রেখার দৈর্ঘ্য কি পরিবর্তিত হবে?
সমাধান:
নতুন বিন্দুদ্বয়:
P′(1−3,2+4)=P′(−2,6)Q′(6−3,7+4)=Q′(3,11)
আদি দৈর্ঘ্য: (6−1)2+(7−2)2=25+25=50=52
নতুন দৈর্ঘ্য: (3−(−2))2+(11−6)2=52+52=52
সিদ্ধান্ত: ট্রান্সলেশন একটি Rigid-Body রূপান্তর হওয়ায় অবজেক্টের দৈর্ঘ্য ও আকার অপরিবর্তিত থাকে।
অনুশীলন ২: ডিফারেনশিয়াল স্কেলিং
প্রশ্ন:A(0,0),B(3,0),C(0,4) বিন্দুত্রয় দ্বারা গঠিত সমকোণী ত্রিভুজের ওপর Sx=0.5,Sy=2 স্কেলিং প্রয়োগ করো।
সমাধান:
A′(0⋅0.5,0⋅2)=A′(0,0)
B′(3⋅0.5,0⋅2)=B′(1.5,0)
C′(0⋅0.5,4⋅2)=C′(0,8)
আদি ক্ষেত্রফল: 21×3×4=6 বর্গ একক।
নতুন ক্ষেত্রফল: 21×1.5×8=6 বর্গ একক (∣Sx⋅Sy∣=0.5×2=1, তাই মোট ক্ষেত্রফল স্থির রয়েছে কিন্তু আকৃতি সংকুচিত ও দীর্ঘায়িত হয়েছে)।
Test Your Understanding (নিজের দক্ষতা যাচাই করো)
Quick Check
Summary & What's Next (সারসংক্ষেপ ও পরবর্তী অধ্যায়)
Transformation-I থেকে যা শিখলাম
ট্রান্সফরমেশন: একটি গাণিতিক ফাংশন T:P(x,y)→P′(x′,y′) যার মাধ্যমে স্ক্রিনে বারবার না এঁকে কেবল ম্যাট্রিক্স হিসেবের মাধ্যমে অবজেক্টের স্থান, আকার ও দিক পরিবর্তন করা হয়।
Differential (Sx=Sy): আকৃতি বিকৃত ও চ্যাপ্টা/লম্বাটে হয়।
S>1: প্রসারণ; 0<S<1: সংকোচন; S<0: প্রতিফলন।
ধারাবাহিক রূপান্তর: রূপান্তরের ক্রম অত্যন্ত গুরুত্বপূর্ণ, কারণ ম্যাট্রিক্স গুণন বিনিময়যোগ্য নয় (M1⋅M2=M2⋅M1)।
পরবর্তী অধ্যায়: Transformation-II — হোমোজেনিয়াস কোঅর্ডিনেট ও যৌগিক ম্যাট্রিক্স
পরবর্তী অধ্যায়ে আমরা শিখব কীভাবে Homogeneous Coordinates (3×3 Affine Matrix) ব্যবহারের মাধ্যমে ট্রান্সলেশন, স্কেলিং ও রোটেশন—সবগুলোকে একটি একক কম্পোজিট ম্যাট্রিক্সে রূপান্তর করা যায়!