ওভারভিউ
এই ফাংশনগুলি আপনাকে 2x2, 3x3, এবং 4x4 র্যাঙ্কের বর্গ ম্যাট্রিক্সগুলি পরিচালনা করতে দেয়। এগুলি গ্রাফিকাল রূপান্তরের জন্য বিশেষভাবে উপযোগী এবং OpenGL এর সাথে সামঞ্জস্যপূর্ণ।
আমরা সারি এবং কলামের জন্য একটি শূন্য-ভিত্তিক সূচক ব্যবহার করি। যেমন একটি rs_matrix4x4 এর শেষ উপাদানটি (3, 3) পাওয়া যায়।
রেন্ডারস্ক্রিপ্ট কলাম-প্রধান ম্যাট্রিক্স এবং কলাম-ভিত্তিক ভেক্টর ব্যবহার করে। rsMatrixMultiply () দ্বারা প্রদত্ত ভেক্টরকে উত্তরোত্তর গুন করে, যেমন (matrix * vector)
ভেক্টরকে রূপান্তরিত করা হয়।
একটি রূপান্তর ম্যাট্রিক্স তৈরি করতে যা একবারে দুটি রূপান্তর সম্পাদন করে, দুটি উৎস ম্যাট্রিক্সকে গুণ করুন, প্রথম রূপান্তরটি সঠিক যুক্তি হিসাবে। যেমন একটি রূপান্তর ম্যাট্রিক্স তৈরি করতে যা রূপান্তর s1 এর পরে s2 প্রয়োগ করে, কল করুন rsMatrixLoadMultiply(&combined, &s2, &s1)
এটি s2 * (s1 * v)
থেকে এসেছে, যা (s2 * s1) * v
।
ট্রান্সফর্মেশন ম্যাট্রিক্স তৈরি করার জন্য আমাদের দুটি শৈলীর ফাংশন রয়েছে: rsMatrixLoad Transformation এবং rsMatrix Transformation । প্রাক্তন শৈলীটি কেবল প্রথম যুক্তিতে রূপান্তর ম্যাট্রিক্স সংরক্ষণ করে। পরবর্তীটি একটি পূর্ব-বিদ্যমান রূপান্তর ম্যাট্রিক্সকে সংশোধন করে যাতে নতুন রূপান্তরটি প্রথমে ঘটে। যেমন আপনি যদি এমন একটি ম্যাট্রিক্সে rsMatrixTranslate () কল করেন যা ইতিমধ্যেই একটি স্কেলিং করে, একটি ভেক্টরে প্রয়োগ করা হলে ফলস্বরূপ ম্যাট্রিক্সটি প্রথমে অনুবাদ করবে তারপর স্কেলিং।
সারসংক্ষেপ
ফাংশন | |
---|---|
rsExtractFrustumPlanes | ফ্রাস্টাম প্লেন গণনা করুন |
rsIsSphereInFrustum | একটি গোলক ফ্রাস্টাম প্লেনের মধ্যে আছে কিনা তা পরীক্ষা করে |
rsMatrixGet | একটি উপাদান পান |
rsMatrixInverse | জায়গায় একটি ম্যাট্রিক্স উল্টে দেয় |
rsMatrixInverseTranspose | একটি ম্যাট্রিক্সকে ইনভার্ট করে এবং স্থানান্তর করে |
rsMatrixLoad | একটি ম্যাট্রিক্স লোড বা অনুলিপি করুন |
rsMatrixLoadFrustum | একটি ফ্রাস্টাম প্রজেকশন ম্যাট্রিক্স লোড করুন |
rsMatrixLoadIdentity | পরিচয় ম্যাট্রিক্স লোড করুন |
rsMatrixLoadMultiply | দুটি ম্যাট্রিক্স গুণ করুন |
rsMatrixLoadOrtho | একটি অর্থোগ্রাফিক প্রজেকশন ম্যাট্রিক্স লোড করুন |
rsMatrixLoadPerspective | একটি দৃষ্টিকোণ অভিক্ষেপ ম্যাট্রিক্স লোড করুন |
rsMatrixLoadRotate | একটি ঘূর্ণন ম্যাট্রিক্স লোড করুন |
rsMatrixLoadScale | একটি স্কেলিং ম্যাট্রিক্স লোড করুন |
rsMatrixLoadTranslate | একটি অনুবাদ ম্যাট্রিক্স লোড করুন |
rsMatrix Multiply | একটি ভেক্টর বা অন্য ম্যাট্রিক্স দ্বারা একটি ম্যাট্রিক্সকে গুণ করুন |
rsMatrixRotate | একটি রূপান্তর ম্যাট্রিক্সে একটি ঘূর্ণন প্রয়োগ করুন |
rsMatrixScale | একটি রূপান্তর ম্যাট্রিক্সে একটি স্কেলিং প্রয়োগ করুন |
rsMatrixSet | একটি উপাদান সেট করুন |
rsMatrixTranslate | একটি রূপান্তর ম্যাট্রিক্সে একটি অনুবাদ প্রয়োগ করুন |
rsMatrixTranspose | একটি ম্যাট্রিক্স স্থান স্থানান্তর |
ফাংশন
rsExtractFrustumPlanes : ফ্রাস্টাম প্লেন গণনা করুন
void rsExtractFrustumPlanes(const rs_matrix4x4 * viewProj, float4 * left, float4 * righ, float4 * শীর্ষ, float4 * নীচে, float4 * কাছে, float4 * দূর); | API স্তর 24 এ যোগ করা হয়েছে |
void rsExtractFrustumPlanes(const rs_matrix4x4 * viewProj, float4 * বাম, float4 * ডান, float4 * শীর্ষ, float4 * নীচে, float4 * কাছে, float4 * দূর); | API স্তর 24 এবং উচ্চতর থেকে সরানো হয়েছে৷ |
পরামিতি
viewProj | ম্যাট্রিক্স থেকে প্লেন বের করতে হবে। |
---|---|
বাম | বাম সমতল। |
অধিকার | ডান সমতল। |
শীর্ষ | শীর্ষ সমতল। |
নীচে | নীচের সমতল। |
কাছাকাছি | সমতলের কাছে। |
দূরে | দূরের সমতল। |
ডান |
ভিউ প্রজেকশন ম্যাট্রিক্স থেকে 6টি ফ্রাস্টাম প্লেন গণনা করে
rsIsSphereInFrustum : একটি গোলক ফ্রাস্টাম প্লেনের মধ্যে আছে কিনা তা পরীক্ষা করে
bool rsIsSphereInFrustum( float4 * গোলক, float4 * বাম, float4 * ডান, float4 * শীর্ষ, float4 * নীচে, float4 * কাছে, float4 * দূর); |
পরামিতি
গোলক | float4 গোলকের প্রতিনিধিত্ব করে। |
---|---|
বাম | বাম সমতল। |
অধিকার | ডান সমতল। |
শীর্ষ | শীর্ষ সমতল। |
নীচে | নীচের সমতল। |
কাছাকাছি | সমতলের কাছে। |
দূরে | দূরের সমতল। |
গোলকটি 6টি ফ্রাস্টাম প্লেনের মধ্যে থাকলে সত্য ফেরত দেয়।
rsMatrixGet : একটি উপাদান পান
float rsMatrixGet(const rs_matrix2x2 * m, uint32_t col, uint32_t সারি); | |
float rsMatrixGet(const rs_matrix3x3 * m, uint32_t col, uint32_t সারি); | |
float rsMatrixGet(const rs_matrix4x4 * m, uint32_t col, uint32_t সারি); |
পরামিতি
মি | ম্যাট্রিক্স থেকে উপাদান বের করতে হবে। |
---|---|
কর্নেল | নিষ্কাশন করা উপাদানটির জিরো-ভিত্তিক কলাম। |
সারি | নিষ্কাশন করা উপাদানটির শূন্য-ভিত্তিক সারি। |
একটি ম্যাট্রিক্সের একটি উপাদান প্রদান করে।
সতর্কতা: কলাম এবং সারি প্যারামিটারের ক্রম অপ্রত্যাশিত হতে পারে।
rsMatrixInverse : একটি ম্যাট্রিক্সকে জায়গায় উল্টে দেয়
bool rsMatrixInverse( rs_matrix4x4 * m); |
পরামিতি
মি | উল্টাতে ম্যাট্রিক্স। |
---|
ম্যাট্রিক্স সফলভাবে উল্টানো হলে সত্য দেখায়।
rsMatrixInverseTranspose : একটি ম্যাট্রিক্সকে উল্টে এবং স্থানান্তর করে
bool rsMatrixInverseTranspose( rs_matrix4x4 * m); |
পরামিতি
মি | পরিবর্তন করার জন্য ম্যাট্রিক্স। |
---|
ম্যাট্রিক্স প্রথমে উল্টানো হয় তারপর স্থানান্তরিত হয়। ম্যাট্রিক্স সফলভাবে উল্টানো হলে সত্য দেখায়।
rsMatrixLoad : একটি ম্যাট্রিক্স লোড বা অনুলিপি করুন
void rsMatrixLoad( rs_matrix2x2 * গন্তব্য, const float* array); | |
void rsMatrixLoad( rs_matrix2x2 * গন্তব্য, const rs_matrix2x2 * উৎস); | |
void rsMatrixLoad( rs_matrix3x3 * গন্তব্য, const float* array); | |
void rsMatrixLoad( rs_matrix3x3 * গন্তব্য, const rs_matrix3x3 * উৎস); | |
void rsMatrixLoad( rs_matrix4x4 * গন্তব্য, const float* array); | |
void rsMatrixLoad( rs_matrix4x4 * গন্তব্য, const rs_matrix2x2 * উৎস); | |
void rsMatrixLoad( rs_matrix4x4 * গন্তব্য, const rs_matrix3x3 * উৎস); | |
void rsMatrixLoad( rs_matrix4x4 * গন্তব্য, const rs_matrix4x4 * উৎস); |
পরামিতি
গন্তব্য | সেট করতে ম্যাট্রিক্স। |
---|---|
অ্যারে | ম্যাট্রিক্স সেট করার জন্য মানের অ্যারে। ম্যাট্রিক্স আকারের উপর নির্ভর করে এই অ্যারেগুলি 4, 9, বা 16 ফ্লোট লম্বা হওয়া উচিত। |
উৎস | উৎস ম্যাট্রিক্স। |
ফ্লোট বা অন্য ম্যাট্রিক্স থেকে একটি ম্যাট্রিক্সের উপাদান সেট করুন।
একটি অ্যারে থেকে লোড করা হলে, ফ্লোটগুলি সারি-প্রধান ক্রমে হওয়া উচিত, অর্থাৎ উপাদানটি একটি row 0, column 0
প্রথমে হওয়া উচিত, তারপরে row 0, column 1
ইত্যাদিতে উপাদানটি অনুসরণ করা উচিত।
যদি একটি ম্যাট্রিক্স থেকে লোড করা হয় এবং উত্সটি গন্তব্যের চেয়ে ছোট হয়, তবে বাকি গন্তব্যটি পরিচয় ম্যাট্রিক্সের উপাদান দিয়ে পূর্ণ হয়। যেমন একটি rs_matrix2x2 একটি rs_matrix4x4 এ লোড করলে পাওয়া যাবে:
m00 | m01 | 0.0 | 0.0 |
m10 | m11 | 0.0 | 0.0 |
0.0 | 0.0 | 1.0 | 0.0 |
0.0 | 0.0 | 0.0 | 1.0 |
rsMatrixLoadFrustum : একটি ফ্রাস্টাম প্রজেকশন ম্যাট্রিক্স লোড করুন
void rsMatrixLoadFrustum( rs_matrix4x4 * m, বামে ভাসুন, ডানদিকে ভাসুন, নীচে ভাসুন, উপরে ভাসুন, কাছাকাছি ভাসুন, দূরে ভাসুন); |
পরামিতি
মি | সেট করতে ম্যাট্রিক্স। |
---|---|
বাম | |
অধিকার | |
নীচে | |
শীর্ষ | |
কাছাকাছি | |
দূরে |
left, right, bottom, top, near, far
ছয়টি ক্লিপিং প্লেন দ্বারা চিহ্নিত বাক্সটিকে রূপান্তর করে একটি ফ্রাস্টাম প্রজেকশন ম্যাট্রিক্স তৈরি করে।
একটি ভেক্টরে এই অভিক্ষেপ প্রয়োগ করতে, rsMatrixMultiply () ব্যবহার করে তৈরি ম্যাট্রিক্স দ্বারা ভেক্টরকে গুণ করুন।
rsMatrixLoadIdentity : লোড আইডেন্টিটি ম্যাট্রিক্স
void rsMatrixLoadIdentity( rs_matrix2x2 * m); | |
void rsMatrixLoadIdentity( rs_matrix3x3 * m); | |
void rsMatrixLoadIdentity( rs_matrix4x4 * m); |
পরামিতি
মি | সেট করতে ম্যাট্রিক্স। |
---|
একটি ম্যাট্রিক্সের উপাদানগুলিকে পরিচয় ম্যাট্রিক্সে সেট করুন।
rsMatrixLoadMultiply : দুটি ম্যাট্রিক্স গুণ করুন
void rsMatrixLoadMultiply( rs_matrix2x2 * m, const rs_matrix2x2 * lhs, const rs_matrix2x2 * rhs); | |
void rsMatrixLoadMultiply( rs_matrix3x3 * m, const rs_matrix3x3 * lhs, const rs_matrix3x3 * rhs); | |
void rsMatrixLoadMultiply( rs_matrix4x4 * m, const rs_matrix4x4 * lhs, const rs_matrix4x4 * rhs); |
পরামিতি
মি | সেট করতে ম্যাট্রিক্স। |
---|---|
lhs | পণ্যের বাম ম্যাট্রিক্স। |
rhs | পণ্যের ডান ম্যাট্রিক্স। |
m কে lhs * rhs
এর ম্যাট্রিক্স গুণফলের সাথে সেট করে।
দুটি 4x4 রূপান্তর ম্যাট্রিক্স একত্রিত করতে, প্রথম রূপান্তর ম্যাট্রিক্স দ্বারা দ্বিতীয় রূপান্তর ম্যাট্রিক্সকে গুণ করুন। যেমন একটি রূপান্তর ম্যাট্রিক্স তৈরি করতে যা রূপান্তর s1 এর পরে s2 প্রয়োগ করে, কল করুন rsMatrixLoadMultiply(&combined, &s2, &s1)
সতর্কতা: সংস্করণ 21-এর আগে, ফলাফলটিকে আবার ডান ম্যাট্রিক্সে সংরক্ষণ করা সমর্থিত নয় এবং এর ফলে অনির্ধারিত আচরণ হবে। পরিবর্তে rsMatrixMulitply ব্যবহার করুন। যেমন rsMatrixLoadMultiply (&m2r, &m2r, &m2l) করার পরিবর্তে, rsMatrixMultiply (&m2r, &m2l) ব্যবহার করুন। rsMatrixLoadMultiply (&m2l, &m2r, &m2l) প্রত্যাশা অনুযায়ী কাজ করে।
rsMatrixLoadOrtho : একটি অর্থোগ্রাফিক প্রজেকশন ম্যাট্রিক্স লোড করুন
void rsMatrixLoadOrtho( rs_matrix4x4 * m, বামে ভাসুন, ডানদিকে ভাসুন, নীচে ভাসুন, উপরে ভাসুন, কাছাকাছি ভাসুন, দূরে ভাসুন); |
পরামিতি
মি | সেট করতে ম্যাট্রিক্স। |
---|---|
বাম | |
অধিকার | |
নীচে | |
শীর্ষ | |
কাছাকাছি | |
দূরে |
একটি অর্থোগ্রাফিক প্রজেকশন ম্যাট্রিক্স তৈরি করে, ছয়টি ক্লিপিং প্লেন দ্বারা চিহ্নিত বাক্সটিকে left, right, bottom, top, near, far
একটি ইউনিট কিউবে রূপান্তরিত করে যার একটি কোণা (-1, -1, -1)
এবং বিপরীতে (1, 1, 1)
।
একটি ভেক্টরে এই অভিক্ষেপ প্রয়োগ করতে, rsMatrixMultiply () ব্যবহার করে তৈরি ম্যাট্রিক্স দ্বারা ভেক্টরকে গুণ করুন।
https://en.wikipedia.org/wiki/Orthographic_projection দেখুন।
rsMatrixLoadPerspective : একটি দৃষ্টিকোণ অভিক্ষেপ ম্যাট্রিক্স লোড করুন
void rsMatrixLoadPerspective( rs_matrix4x4 * m, float fovy, float aspect, float near, float far); |
পরামিতি
মি | সেট করতে ম্যাট্রিক্স। |
---|---|
fovy | দৃশ্যের ক্ষেত্র, Y অক্ষ বরাবর ডিগ্রীতে। |
দৃষ্টিভঙ্গি | x/y অনুপাত। |
কাছাকাছি | ক্লিপিং সমতল কাছাকাছি. |
দূরে | দূরে ক্লিপিং সমতল. |
একটি দৃষ্টিকোণ অভিক্ষেপ ম্যাট্রিক্স গঠন করে, একটি প্রতিসম ক্ষেত্র অব ভিউ ধরে নিয়ে।
একটি ভেক্টরে এই অভিক্ষেপ প্রয়োগ করতে, rsMatrixMultiply () ব্যবহার করে তৈরি ম্যাট্রিক্স দ্বারা ভেক্টরকে গুণ করুন।
rsMatrixLoadRotate : একটি ঘূর্ণন ম্যাট্রিক্স লোড করুন
void rsMatrixLoadRotate( rs_matrix4x4 * m, float rot, float x, float y, float z); |
পরামিতি
মি | সেট করতে ম্যাট্রিক্স। |
---|---|
পচা | কতটা ঘূর্ণন করতে হবে, ডিগ্রিতে। |
এক্স | ভেক্টরের X উপাদান যা ঘূর্ণনের অক্ষ। |
y | ভেক্টরের Y উপাদান যা ঘূর্ণনের অক্ষ। |
z | ভেক্টরের Z উপাদান যা ঘূর্ণনের অক্ষ। |
এই ফাংশনটি একটি ঘূর্ণন ম্যাট্রিক্স তৈরি করে। ঘূর্ণনের অক্ষ হল (x, y, z)
ভেক্টর।
একটি ভেক্টর ঘোরানোর জন্য, rsMatrixMultiply () ব্যবহার করে তৈরি ম্যাট্রিক্স দ্বারা ভেক্টরকে গুণ করুন।
https://en.wikipedia.org/wiki/Rotation_matrix দেখুন।
rsMatrixLoadScale : একটি স্কেলিং ম্যাট্রিক্স লোড করুন
void rsMatrixLoadScale( rs_matrix4x4 * m, float x, float y, float z); |
পরামিতি
মি | সেট করতে ম্যাট্রিক্স। |
---|---|
এক্স | x কম্পোনেন্ট স্কেল করার জন্য একাধিক। |
y | y উপাদানগুলিকে স্কেল করার জন্য একাধিক। |
z | z উপাদান স্কেল করার জন্য একাধিক। |
এই ফাংশনটি একটি স্কেলিং ম্যাট্রিক্স তৈরি করে, যেখানে একটি ভেক্টরের প্রতিটি উপাদানকে একটি সংখ্যা দ্বারা গুণ করা হয়। এই সংখ্যা নেতিবাচক হতে পারে.
একটি ভেক্টর স্কেল করতে, rsMatrixMultiply () ব্যবহার করে তৈরি ম্যাট্রিক্স দ্বারা ভেক্টরকে গুণ করুন।
rsMatrixLoadTranslate : একটি অনুবাদ ম্যাট্রিক্স লোড করুন
void rsMatrixLoadTranslate( rs_matrix4x4 * m, float x, float y, float z); |
পরামিতি
মি | সেট করতে ম্যাট্রিক্স। |
---|---|
এক্স | প্রতিটি x উপাদানে যোগ করার জন্য সংখ্যা। |
y | প্রতিটি y উপাদানে যোগ করার জন্য সংখ্যা। |
z | প্রতিটি z উপাদানে যোগ করার জন্য সংখ্যা। |
এই ফাংশনটি একটি অনুবাদ ম্যাট্রিক্স তৈরি করে, যেখানে একটি ভেক্টরের প্রতিটি উপাদানে একটি সংখ্যা যোগ করা হয়।
একটি ভেক্টর অনুবাদ করতে, rsMatrixMultiply () ব্যবহার করে তৈরি ম্যাট্রিক্স দ্বারা ভেক্টরকে গুণ করুন।
rsMatrixMultiply : একটি ভেক্টর বা অন্য ম্যাট্রিক্স দ্বারা একটি ম্যাট্রিক্সকে গুণ করুন
float2 rsMatrixMultiply(const rs_matrix2x2 * m, float2 in); | API স্তর 14 এ যোগ করা হয়েছে |
float2 rsMatrixMultiply( rs_matrix2x2 * m, float2 in); | API স্তর 14 এবং উচ্চতর থেকে সরানো হয়েছে৷ |
float3 rsMatrixMultiply(const rs_matrix3x3 * m, float2 in); | API স্তর 14 এ যোগ করা হয়েছে |
float3 rsMatrixMultiply(const rs_matrix3x3 * m, float3 in); | API স্তর 14 এ যোগ করা হয়েছে |
float3 rsMatrixMultiply( rs_matrix3x3 * m, float2 in); | API স্তর 14 এবং উচ্চতর থেকে সরানো হয়েছে৷ |
float3 rsMatrixMultiply( rs_matrix3x3 * m, float3 in); | API স্তর 14 এবং উচ্চতর থেকে সরানো হয়েছে৷ |
float4 rsMatrixMultiply(const rs_matrix4x4 * m, float2 in); | API স্তর 14 এ যোগ করা হয়েছে |
float4 rsMatrixMultiply(const rs_matrix4x4 * m, float3 in); | API স্তর 14 এ যোগ করা হয়েছে |
float4 rsMatrixMultiply(const rs_matrix4x4 * m, float4 in); | API স্তর 14 এ যোগ করা হয়েছে |
float4 rsMatrixMultiply( rs_matrix4x4 * m, float2 in); | API স্তর 14 এবং উচ্চতর থেকে সরানো হয়েছে৷ |
float4 rsMatrixMultiply( rs_matrix4x4 * m, float3 in); | API স্তর 14 এবং উচ্চতর থেকে সরানো হয়েছে৷ |
float4 rsMatrixMultiply( rs_matrix4x4 * m, float4 in); | API স্তর 14 এবং উচ্চতর থেকে সরানো হয়েছে৷ |
void rsMatrixMultiply( rs_matrix2x2 * m, const rs_matrix2x2 * rhs); | |
void rsMatrixMultiply( rs_matrix3x3 * m, const rs_matrix3x3 * rhs); | |
void rsMatrixMultiply( rs_matrix4x4 * m, const rs_matrix4x4 * rhs); |
পরামিতি
মি | পণ্যের বাম ম্যাট্রিক্স এবং ম্যাট্রিক্স সেট করতে হবে। |
---|---|
rhs | পণ্যের ডান ম্যাট্রিক্স। |
ভিতরে |
ম্যাট্রিক্স বৈকল্পিক দ্বারা ম্যাট্রিক্সের জন্য, ম্যাট্রিক্স গুণফল m * rhs
এ m সেট করে।
এই ফাংশনটি ব্যবহার করে দুটি 4x4 ট্রান্সফরমেশন ম্যাট্রিক্সকে একত্রিত করার সময়, ফলস্বরূপ ম্যাট্রিক্সটি প্রথমে rhs ট্রান্সফরমেশন এবং আসল m ট্রান্সফরমেশনের সাথে সঙ্গতিপূর্ণ হবে।
ভেক্টর ভেরিয়েন্ট দ্বারা ম্যাট্রিক্সের জন্য, ম্যাট্রিক্স দ্বারা ভেক্টরের উত্তর-গুণ প্রদান করে, যেমন। m * in
।
একটি float3 কে rs_matrix4x4 এ গুণ করার সময়, ভেক্টরটি (1) দিয়ে প্রসারিত হয়।
একটি float2 কে rs_matrix4x4 এ গুণ করার সময়, ভেক্টরটি (0, 1) দিয়ে প্রসারিত হয়।
একটি float2 কে rs_matrix3x3 এ গুণ করার সময়, ভেক্টরটি (0) দিয়ে প্রসারিত হয়।
API 14 দিয়ে শুরু করে, এই ফাংশনটি প্রথম আর্গুমেন্ট হিসাবে একটি কনস্ট ম্যাট্রিক্স নেয়।
rsMatrixRotate : একটি রূপান্তর ম্যাট্রিক্সে একটি ঘূর্ণন প্রয়োগ করুন
void rsMatrixRotate( rs_matrix4x4 * m, float rot, float x, float y, float z); |
পরামিতি
মি | পরিবর্তন করার জন্য ম্যাট্রিক্স। |
---|---|
পচা | কতটা ঘূর্ণন করতে হবে, ডিগ্রিতে। |
এক্স | ভেক্টরের X উপাদান যা ঘূর্ণনের অক্ষ। |
y | ভেক্টরের Y উপাদান যা ঘূর্ণনের অক্ষ। |
z | ভেক্টরের Z উপাদান যা ঘূর্ণনের অক্ষ। |
একটি ঘূর্ণন ম্যাট্রিক্স দিয়ে ম্যাট্রিক্স m গুণ করুন।
এই ফাংশনটি প্রথমে একটি ঘূর্ণন করতে একটি রূপান্তর ম্যাট্রিক্স পরিবর্তন করে। ঘূর্ণনের অক্ষ হল (x, y, z)
ভেক্টর।
একটি ভেক্টরে এই সম্মিলিত রূপান্তর প্রয়োগ করতে, rsMatrixMultiply () ব্যবহার করে তৈরি ম্যাট্রিক্স দ্বারা ভেক্টরকে গুণ করুন।
rsMatrixScale : একটি রূপান্তর ম্যাট্রিক্সে একটি স্কেলিং প্রয়োগ করুন
void rsMatrixScale( rs_matrix4x4 * m, float x, float y, float z); |
পরামিতি
মি | পরিবর্তন করার জন্য ম্যাট্রিক্স। |
---|---|
এক্স | x কম্পোনেন্ট স্কেল করার জন্য একাধিক। |
y | y উপাদানগুলিকে স্কেল করার জন্য একাধিক। |
z | z উপাদান স্কেল করার জন্য একাধিক। |
একটি স্কেলিং ম্যাট্রিক্স দিয়ে ম্যাট্রিক্স m গুণ করুন।
এই ফাংশনটি প্রথমে একটি স্কেলিং করতে একটি রূপান্তর ম্যাট্রিক্স পরিবর্তন করে। স্কেলিং করার সময়, একটি ভেক্টরের প্রতিটি উপাদান একটি সংখ্যা দ্বারা গুণ করা হয়। এই সংখ্যা নেতিবাচক হতে পারে.
একটি ভেক্টরে এই সম্মিলিত রূপান্তর প্রয়োগ করতে, rsMatrixMultiply () ব্যবহার করে তৈরি ম্যাট্রিক্স দ্বারা ভেক্টরকে গুণ করুন।
rsMatrixSet : একটি উপাদান সেট করুন
void rsMatrixSet( rs_matrix2x2 * m, uint32_t col, uint32_t সারি, float v); | |
void rsMatrixSet( rs_matrix3x3 * m, uint32_t col, uint32_t সারি, float v); | |
void rsMatrixSet( rs_matrix4x4 * m, uint32_t col, uint32_t সারি, float v); |
পরামিতি
মি | ম্যাট্রিক্স যা সংশোধন করা হবে। |
---|---|
কর্নেল | এলিমেন্টের জিরো-ভিত্তিক কলাম সেট করতে হবে। |
সারি | এলিমেন্টের শূন্য-ভিত্তিক সারি সেট করতে হবে। |
v | মান সেট করা. |
একটি ম্যাট্রিক্সের একটি উপাদান সেট করুন।
সতর্কতা: কলাম এবং সারি প্যারামিটারের ক্রম অপ্রত্যাশিত হতে পারে।
rsMatrixTranslate : একটি রূপান্তর ম্যাট্রিক্সে একটি অনুবাদ প্রয়োগ করুন
void rsMatrixTranslate( rs_matrix4x4 * m, float x, float y, float z); |
পরামিতি
মি | পরিবর্তন করার জন্য ম্যাট্রিক্স। |
---|---|
এক্স | প্রতিটি x উপাদানে যোগ করার জন্য সংখ্যা। |
y | প্রতিটি y উপাদানে যোগ করার জন্য সংখ্যা। |
z | প্রতিটি z উপাদানে যোগ করার জন্য সংখ্যা। |
একটি অনুবাদ ম্যাট্রিক্স দিয়ে ম্যাট্রিক্স m গুণ করুন।
এই ফাংশনটি প্রথমে একটি অনুবাদ করতে একটি রূপান্তর ম্যাট্রিক্স পরিবর্তন করে। অনুবাদ করার সময়, একটি ভেক্টরের প্রতিটি উপাদানে একটি সংখ্যা যোগ করা হয়।
একটি ভেক্টরে এই সম্মিলিত রূপান্তর প্রয়োগ করতে, rsMatrixMultiply () ব্যবহার করে তৈরি ম্যাট্রিক্স দ্বারা ভেক্টরকে গুণ করুন।
#MatrixTranspose : একটি ম্যাট্রিক্স স্থান স্থানান্তর করুন
void rsMatrixTranspose( rs_matrix2x2 * m); | |
void rsMatrixTranspose( rs_matrix3x3 *m); | |
void rsMatrixTranspose( rs_matrix4x4 * m); |
পরামিতি
মি | স্থানান্তর করার জন্য ম্যাট্রিক্স। |
---|
ম্যাট্রিক্স m জায়গায় স্থানান্তর করুন।