একটি আকৃতিতে একটি 4x4 ম্যাট্রিক্স, বা প্রথম থেকে শেষ পর্যন্ত প্রয়োগ করা ম্যাট্রিক্সের একটি তালিকা, প্রয়োগ করে।
ম্যাট্রিক্সটি কলাম-মেজর, তাই সরানোটি 12 থেকে 14 সূচকে বসে। টানা বা শিয়ার করা
ম্যাট্রিক্স অনুমোদিত; ...ToMatrix মেথডগুলি দিয়ে ম্যাট্রিক্স তৈরি করুন এবং সেগুলিকে
multiplyTransforms দিয়ে মেলান। কার্নেল প্রয়োগ করতে পারে না এমন ম্যাট্রিক্স একটি ত্রুটি থ্রো করে।
আকৃতি এবং ম্যাট্রিক্স বা ম্যাট্রিক্সের তালিকা
রূপান্তরিত আকৃতি
const move = await bitbybit.occt.transforms.translationToMatrix({ translation: [10, 0, 0] });
const turn = await bitbybit.occt.transforms.rotationAxisAngleToMatrix({ axis: [0, 1, 0], angle: 90, center: [0, 0, 0] });
const placed = await bitbybit.occt.transforms.transformByMatrix({ shape: box, transformation: [turn, move] });
কয়েকটি আকৃতিতে একই 4x4 ম্যাট্রিক্স, বা প্রথম থেকে শেষ পর্যন্ত প্রয়োগ করা ম্যাট্রিক্সের তালিকা, প্রয়োগ করে, যেভাবে
transformByMatrix একটির জন্য করে।
আকৃতিগুলি এবং ম্যাট্রিক্স বা ম্যাট্রিক্সের তালিকা
রূপান্তরিত আকৃতিগুলি, একই ক্রমে
একটি আকৃতি যে স্থাপন বহন করে তা পড়ে, তার জ্যামিতিতে বেক করা নয় বরং এর উপর সংরক্ষিত ট্রান্সফর্মটি, একটি ম্যাট্রিক্স হিসেবে সাথে তার সরানো, ঘূর্ণন কোয়াটার্নিয়ন ও সমান স্কেলসহ।
align দিয়ে বা একটি অ্যাসেম্বলির মাধ্যমে বসানো একটি আকৃতি এমন স্থাপন বহন করে; এখানকার বেশিরভাগ অন্য
মেথড সরানোটি জ্যামিতিতে বেক করে, এবং এমন একটি আকৃতি আইডেন্টিটি জানায়।
যে আকৃতিটি পড়তে হবে
ম্যাট্রিক্স, সরণ, [x, y, z, w] হিসেবে কোয়াটারনিয়ন এবং স্কেল
আইডেন্টিটি ম্যাট্রিক্স তৈরি করে, যে ট্রান্সফর্ম কিছুই বদলায় না, অন্যগুলি রচনা করার জন্য একটি শুরুর বিন্দু হিসেবে।
আইডেন্টিটি ম্যাট্রিক্স, কলাম-মেজর
একটি সরানো, X, Y ও Z এর চারপাশে ডিগ্রিতে তিনটি ঘূর্ণন কোণ, এবং একটি সমান স্কেল থেকে একটি ম্যাট্রিক্স তৈরি করে।
স্কেল প্রথমে প্রয়োগ হয়, তারপর ঘূর্ণনগুলি (প্রথমে Z, তারপর Y, তারপর X), তারপর সরানো, যা অ্যাসেম্বলি স্থাপনগুলি যে ক্রম ব্যবহার করে। বাদ দেওয়া যেকোনো অংশ কোনো পরিবর্তন নয় হিসেবে ধরা হয়।
সরণ, ডিগ্রিতে তিনটি ঘূর্ণন কোণ এবং স্কেল গুণক
সম্মিলিত ম্যাট্রিক্স, কলাম-মেজর
ম্যাট্রিক্সের একটি তালিকাকে একটিতে ভাঁজ করে, প্রথম থেকে শেষ পর্যন্ত প্রয়োগ করা, যাতে সরানোর একটি শৃঙ্খল একটি একক ম্যাট্রিক্স হয়।
একটি একক ম্যাট্রিক্স অপরিবর্তিত ফেরত দেওয়া হয় এবং একটি খালি তালিকা আইডেন্টিটি দেয়।
ম্যাট্রিক্স বা ম্যাট্রিক্সের তালিকা
সম্মিলিত ম্যাট্রিক্স, কলাম-মেজর
একটি ম্যাট্রিক্স উল্টায়, যে ট্রান্সফর্ম এটিকে বাতিল করে তা দেয়: একটি ম্যাট্রিক্স ও তারপর তার বিপরীত প্রয়োগ করলে একটি আকৃতি যেখানে ছিল সেখানে ফিরে যায়।
যে ম্যাট্রিক্সটি বিপরীত করতে হবে
বিপরীত ম্যাট্রিক্স, কলাম-মেজর
একটি ভেক্টর দিয়ে সরানোর ম্যাট্রিক্স তৈরি করে, মডেল এককে।
সরণ ভেক্টর
সরণ ম্যাট্রিক্স, কলাম-মেজর
একটি অক্ষের চারপাশে ডিগ্রিতে একটি কোণ দিয়ে ঘূর্ণনের ম্যাট্রিক্স তৈরি করে, মূলবিন্দু দিয়ে বা একটি ঐচ্ছিক কেন্দ্র বিন্দু দিয়ে।
ঘূর্ণনটি axis এর চারপাশে ডান-হাতি নিয়ম মেনে চলে।
অক্ষের দিক, ডিগ্রিতে কোণ এবং ঐচ্ছিকভাবে যে বিন্দুর মধ্য দিয়ে অক্ষটি যায়
ঘূর্ণন ম্যাট্রিক্স, কলাম-মেজর
মূলবিন্দু বা একটি ঐচ্ছিক কেন্দ্র বিন্দুর সাপেক্ষে একটি ফ্যাক্টর দিয়ে সমান স্কেলের ম্যাট্রিক্স তৈরি করে।
গুণক এবং ঐচ্ছিকভাবে যে বিন্দু ঘিরে স্কেল করতে হবে
স্কেল ম্যাট্রিক্স, কলাম-মেজর
একটি বিন্দুর মধ্য দিয়ে মিররের ম্যাট্রিক্স তৈরি করে, mirrorAboutPoint যে ট্রান্সফর্ম প্রয়োগ করে।
যে বিন্দুর মধ্য দিয়ে মিরর করতে হবে
মিরর ম্যাট্রিক্স, কলাম-মেজর
একটি রেখার আড়াআড়ি মিররের ম্যাট্রিক্স তৈরি করে, mirror যে ট্রান্সফর্ম প্রয়োগ করে: origin দিয়ে
direction বরাবর অক্ষ।
অক্ষের উপর একটি বিন্দু এবং অক্ষের দিক
মিরর ম্যাট্রিক্স, কলাম-মেজর
একটি প্লেনের আড়াআড়ি মিররের ম্যাট্রিক্স তৈরি করে, mirrorAlongNormal যে ট্রান্সফর্ম প্রয়োগ করে:
দেওয়া নর্মালসহ origin দিয়ে যাওয়া প্লেন।
প্লেনের উপর একটি বিন্দু এবং প্লেনের নর্মাল
মিরর ম্যাট্রিক্স, কলাম-মেজর
[x, y, z, w] হিসেবে দেওয়া একটি কোয়াটার্নিয়নের ঘূর্ণন ম্যাট্রিক্স তৈরি করে।
কোয়াটার্নিয়নটি প্রথমে স্বাভাবিকীকরণ করা হয়, তাই তার দৈর্ঘ্য গুরুত্বপূর্ণ নয়।
কোয়াটারনিয়ন
ঘূর্ণন ম্যাট্রিক্স, কলাম-মেজর
কয়েকটি আকৃতিতে transform প্রয়োগ করে, প্রতিটি তার নিজস্ব সরানো, ঘূর্ণন অক্ষ, কোণ
ও স্কেল ফ্যাক্টর দিয়ে।
সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।
আকৃতিগুলি এবং প্রতি আকৃতিতে একটি করে সরণ, ঘূর্ণন অক্ষ, ডিগ্রিতে কোণ ও স্কেল গুণক
রূপান্তরিত আকৃতিগুলি, একই ক্রমে
কয়েকটি আকৃতিতে rotate প্রয়োগ করে, প্রতিটি মূলবিন্দু দিয়ে যাওয়া তার নিজস্ব অক্ষের চারপাশে এবং ডিগ্রিতে তার নিজস্ব
কোণ দিয়ে।
সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।
আকৃতিগুলি এবং প্রতি আকৃতিতে একটি অক্ষ ও কোণ
ঘোরানো আকৃতিগুলি, একই ক্রমে
কয়েকটি আকৃতিতে rotateAroundCenter প্রয়োগ করে, প্রতিটি ডিগ্রিতে তার নিজস্ব কোণ, কেন্দ্র
ও অক্ষ দিয়ে।
সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।
আকৃতিগুলি এবং প্রতি আকৃতিতে একটি কোণ, কেন্দ্র ও অক্ষ
ঘোরানো আকৃতিগুলি, একই ক্রমে
কয়েকটি আকৃতিতে align প্রয়োগ করে, প্রতিটি তার নিজস্ব from ও to ফ্রেম দিয়ে।
সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।
আকৃতিগুলি এবং প্রতি আকৃতিতে একটি করে উৎস মূলবিন্দু, উৎস দিক, লক্ষ্য মূলবিন্দু ও লক্ষ্য দিক
অ্যালাইন করা আকৃতিগুলি, একই ক্রমে
কয়েকটি আকৃতিতে alignAndTranslate প্রয়োগ করে, প্রতিটি তার নিজস্ব দিক ও কেন্দ্র দিয়ে।
সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।
আকৃতিগুলি এবং প্রতি আকৃতিতে একটি দিক ও কেন্দ্র
স্থাপিত আকৃতিগুলি, একই ক্রমে
কয়েকটি আকৃতিতে translate প্রয়োগ করে, প্রতিটি তার নিজস্ব ভেক্টর দিয়ে।
দুটি তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।
আকৃতিগুলি এবং প্রতি আকৃতিতে একটি সরণ ভেক্টর
সরানো আকৃতিগুলি, একই ক্রমে
কয়েকটি আকৃতিতে scale প্রয়োগ করে, প্রতিটি মূলবিন্দুর সাপেক্ষে সমানভাবে তার নিজস্ব ফ্যাক্টর দিয়ে।
দুটি তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।
আকৃতিগুলি এবং প্রতি আকৃতিতে একটি গুণক
স্কেল করা আকৃতিগুলি, একই ক্রমে
কয়েকটি আকৃতিতে scale3d প্রয়োগ করে, প্রতিটি তার নিজস্ব তিনটি ফ্যাক্টর ও কেন্দ্র দিয়ে।
সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।
আকৃতিগুলি এবং প্রতি আকৃতিতে একটি স্কেল ভেক্টর ও কেন্দ্র
স্কেল করা আকৃতিগুলি, একই ক্রমে
কয়েকটি আকৃতিতে mirror প্রয়োগ করে, প্রতিটি তার নিজস্ব অক্ষের আড়াআড়ি।
সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।
আকৃতিগুলি এবং প্রতি আকৃতিতে একটি অক্ষের মূলবিন্দু ও দিক
মিরর করা আকৃতিগুলি, একই ক্রমে
কয়েকটি আকৃতিতে mirrorAlongNormal প্রয়োগ করে, প্রতিটি তার নিজস্ব প্লেনের আড়াআড়ি।
সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।
আকৃতিগুলি এবং প্রতি আকৃতিতে একটি প্লেনের মূলবিন্দু ও নর্মাল
মিরর করা আকৃতিগুলি, একই ক্রমে
একটি আকৃতিকে একবারে স্কেল, ঘোরানো ও সরানো করে: প্রথমে মূলবিন্দুর সাপেক্ষে স্কেল, তারপর মূলবিন্দু দিয়ে যাওয়া একটি অক্ষের চারপাশে ঘূর্ণন, তারপর সরানো।
যেহেতু স্কেল ও ঘূর্ণন মূলবিন্দুর সাপেক্ষে ঘটে, সেখানে না থাকা একটি আকৃতিও এর চারপাশে
দোলে; এটিকে প্রথমে সরান, অথবা একটি বাছাই করা কেন্দ্রের জন্য rotateAroundCenter ও scale3d
ব্যবহার করুন।
আকৃতি, সরণ, ঘূর্ণন অক্ষ ও ডিগ্রিতে কোণ, এবং স্কেল গুণক
রূপান্তরিত আকৃতি
একটি আকৃতিকে মূলবিন্দু দিয়ে যাওয়া একটি অক্ষের চারপাশে ঘোরায়, ডিগ্রিতে একটি কোণ দিয়ে।
ঘূর্ণনটি ডান-হাতি নিয়ম মেনে চলে: বুড়ো আঙুল axis বরাবর রাখলে আঙুলগুলি ধনাত্মক দিক
দেখায়। মূলবিন্দু থেকে দূরের একটি আকৃতি এর চারপাশে দোলে; rotateAroundCenter বদলে একটি
বাছাই করা বিন্দুর চারপাশে ঘোরায়।
আকৃতি, অক্ষের দিক ও ডিগ্রিতে কোণ
ঘোরানো আকৃতি
একটি আকৃতিকে একটি বাছাই করা বিন্দু দিয়ে যাওয়া একটি অক্ষের চারপাশে ঘোরায়, ডিগ্রিতে একটি কোণ দিয়ে।
আকৃতিটিকে সরানো হয় যাতে বিন্দুটি মূলবিন্দুতে বসে, সেখানে axis এর চারপাশে ডান-হাতি নিয়মে
ঘোরানো হয়, এবং ফিরিয়ে আনা হয়।
আকৃতি, ডিগ্রিতে কোণ, যে বিন্দুর মধ্য দিয়ে অক্ষটি যায় এবং অক্ষের দিক
ঘোরানো আকৃতি
একটি আকৃতিকে এমনভাবে সরায় যাতে তার উপরের একটি বিন্দু ও দিক অন্য একটি বিন্দু ও দিকে পড়ে:
fromDirection সহ fromOrigin ফ্রেমটি toDirection সহ toOrigin এ নিয়ে যাওয়া হয়।
এটাই একটি আকৃতিকে একটি সারফেসে দাঁড় করানোর বা একটি রেখা বরাবর তাক করার উপায়: আকৃতিটি সরানো ও ঘোরানো দুটোই হয়, কখনো স্কেল নয়।
আকৃতি, যে বিন্দু ও দিক থেকে নিতে হবে, এবং যে বিন্দু ও দিকে বসাতে হবে
অ্যালাইন করা আকৃতি
একটি আকৃতিকে এমনভাবে সরায় যাতে তার উপরের একটি পূর্ণ ফ্রেম অন্য একটি ফ্রেমে পড়ে: একটি বিন্দু, তার নর্মাল ও সেই নর্মালের প্লেনে একটি অক্ষ তাদের লক্ষ্যে নিয়ে যাওয়া হয়।
যেখানে align একটি দিক নির্ধারণ করে এবং এর চারপাশের ঘোরা মুক্ত রাখে, এটি ঘোরাটিও
নির্ধারণ করে, যা তাদের অক্ষের সাপেক্ষে গোল নয় এমন আকৃতির জন্য গুরুত্বপূর্ণ।
আকৃতি, যে বিন্দু, নর্মাল ও অক্ষ থেকে নিতে হবে, এবং যে বিন্দু, নর্মাল ও অক্ষে বসাতে হবে
অ্যালাইন করা আকৃতি
একটি আকৃতিকে ঘোরায় যাতে তার Y অক্ষ direction বরাবর নির্দেশ করে, তারপর এটিকে center এ সরায়।
এই প্যাকেজের সমতল আকৃতি ও প্রিমিটিভগুলি Y উপরে রেখে ভূমিতে তৈরি, তাই এটাই সেই একটি কল যা সেগুলির যেকোনোটি বসায়: দিকটি তাদের নতুন উপর হয়, এবং কেন্দ্রটি যেখানে তারা বসে।
আকৃতি, তার Y অক্ষ যে দিক বরাবর নির্দেশ করবে এবং যে বিন্দুতে এটি সরাতে হবে
স্থাপিত আকৃতি
একটি আকৃতিকে একটি ভেক্টর দিয়ে সরায়, মডেল এককে।
আকৃতি এবং যে ভেক্টর দিয়ে এটি সরাতে হবে
সরানো আকৃতি
একটি আকৃতিকে মূলবিন্দুর সাপেক্ষে একটি ফ্যাক্টর দিয়ে সমানভাবে স্কেল করে।
মূলবিন্দু থেকে দূরের একটি আকৃতি এর থেকে দূরে বা এর দিকেও সরে; scaleFromCenter একটি বাছাই করা
বিন্দুর সাপেক্ষে স্কেল করে এবং scale3d প্রতিটি অক্ষকে তার নিজস্ব ফ্যাক্টর দিয়ে স্কেল করে।
আকৃতি ও গুণক
স্কেল করা আকৃতি
একটি আকৃতিকে X, Y ও Z বরাবর আলাদা ফ্যাক্টর দিয়ে স্কেল করে, একটি বাছাই করা কেন্দ্র বিন্দুর সাপেক্ষে।
অসমান ফ্যাক্টর আকৃতিটিকে টানে, যা বৃত্তকে উপবৃত্তে পরিণত করে এবং পরের অপারেশন, যেমন ফিলেট, ধীর বা ব্যর্থ করতে পারে; আকৃতিটির শুধু বড় হওয়া দরকার হলে ফ্যাক্টরগুলি সমান রাখুন।
আকৃতি, তিনটি গুণক এবং যে বিন্দু ঘিরে স্কেল করতে হবে
স্কেল করা আকৃতি
একটি আকৃতিকে একটি রেখার আড়াআড়ি মিরর করে: origin দিয়ে direction বরাবর অক্ষ।
প্রতিটি বিন্দু রেখার সামনে যতটা ছিল ততটাই পিছনে পড়ে, যা 3D তে সেই অক্ষের চারপাশে একটি অর্ধ পাকের সমান।
আকৃতি, অক্ষের উপর একটি বিন্দু ও অক্ষের দিক
মিরর করা আকৃতি
একটি আকৃতিকে তার উপরের একটি বিন্দু ও তার নর্মাল দিয়ে দেওয়া একটি প্লেনের আড়াআড়ি মিরর করে।
এটাই সাধারণ আয়না-ছবি, যেমনটি একটি প্রতিসম অংশের দরকার; ফলাফলটি এই অর্থে উল্টে যায় যে একটি বাম-হাতি আকৃতি একটি ডান-হাতি হয়ে যায়।
আকৃতি, মিরর প্লেনের উপর একটি বিন্দু ও প্লেনের নর্মাল
মিরর করা আকৃতি
একটি আকৃতিকে একটি বাছাই করা বিন্দুর সাপেক্ষে একটি ফ্যাক্টর দিয়ে সমানভাবে স্কেল করে।
বিন্দুটি যেখানে আছে সেখানেই থাকে এবং বাকি সবকিছু এর থেকে দূরে বা এর দিকে সরে।
আকৃতি, গুণক এবং যে বিন্দু ঘিরে স্কেল করতে হবে
স্কেল করা আকৃতি
একটি আকৃতিকে একটি বিন্দুর মধ্য দিয়ে মিরর করে: আকৃতির প্রতিটি বিন্দু বিন্দুটির আগে যতটা ছিল ততটাই এর ওপারে পড়ে, বিপরীত পাশে।
ফলাফলটি উল্টে যায়, যেভাবে একটি সমতল আয়না একটি বাম হাতকে একটি ডান হাতে পরিণত করে।
আকৃতি এবং যে বিন্দুর মধ্য দিয়ে মিরর করতে হবে
মিরর করা আকৃতি
একটি আকৃতিকে মূলবিন্দুর সাপেক্ষে [x, y, z, w] হিসেবে দেওয়া একটি কোয়াটার্নিয়ন দিয়ে ঘোরায়।
কোয়াটার্নিয়নটি প্রথমে স্বাভাবিকীকরণ করা হয়, তাই তার দৈর্ঘ্য গুরুত্বপূর্ণ নয়। কোয়াটার্নিয়নই অ্যানিমেশন ও ফিজিক্স লাইব্রেরিগুলি দেয়, তাই এটি সেগুলিকে একটি অক্ষ ও একটি কোণে রূপান্তর করা বাঁচায়।
আকৃতি ও কোয়াটারনিয়ন
ঘোরানো আকৃতি
OpenCascade আকৃতি সরানো, ঘোরানো, স্কেল করা ও মিরর করা, এবং এমন সরণ বর্ণনাকারী 4x4 ম্যাট্রিক্স তৈরি করা। প্রতিটি মেথড একটি নতুন আকৃতি ফেরত দেয় এবং ইনপুট যেমন ছিল তেমন রাখে। কোণ ডিগ্রিতে, দূরত্ব মডেল এককে, এবং একটি মেথড কেন্দ্র না নিলে ঘূর্ণন অক্ষ মূলবিন্দুর মধ্য দিয়ে যায়। ম্যাট্রিক্স হল কলাম-মেজর ক্রমে 16টি সংখ্যা (সরণ ইনডেক্স 12 থেকে 14 এ বসে); ম্যাট্রিক্সের একটি তালিকা প্রথম থেকে শেষ পর্যন্ত একটি সম্মিলিত সরণ হিসেবে প্রয়োগ হয়, যেভাবে
transformByMatrixও...ToMatrixবিল্ডারগুলি একসাথে খাপ খায়।