কম্পিউটার গ্রাফিক্সে 2D ট্রান্সলেশন (2D Translation) হলো একটি মৌলিক জ্যামিতিক রূপান্তর (Geometric Transformation), যার মাধ্যমে দ্বিমাত্রিক ইউক্লিডীয় সমতলে অবস্থিত কোনো বস্তু বা বিন্দুর প্রতিটি অবস্থানকে একটি নির্দিষ্ট দিক ও দূরত্বে স্থানান্তরিত করা হয়।
স্কেলিং (Scaling) বা শিয়ারিং (Shearing)-এর মতো রূপান্তরগুলো যেখানে বস্তুর আকৃতি বা আকার পরিবর্তন করে ফেলে, সেখানে ট্রান্সলেশন হলো একটি দৃঢ়-বস্তু রূপান্তর (Rigid-body Transformation) বা আইসোমেট্রি (Isometry)। এটি কোনো বস্তুর আকার, অভ্যন্তরীণ কোণ বা অরিয়েন্টেশন (দিকবিন্যাস) পরিবর্তন না করেই শুধুমাত্র তার অবস্থান পরিবর্তন করে:
বস্তুর প্রতিটি শীর্ষবিন্দু (Vertex) সমান্তরাল সরলরেখা বরাবর একই দূরত্বে সরে যায়।
প্রতিটি বিন্দুতে সমপরিমাণ স্থানচ্যুতি ভেক্টর T=⟨tx,ty⟩ যুক্ত হয়।
বিন্দুগুলোর মধ্যবর্তী ইউক্লিডীয় দূরত্ব, ক্ষেত্রফল, পরিধি এবং সরলরেখার ঢাল পুরোপুরি অপরিবর্তিত থাকে।
P(x,y)T(tx,ty)P′(x′,y′)
এখানে:
(x,y) হলো বিন্দুর মূল বা প্রাথমিক স্থানাঙ্ক।
tx হলো x-অক্ষ বরাবর সরণ (Horizontal Translation Factor)।
ty হলো y-অক্ষ বরাবর সরণ (Vertical Translation Factor)।
(x′,y′) হলো স্থানান্তরের পর নতুন রূপান্তরিত স্থানাঙ্ক।
গাণিতিক সমীকরণ (Mathematical Formulation)
১. বীজগাণিতিক সমীকরণ
যেকোনো বিন্দু P(x,y)-এর ক্ষেত্রে ট্রান্সলেশন ভেক্টর T=[txty] প্রয়োগ করলে নতুন স্থানাঙ্ক পাওয়া যায়:
x′=x+tx
y′=y+ty
যদি tx>0 হয়, বস্তুটি ধনাত্মক x-অক্ষ বরাবর ডানদিকে সরে যায়।
যদি tx<0 হয়, বস্তুটি ঋণাত্মক x-অক্ষ বরাবর বামদিকে সরে যায়।
যদি ty>0 হয়, বস্তুটি ধনাত্মক y-অক্ষ বরাবর উপরের দিকে সরে যায় (কার্তেসীয় সমতল অনুযায়ী)।
যদি ty<0 হয়, বস্তুটি ঋণাত্মক y-অক্ষ বরাবর নিচের দিকে সরে যায়।
Note
স্ক্রিন স্থানাঙ্ক বনাম কার্তেসীয় স্থানাঙ্ক: কম্পিউটার স্ক্রিনে (যেমন ওয়েব ক্যানভাস, উইন্ডো কোঅর্ডিনেট) উল্লম্ব y-অক্ষ উপর থেকে নিচের দিকে বাড়ে। ফলে স্ক্রিন স্পেসে ty>0 হলে অবজেক্ট নিচে নামে, আর স্ট্যান্ডার্ড কার্তেসীয় ও ওপেনজিএল (OpenGL) গণিতে ty>0 হলে উপরে উঠে।
২. ভেক্টর যোগফল উপস্থাপন
ভেক্টর আকারে একটি বিন্দুর অবস্থান ও ট্রান্সলেশন অফসেটকে কলাম ভেক্টর হিসেবে প্রকাশ করা হয়:
P′=P+T⟺[x′y′]=[xy]+[txty]
ট্রান্সলেশনের অ-রৈখিক চরিত্র ও হোমোজেনিয়াস স্থানাঙ্কের প্রয়োজনীয়তা
বিশ্ববিদ্যালয় ও প্রাতিষ্ঠানিক পরীক্ষায় একটি অত্যন্ত জনপ্রিয় প্রশ্ন হলো: কেন 2D ট্রান্সলেশনকে একটি বিশুদ্ধ 2×2 ম্যাট্রিক্স গুণন আকারে প্রকাশ করা যায় না?
দ্বিমাত্রিক ইউক্লিডীয় স্থানে একটি লিনিয়ার ট্রান্সফরমেশন (রৈখিক রূপান্তর)-এর মূল শর্ত হলো:
T(αu+βv)=αT(u)+βT(v)
এবং এটি অবশ্যই মূলবিন্দুকে (origin) অপরিবর্তিত রাখবে:
T(0)=0
কিন্তু মূলবিন্দু (0,0)-তে ট্রান্সলেশন চালালে দেখা যায়:
x′=0+tx=tx
y′=0+ty=ty
যদি tx=ty=0 না হয়, তবে মূলবিন্দু নিজেই (tx,ty)-তে স্থানান্তরিত হয়ে যায়! ফলে 2D কার্তেসীয় স্থানে ট্রান্সলেশন কোনো লিনিয়ার রূপান্তর নয়, বরং এটি একটি অ্যাফাইন রূপান্তর (Affine Transformation)।
আমরা যদি একটি সাধারণ 2×2 ম্যাট্রিক্স বিবেচনা করি:
[x′y′]=[acbd][xy]=[ax+bycx+dy]
a,b,c,d-এর এমন কোনো ধ্রুবক মান পাওয়া সম্ভব নয় যা x ও y-এর মানের উপর নির্ভর না করে সরাসরি ধ্রুবক পদ tx এবং ty যোগ করতে পারে। যোগের এই ধ্রুবক পদটির কারণেই 2×2 ম্যাট্রিক্স দিয়ে ট্রান্সলেশনকে শুধুমাত্র ম্যাট্রিক্স গুণন আকারে লেখা সম্ভব হয় না।
এই সমস্যার সমাধান এবং ট্রান্সলেশন, রোটেশন ও স্কেলিংকে একক গুণন পাইপলাইনে পরিচালনার জন্য কম্পিউটার গ্রাফিক্সে হোমোজেনিয়াস কোঅর্ডিনেটস (Homogeneous Coordinates) ব্যবহার করা হয়।
হোমোজেনিয়াস স্থানাঙ্কে ম্যাট্রিক্স উপস্থাপন
হোমোজেনিয়াস স্থানাঙ্কে দ্বিমাত্রিক বিন্দু (x,y)-কে ত্রিমাত্রিক প্রজেক্টিভ স্থানে (x,y,1) বা সাধারণভাবে (W⋅x,W⋅y,W) আকারে উপস্থাপন করা হয়, যেখানে W=0 (অ্যাফাইন রূপান্তরের ক্ষেত্রে সাধারণত W=1 ধরা হয়)।
১. কলাম-ভেক্টর কনভেনশন (Column-Vector Convention)
যখন বিন্দুগুলোকে কলাম ভেক্টর হিসেবে বিবেচনা করা হয়, তখন ট্রান্সফরমেশন ম্যাট্রিক্সটি বিন্দুর বাম পাশ থেকে গুণ হয়:
x′y′1=100010txty1xy1
ম্যাট্রিক্স গুণন বিস্তার করলে:
1⋅x+0⋅y+tx⋅10⋅x+1⋅y+ty⋅10⋅x+0⋅y+1⋅1=x+txy+ty1
এখানে 3×3 ট্রান্সলেশন ম্যাট্রিক্সটিকে T(tx,ty) দ্বারা প্রকাশ করা হয়:
T(tx,ty)=100010txty1
২. রো-ভেক্টর কনভেনশন (Row-Vector Convention)
ডাইরেক্টএক্স (DirectX) বা কিছু বিশেষ সিস্টেমে বিন্দুগুলোকে রো ভেক্টর [xy1] আকারে লেখা হয়। সেক্ষেত্রে ম্যাট্রিক্সটি ডানপাশে বসে এবং মূল ম্যাট্রিক্সের ট্রান্সপোজ রূপ ধারণ করে:
ধারাবাহিক (যৌগিক) ট্রান্সলেশন ও বিনিময় বিধি (Commutativity)
একটি বস্তুকে যদি পরপর দুটি ট্রান্সলেশনের মধ্য দিয়ে চালনা করা হয়—প্রথমে T1(t1x,t1y) এবং পরবর্তীতে T2(t2x,t2y)—তবে নিট বা সম্মিলিত ট্রান্সলেশনটি ম্যাট্রিক্স গুণনের মাধ্যমে পাওয়া যায়:
সাধারণভাবে ম্যাট্রিক্স গুণন বিনিময় বিধি মেনে চলে না (যেমন: ট্রান্সলেশনের পর রোটেশন = রোটেশনের পর ট্রান্সলেশন)। কিন্তু বিশুদ্ধ ট্রান্সলেশন সর্বদা বিনিময় বিধি (Commutative Law) মেনে চলে:
T1⋅T2=T2⋅T1=T(t1x+t2x,t1y+t2y)
যেহেতু স্কেলার বাস্তব সংখ্যার যোগফল বিনিময়শীল (t1x+t2x=t2x+t1x এবং t1y+t2y=t2y+t1y), তাই প্রথমে T1 প্রয়োগ করে পরে T2 করা, কিংবা প্রথমে T2 করে পরে T1 করার ফলাফল সম্পূর্ণ অভিন্ন।
ইনভেরিয়েন্ট (Invariant) হলো জ্যামিতিক বস্তুর এমন কিছু বৈশিষ্ট্য যা কোনো রূপান্তর প্রয়োগের পরেও হুবহু অপরিবর্তিত থাকে। ট্রান্সলেশন নিচের গুরুত্বপূর্ণ ধর্মগুলো অক্ষুণ্ণ রাখে:
১. দূরত্ব সংরক্ষণ (আইসোমেট্রি)
যেকোনো দুটি বিন্দু P₁ ও P₂-এর মধ্যবর্তী ইউক্লিডীয় দূরত্ব রূপান্তরের পরেও সমান থাকে: |P₁'P₂'| = |P₁P₂|।
২. কোণ সংরক্ষণ (কনফরমাল)
যেকোনো দুটি ছেদকারী সরলরেখার মধ্যবর্তী কোণ স্থানান্তরের পরেও অপরিবর্তিত থাকে।
৩. সমরেখতা ও সরলরেখা ধর্ম
একই সরলরেখায় অবস্থিত বিন্দুগুলো স্থানান্তরের পরেও সমরেখ থাকে। সরলরেখা সরলরেখাতেই রূপান্তরিত হয়।
৪. সমান্তরালতা
যদি দুটি রেখা L₁ ও L₂ সমান্তরাল হয়, তবে স্থানান্তরের পরেও তাদের রূপ L₁' ও L₂' সমান ঢাল m বজায় রেখে সমান্তরাল থাকে।
৫. ক্ষেত্রফল ও পরিধি
যেহেতু det(T) = 1, তাই যেকোনো আবদ্ধ বহুভুজ বা বক্ররেখার ক্ষেত্রফল অপরিবর্তিত থাকে: Area(P') = Area(P)।
৬. হ্যান্ডেডনেস ও দিকবিন্যাস
ট্রান্সলেশনে কোনো রিফ্লেকশন বা উল্টানো ঘটে না। ঘড়ির কাঁটার বিপরীত ঘূর্ণন সর্বদা তেমনই থাকে।
ইন্টারঅ্যাক্টিভ 2D রূপান্তর এক্সপ্লোরার
নিচের ইন্টারঅ্যাক্টিভ সিমুলেটরে ট্রান্সলেশন অফসেট (tx,ty) পরিবর্তন করে দেখুন কীভাবে কার্তেসীয় সমতলে বস্তুর জ্যামিতিক ধর্ম ও ক্ষেত্রফল অটুট রেখে প্রতিটি বিন্দু নিখুঁতভাবে স্থানান্তরিত হয়।
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
বিভিন্ন অ্যাঙ্গেল বা দৃষ্টিকোণ থেকে গাণিতিক সমস্যা ও সমাধান
বিশ্ববিদ্যালয় ও সেমিস্টার ফাইনাল পরীক্ষার জন্য ট্রান্সলেশনকে নানা রকম বাস্তব ও তাত্ত্বিক অ্যাঙ্গেল থেকে অনুধাবন করা জরুরি। নিচে ১০টি ভিন্ন ভিন্ন অ্যাঙ্গেলের সমন্বয়ে বিস্তারিত সমাধান উপস্থাপন করা হলো।
অ্যাঙ্গেল ১: সরাসরি ফরোয়ার্ড বিন্দু স্থানান্তর ও স্থানচ্যুতি ভেক্টরের কোণ নির্ণয়
সমস্যা ১
একটি বিন্দু P(4,−3)-কে ভেক্টর T=⟨−6,8⟩ দ্বারা স্থানান্তরিত করা হলো। নির্ণয় করো:
(ক) নতুন রূপান্তরিত বিন্দুর স্থানাঙ্ক P′(x′,y′)।
(খ) বিন্দুটি মোট কত ইউক্লিডীয় দূরত্ব d অতিক্রম করেছে।
(গ) ধনাত্মক x-অক্ষের সাথে স্থানচ্যুতি ভেক্টরের কোণ ϕ কত?
(খ) অতিক্রান্ত দূরত্ব d নির্ণয়:d=tx2+ty2=(−6)2+(8)2=36+64=100=10একক
(গ) দিক কোণ ϕ নির্ণয়:ϕ=atan2(ty,tx)=atan2(8,−6)
যেহেতু tx<0 এবং ty>0, ভেক্টরটি দ্বিতীয় চতুর্ভাগে (Second Quadrant) অবস্থিত:
ϕ=180∘−arctan(68)=180∘−53.13∘=126.87∘
অ্যাঙ্গেল ২: নির্দিষ্ট কোণ θ বরাবর দূরত্ব d স্থানান্তর (পোলার ট্রান্সলেশন)
রোবোটিক্স, গেম ইঞ্জিন ও এনিমেশনে প্রায়ই কোনো বস্তুকে সরাসরি কার্তেসীয় ভেক্টর না দিয়ে একটি নির্দিষ্ট কোণ θ বরাবর d দূরত্বে স্থানান্তর করার নির্দেশ দেওয়া হয়।
সমস্যা ২
একটি বিন্দু P(2,5)-কে অনুভূমিক x-অক্ষের সাথে θ=30∘ কোণে d=10একক দূরত্বে স্থানান্তরিত করা হলো। নতুন স্থানাঙ্ক P′ বের করো।
ধাপভিত্তিক সমাধান:
১. স্থানচ্যুতি ভেক্টরকে কার্তেসীয় উপাংশে (tx,ty) বিভক্ত করা:
tx=d⋅cosθ=10⋅cos(30∘)=10⋅23=53≈8.6603
ty=d⋅sinθ=10⋅sin(30∘)=10⋅21=5
২. ট্রান্সলেশন ভেক্টর গঠন:T=[535]≈[8.66035]
৩. বিন্দুর স্থানাঙ্ক হিসাব:
x′=x+tx=2+53≈2+8.6603=10.6603
y′=y+ty=5+5=10
নির্ণেয় স্থানাঙ্ক:P′=(2+53,10)≈(10.66,10.00)
অ্যাঙ্গেল ৩: বিপরীত রূপান্তর ও অজানা ট্রান্সলেশন ভেক্টর বের করা
সমস্যা ৩
একটি বস্তুর শীর্ষবিন্দুকে T=⟨−7,4⟩ দ্বারা স্থানান্তরের পর তার নতুন অবস্থান পাওয়া গেল P′(3,1)।
(ক) ইনভার্স ট্রান্সলেশন ম্যাট্রিক্স ব্যবহার করে আদি বিন্দু P(x,y) বের করো।
(খ) অন্য একটি বিন্দু Q(1,1) যদি স্থানান্তরিত হয়ে Q′(9,−5)-এ পৌঁছায়, তবে অজ্ঞাত ট্রান্সলেশন ভেক্টর TQ কত ছিল?
অ্যাঙ্গেল ৪: সরলরেখাংশের স্থানান্তর ও দৈর্ঘ্য-ঢালের অপরিবর্তনশীলতার প্রমাণ
সমস্যা ৪
একটি সরলরেখাংশের প্রান্তবিন্দুদ্বয় A(1,2) এবং B(5,5)। রেখাংশটিকে T=⟨3,−1⟩ দ্বারা স্থানান্তরিত করা হলো।
(ক) নতুন প্রান্তবিন্দু A′ ও B′ নির্ণয় করো।
(খ) গাণিতিকভাবে প্রমাণ করো যে রেখাংশের দৈর্ঘ্য অপরিবর্তিত থাকে: ∣A′B′∣=∣AB∣।
(গ) প্রমাণ করো যে রেখাটির ঢাল অপরিবর্তিত থাকে: mA′B′=mAB।
অ্যাঙ্গেল ৫: শীর্ষবিন্দু ম্যাট্রিক্সের সাহায্যে বহুভুজ স্থানান্তর ও ক্ষেত্রফল সংরক্ষণ
গ্রাফিক্স হার্ডওয়্যারে বহুভুজের সবগুলো শীর্ষবিন্দুকে একক ম্যাট্রিক্স গুণনের মাধ্যমে রূপান্তর করা হয়।
সমস্যা ৫
একটি ত্রিভুজের শীর্ষবিন্দুগুলো হলো A(0,0), B(6,0) এবং C(2,4)।
(ক) ত্রিভুজটিকে হোমোজেনিয়াস কোঅর্ডিনেটসে একটি 3×3 শীর্ষবিন্দু ম্যাট্রিক্স আকারে সাজাও।
(খ) T=⟨4,3⟩ ভেক্টর প্রয়োগে একক ম্যাট্রিক্স গুণনের মাধ্যমে স্থানান্তরিত শীর্ষবিন্দুগুলো নির্ণয় করো।
(গ) প্রমাণ করো যে ত্রিভুজটির ক্ষেত্রফল অক্ষুণ্ণ থাকে।
ধাপভিত্তিক সমাধান:
(ক) শীর্ষবিন্দু ম্যাট্রিক্স (Vertex Matrix):
প্রতিটি কলামে একটি করে শীর্ষবিন্দু [xi,yi,1]T সাজিয়ে:
[P]=xAyA1xByB1xCyC1=001601241
অ্যাঙ্গেল ৬: বক্ররেখা ও বৃত্তের সমীকরণ স্থানান্তর (Geometric vs Algebraic)
সমস্যা ৬
একটি বৃত্তের কার্তেসীয় সমীকরণ হলো:
(x−3)2+(y+1)2=16
বৃত্তটিকে T=⟨−4,5⟩ ভেক্টর দ্বারা স্থানান্তরিত করা হলো। নতুন বৃত্তের সমীকরণ বের করো:
(ক) জ্যামিতিক কেন্দ্র স্থানান্তর পদ্ধতিতে।
(খ) বীজগণিতীয় চলক প্রতিস্থাপন পদ্ধতিতে।
ধাপভিত্তিক সমাধান:
(ক) পদ্ধতি ১: জ্যামিতিক কেন্দ্র স্থানান্তর
আদর্শ সমীকরণ (x−h)2+(y−k)2=r2-এর সাথে তুলনা করে পাই:
বৃত্তের আদি কেন্দ্র C=(h,k)=(3,−1)
ব্যাসার্ধ r=16=4
যেহেতু ট্রান্সলেশনে কোনো বিকৃতি ঘটে না, ব্যাসার্ধ হুবহু অপরিবর্তিত থাকবে: r′=r=4।
নতুন কেন্দ্র C′ পাওয়া যাবে কেন্দ্রের স্থানাঙ্ককে স্থানান্তর করে:
h′=h+tx=3+(−4)=−1
k′=k+ty=−1+5=4
অর্থাৎ নতুন কেন্দ্র C′=(−1,4)।
নতুন কেন্দ্র ও ব্যাসার্ধ বসিয়ে বৃত্তের সমীকরণ:
(x−(−1))2+(y−4)2=42⟹(x+1)2+(y−4)2=16
(খ) পদ্ধতি ২: বীজগণিতীয় চলক প্রতিস্থাপন
নতুন স্থানাঙ্কের মাধ্যমে আদি স্থানাঙ্ক প্রকাশ করলে:
x′=x+tx⟹x=x′−tx=x′−(−4)=x′+4y′=y+ty⟹y=y′−ty=y′−5
আদি সমীকরণে x ও y-এর মান বসিয়ে:
((x′+4)−3)2+((y′−5)+1)2=16
(x′+1)2+(y′−4)2=16
প্রাইম চিহ্ন উঠিয়ে কার্তেসীয় রূপ লিখলে:
(x+1)2+(y−4)2=16
উভয় পদ্ধতিতে প্রাপ্ত সমীকরণ সম্পূর্ণ অভিন্ন!
অ্যাঙ্গেল ৭: সরলরেখার সাধারণ সমীকরণের স্থানান্তর (Ax+By+C=0)
সমস্যা ৭
একটি সরলরেখার সমীকরণ হলো 2x−3y+6=0। রেখাটিকে T=⟨3,−2⟩ দ্বারা স্থানান্তর করা হলে নতুন রেখার সমীকরণ কী হবে এবং আদি রেখার সাথে এর সম্পর্কের তুলনা করো।
২. সমীকরণে মান বসানো:2(x′−3)−3(y′+2)+6=02x′−6−3y′−6+6=02x′−3y′−6=0
সাধারণ রূপে লিখলে:
2x−3y−6=0
৩. ঢালের তুলনা:
আদি রেখা: 3y=2x+6⟹y=32x+2⟹m=32
স্থানান্তরিত রেখা: 3y=2x−6⟹y=32x−2⟹m′=32
m′=m=32
উভয় রেখার ঢাল অভিন্ন হওয়ায় প্রমাণিত হলো যে একটি সরলরেখাকে ট্রান্সলেট করলে উৎপন্ন নতুন রেখাটি আদি রেখার সমান্তরাল থাকে।
অ্যাঙ্গেল ৮: অ্যানিমেশন লুপে একাধিক ধারাবাহিক ট্রান্সলেশন
সমস্যা ৮
একটি অ্যানিমেশনে P(2,4) অবস্থানে থাকা একটি অবজেক্ট পরপর ৩টি ফ্রেম বরাবর স্থানান্তরিত হলো:
১. T1=⟨5,−3⟩
২. T2=⟨−2,7⟩
৩. T3=⟨1,−2⟩ (ক) যৌগিক ট্রান্সলেশন ম্যাট্রিক্স Tcomposite=T3⋅T2⋅T1 তৈরি করো।
(খ) একক ম্যাট্রিক্স মূল্যায়নে অবজেক্টটির চূড়ান্ত অবস্থান বের করো।
(গ) এই ধাপগুলোর ক্রম পরিবর্তন করলে কি চূড়ান্ত অবস্থানের কোনো তারতম্য হবে?
ধাপভিত্তিক সমাধান:
(ক) যৌগিক ম্যাট্রিক্স গঠন:
বিশুদ্ধ ট্রান্সলেশনের ক্ষেত্রে সরণগুলোর উপাংশ সরাসরি বীজগণিতীয়ভাবে যোগ হয়:
tnet,x=t1x+t2x+t3x=5+(−2)+1=4
tnet,y=t1y+t2y+t3y=−3+7+(−2)=2
সম্মিলিত ম্যাট্রিক্স:
Tcomposite=100010421
(খ) চূড়ান্ত অবস্থান নির্ণয়:x′y′1=100010421241=2+44+21=661Pfinal=(6,6)
(গ) ক্রম পরিবর্তনের প্রভাব:
যেহেতু ভেক্টরের স্কেলার যোগফল বিনিময় ও সংযোগ বিধি মেনে চলে (T1⋅T2=T2⋅T1), তাই ধাপগুলোর ক্রম আগে বা পরে হলেও চূড়ান্ত নিট ভেক্টর সর্বদা ⟨4,2⟩-ই থাকবে। অর্থাৎ অবস্থানের কোনো পরিবর্তন হবে না।
অ্যাঙ্গেল ৯: পিভট-পয়েন্ট প্রাক-স্থানান্তর (অরবিট ও আরবিট্রারি পয়েন্ট ট্রান্সফরমেশন)
কম্পিউটার গ্রাফিক্সে যেকোনো আরবিট্রারি পয়েন্ট বা নির্দিষ্ট পিভট বিন্দু (xr,yr)-কে কেন্দ্র করে রোটেশন বা স্কেলিং করার জন্য ট্রান্সলেশন একটি অপরিহার্য প্রাথমিক ও চূড়ান্ত পদক্ষেপ।
সমস্যা ৯
একটি বস্তুকে মূলবিন্দুর পরিবর্তে একটি নির্দিষ্ট আরবিট্রারি পিভট বিন্দু Pr(xr,yr)-এর সাপেক্ষে θ কোণে ঘোরাতে ট্রান্সলেশন কীভাবে ব্যবহৃত হয়? এর পূর্ণাঙ্গ ম্যাট্রিক্স সিকোয়েন্সটি লেখো।
ধাপভিত্তিক সমাধান:
তিনটি ধাপে এই রূপান্তর সম্পন্ন হয়:
১. প্রাক-স্থানান্তর (T−r): পিভট বিন্দু (xr,yr)-কে মূলবিন্দু (0,0)-তে সরিয়ে নেওয়া হয়:
T(−xr,−yr)=100010−xr−yr1
২. মূল রূপান্তর (Rθ): মূলবিন্দুর সাপেক্ষে প্রয়োজনীয় রোটেশন ম্যাট্রিক্স প্রয়োগ করা হয়:
R(θ)=cosθsinθ0−sinθcosθ0001
৩. পরবর্তী স্থানান্তর (Tr): পিভট বিন্দুকে পুনরায় তার আদি অবস্থান (xr,yr)-তে ফেরত পাঠানো হয়:
T(xr,yr)=100010xryr1
সম্মিলিত যৌগিক ম্যাট্রিক্স:
Mcomposite=T(xr,yr)⋅R(θ)⋅T(−xr,−yr)
Common Mistake
ম্যাট্রিক্স ক্রম লক্ষ্য রাখুন: কলাম ভেক্টর (P′=M⋅P) পদ্ধতিতে ম্যাট্রিক্স গুণন ডান থেকে বাম দিকে হিসাব করতে হয়: প্রথমে T(−xr,−yr), এরপর R(θ) এবং সর্বশেষে T(xr,yr)।
অ্যাঙ্গেল ১০: বিশ্ববিদ্যালয় ফাইনাল পরীক্ষার নমুনা প্রশ্ন ও সমাধান
সমস্যা ১০ (বিশ্ববিদ্যালয় পরীক্ষার আদলে)
(ক) হোমোজেনিয়াস স্থানাঙ্কে 2D ট্রান্সলেশন ম্যাট্রিক্স প্রতিপাদন করো এবং দেখাও যে দুটি ধারাবাহিক ট্রান্সলেশন যোগফলমূলক ও বিনিময়যোগ্য।
(খ) একটি আয়তক্ষেত্রের চারটি শীর্ষবিন্দু A(1,1), B(5,1), C(5,4) এবং D(1,4)। আয়তক্ষেত্রটিকে ঋণাত্মক x-অক্ষ বরাবর 3একক এবং ধনাত্মক y-অক্ষ বরাবর 4একক স্থানান্তরিত করা হলে নতুন শীর্ষবিন্দুগুলো বের করো এবং প্রমাণ করো যে এর পরিসীমা অপরিবর্তিত থাকে।
ধাপভিত্তিক সমাধান:
(ক) গাণিতিক প্রতিপাদন:
ধরি, P(x,y) বিন্দুটি T=⟨tx,ty⟩ দ্বারা স্থানান্তরিত হয়ে P′(x′,y′) হয়:
x′=x+tx,y′=y+ty
হোমোজেনিয়াস কোঅর্ডিনেটসে ত্রিমাত্রিক ভেক্টর হিসেবে প্রকাশ করলে:
x′y′1=100010txty1xy1
দুটি ধারাবাহিক ট্রান্সলেশন T1=T(t1x,t1y) এবং T2=T(t2x,t2y) হলে:
T2⋅T1=100010t2xt2y1100010t1xt1y1=100010t1x+t2xt1y+t2y1T1⋅T2=100010t1xt1y1100010t2xt2y1=100010t2x+t1xt2y+t1y1
যেহেতু বাস্তব সংখ্যার স্কেলার যোগ বিনিময়শীল (t1x+t2x=t2x+t1x), তাই T2⋅T1=T1⋅T2=T(t1x+t2x,t1y+t2y)। (প্রমাণিত)
নতুন শীর্ষবিন্দুসমূহ:
A′(−2,5),B′(2,5),C′(2,8),D′(−2,8)
পরিসীমা যাচাই:
আদি আয়তক্ষেত্র: প্রস্থ =∣AB∣=5−1=4, উচ্চতা =∣BC∣=4−1=3।
পরিসীমাআদি=2(4+3)=14একক
স্থানান্তরিত আয়তক্ষেত্র: প্রস্থ =∣A′B′∣=2−(−2)=4, উচ্চতা =∣B′C′∣=8−5=3।
পরিসীমাস্থানান্তরিত=2(4+3)=14এককপরিসীমাআদি=পরিসীমাস্থানান্তরিত=14(অপরিবর্তনশীল)
তুলনা সারণী: অন্যান্য রূপান্তরের সাথে ট্রান্সলেশনের পার্থক্য
বৈশিষ্ট্য
ট্রান্সলেশন (Translation)
রোটেশন (Rotation)
স্কেলিং (Scaling)
শিয়ারিং (Shearing)
প্রকৃতি
দৃঢ় বস্তু রূপান্তর (আইসোমেট্রি)
দৃঢ় বস্তু রূপান্তর (আইসোমেট্রি)
অ-দৃঢ় রূপান্তর (সাদৃশ্য / অ্যাফাইন)
অ-দৃঢ় রূপান্তর (অ্যাফাইন)
দূরত্ব অক্ষুণ্ণ রাখে?
হ্যাঁ
হ্যাঁ
না (দৈর্ঘ্য অনুপাত বাড়ে/কমে)
না
কোণ অক্ষুণ্ণ রাখে?
হ্যাঁ
হ্যাঁ
হ্যাঁ (ইউনিফর্ম স্কেলিং হলে)
না
মূলবিন্দু অপরিবর্তিত থাকে?
না (T(0) = (tx, ty))
হ্যাঁ
হ্যাঁ
হ্যাঁ
ম্যাট্রিক্স নির্ণায়ক (Determinant)
det(T) = 1
det(R) = 1
det(S) = Sx · Sy
det(Sh) = 1
পরস্পর বিনিময়যোগ্যতা
T₁ · T₂ = T₂ · T₁
R₁ · R₂ = R₂ · R₁ (2D ক্ষেত্রে)
S₁ · S₂ = S₂ · S₁
সাধারণত বিনিময়যোগ্য নয়
2D রূপান্তরের জন্য হোমোজেনিয়াস আবশ্যক?
হ্যাঁ (অ্যাফাইন অফসেটের কারণে)
না (2×2 রূপান্তর দিয়েই সম্ভব)
না (2×2 রূপান্তর দিয়েই সম্ভব)
না (2×2 রূপান্তর দিয়েই সম্ভব)
নিজের জ্ঞান যাচাই করো (Quiz)
Quick Check
সারসংক্ষেপ ও প্রধান শিক্ষণীয় বিষয়
মূল ধারণা: 2D ট্রান্সলেশন হলো একটি স্থানচ্যুতি ভেক্টর T=⟨tx,ty⟩ দ্বারা বস্তুর অবস্থানের পরিবর্তন। এটি একটি আইসোমেট্রি, যা দৈর্ঘ্য, কোণ, ঢাল, সমান্তরালতা এবং ক্ষেত্রফল হুবহু সংরক্ষণ করে।
হোমোজেনিয়াস স্থানাঙ্ক: যেহেতু ট্রান্সলেশন একটি অ্যাফাইন রূপান্তর, তাই 3×3 হোমোজেনিয়াস ম্যাট্রিক্স ব্যবহার করে এটিকে রোটেশন ও স্কেলিংয়ের সাথে একই গুণন পাইপলাইনে আনা হয়:
x′y′1=100010txty1xy1
বিপরীত ট্রান্সলেশন: স্থানচ্যুতিকে বিপরীত করতে কেবল চিহ্ন উল্টে দিলেই হয়: T−1(tx,ty)=T(−tx,−ty)।
বিনিময়যোগ্যতা: বিশুদ্ধ ট্রান্সলেশনগুলো একে অপরের সাথে বিনিময় বিধি মেনে চলে (T1⋅T2=T2⋅T1)।
পোলার ট্রান্সলেশন: কোণ θ ও দূরত্ব d দেওয়া থাকলে কার্তেসীয় উপাংশে রূপান্তর সূত্র: tx=dcosθ এবং ty=dsinθ।
পিভট-পয়েন্ট সমন্বয়: যেকোনো আরবিট্রারি বিন্দুর সাপেক্ষে রোটেশন বা স্কেলিং সম্পন্ন করার ক্ষেত্রে পিভট বিন্দুকে মূলবিন্দুতে স্থানান্তর (T−r) এবং পরবর্তীতে পুনরায় ফিরিয়ে আনা (Tr) হলো মূল ভিত্তি।