যোগ করা ছিল প্রথম ধাপ। ভেক্টরে অনেক ধরনের গাণিতিক প্রক্রিয়া ব্যবহার করা হয়। ProcessingJS এর PVector অবজেক্টের ফাংশনের প্রক্রিয়াসমূহের একটি বিস্তৃত তালিকা নিচে দেওয়া হল। এখানে মূলত দরকারি ফাংশনগুলো দেখবো। পরবর্তীতে আরও পরিশীলিত উদাহরণে, আমরা এই ফাংশনগুলো সম্পর্কে আরও বিস্তারিতভাবে জানবো।
  • add() — ভেক্টর যুক্ত কর
  • sub() — ভেক্টর বিয়োগ করা
  • mult() — ভেক্টর গুণ করা
  • div() — ভাগ করার মাধ্যমে ভেক্টর পরিমাপ কর
  • mag() — ভেক্টরের মান বের করা
  • normalize() — ভেক্টরকে এক (1) একক ভেক্টরে নরমালাইজ করা
  • limit() — ভেক্টরের মান সীমাবদ্ধ করা
  • heading2D() — ভেক্টরের 2D (দ্বিমাত্রিক) শীর্ষবিন্দুকে কোণ হিসেবে প্রকাশ করা
  • dist() — দুটি ভেক্টরের মধ্যে থাকা ইউক্লিডিয়ান দূরত্ব (বিন্দু হিসেবে বিবেচনা করে)
  • angleBetween() — দুইটি ভেক্টরের মাঝে থাকা কোণটি খুঁজে বের কর
  • dot() — দুটি ভেক্টরের ডট গুণন/স্কেলার গুণন
  • cross() — দুটি ভেক্টরের ক্রস গুণন/ভেক্টর গুণন (ত্রিমাত্রিক বিবেচনা করে)
যেহেতু আমরা যোগ করার প্রক্রিয়া শেষ করেছি, এখন বিয়োগ করা শিখি। আসলে এটা কঠিন নয়; শুধু যোগ চিহ্নটির বদলে বিয়োগ চিহ্ন বসাই!

ভেক্টর বিয়োগ

w=uv \vec{w} = \vec{u} - \vec{v}
এটাকে এভাবে লিখা যায়:
wx=uxvx \text{w}_x = \text{u}_x - \text{v}_x
wy=uyvy \text{w}_y = \text{u}_y - \text{v}_y
and so the function inside PVector looks like:
PVector.prototype.sub = function(vector2) {
    this.x = this.x - vector2.x;
    this.y = this.y - vector2.y;
  };
নিচের উদাহরণে দুইটি বিন্দুর পার্থক্য নিয়ে ভেক্টর বিয়োগ দেখানো হল—মাউসের অবস্থান এবং উইন্ডোর কেন্দ্রবিন্দু।
ভেক্টরে মৌলিক সংখ্যার বৈশিষ্ট্য
বাস্তব সংখ্যা দিয়ে গাণিতিক হিসাব করলে, তারা নিম্নের মৌলিক নীতি অনুসরণ করে:
বিনিময় বিধি: 3+2=2+3 3+2=2+3
সংযোগ বিধি: (3+2)+1=3+(2+1) (3+2)+1=3+(2+1)
ভেক্টরের ক্ষেত্রেও নীতিগুলো একই:
বিনিময় বিধি: u+v=v+u \vec{u} + \vec{v}= \vec{v} + \vec{u}
সংযোগ বিধি: u+(v+w)=(u+v)+w \vec{u} + (\vec{v} + \vec{w})= (\vec{u} + \vec{v}) + \vec{w}

ভেক্টর গুণন

ভেক্টর গুণ করার ক্ষেত্রে, আমাদের একটু ভিন্নভাবে চিন্তা করতে হবে। ভেক্টর গুণনের ক্ষেত্রে মূলত বোঝায়, একটি ভেক্টরকে স্কেলিং করা। একটি ভেক্টরকে এর আকারের দ্বিগুণ অথবা তিনভাগের একভাগে পরিণত করতে চাইলে (এটার দিক পরিবর্তন না করে), যা করতে হবে: “ভেক্টরকে 2 দ্বারা গুণ” অথবা “ভেক্টরকে 1/3 দ্বারা গুণ।” লক্ষ্য করি, একটি ভেক্টরকে স্কেলার রাশি দ্বারা গুণ করা হচ্ছে, এটা একটি সংখ্যা, কিন্তু ভেক্টর রাশি নয়।
একটি ভেক্টরকে স্কেল (পরিমাপ) করার জন্য, প্রত্যেকটি অংশকে (x এবং y) স্কেলার রাশি দ্বারা গুণ করতে হয়।
w=un \vec{w} = \vec{u} * n
এভাবে লিখা যায়:
ভেক্টর চিহ্ন সম্বলিত একটি উদাহরণ দেখা যাক।
Therefore, the function inside the PVector object is written as:
PVector.prototype.mult = function(n) {
   this.x = this.x * n;
   this.y = this.y * n;
}
এবং সহজেই কোডে mult ব্যবহার করা যায়:
var u = new PVector(-3,7);
// এই PVector এখন তিনগুন বড় এবং এটা (-9,21) এর সমান।
u.mult(3);
Here's the example from earlier, but we multiply the vector by 0.5 each time, so that it's scaled by half:
উপরে 0.5 গুণের বদলে, আমরা 2 দ্বারা ভাগ করেও কাজটি করতে পারতাম। ভাগও ঠিক গুণের মতই কাজ করে—শুধু গুণ চিহ্নের (তারকাচিহ্ন) পরিবর্তে আমরা এখানে ভাগ চিহ্ন (ফরওয়ার্ড স্ল্যাশ) বসাই।
ফাংশনের ভেতরে নিম্নরূপে div মেথড প্রয়োগ করা হয়:
PVector.prototype.div = function(n) {
   this.x = this.x / n;
   this.y = this.y / n;
}
কোডে নিম্নরূপে প্রয়োগ করা হয়:
var u = new PVector(8, -4);
u.div(2);

More Number Properties with Vectors

যোগের মত, বীজগণিতের গুণন পদ্ধতিও ভেক্টরে ব্যবহার করা যায়।
সংযোগ বিধি: (nm)v=n(mv) (n * m) * \vec{v} = n * (m * \vec{v})
The distributive rule with 2 scalars, 1 vector: (n+m)v=nv+mv (n + m) * \vec{v} = n * \vec{v} + m * \vec{v}
2 টি স্কেলার, 1 টি ভেক্টর সহ বণ্টন বিধি: (u+v)n=un+vn (\vec{u} + \vec{v}) * n = \vec{u} * n + \vec{v} * n
ভেক্টরের গণিত অনুশীলন করতে চাও? খান একাডেমিতে আমাদের রৈখিক বীজগণিত: ভেক্টর থেকে তুমি আরও অনেক কিছু শিখতে পার।

এই "প্রাকৃতিক সিমুলেশন" কোর্সটি নেওয়া হয়েছে Daniel Shiffman (ড্যানিয়েল শিফম্যান) এর লেখা "The Nature of Code" (কোডের প্রকৃতি) থেকে এবং এটি ক্রিয়েটিভ কমন্সের এট্রিবিউশন-নন কমার্শিয়াল 3.0 আনপোরটেড লাইসেন্সের অধিনস্ত।
লোড করা হচ্ছে