আমি কীভাবে একটি রেখাংশের সাধারণ ভেক্টর গণনা করব?


177

ধরুন আমার কাছে একটি রেখাংশ রয়েছে (x1, y1) থেকে (x2, y2)। আমি লাইনের স্বাভাবিক ভেক্টর লম্বকে কীভাবে গণনা করব?

আমি 3D এ প্লেনগুলির জন্য এটি করার বিষয়ে প্রচুর স্টাফ পেতে পারি তবে 2 ডি স্টাফ নেই।

অনুগ্রহ করে গণিতে সহজে যান (কাজের উদাহরণগুলির মধ্যে লিঙ্ক, ডায়াগ্রাম বা অ্যালগোরিদম স্বাগত), আমি একজন গণিতজ্ঞের চেয়ে আমি একজন প্রোগ্রামার;)


2
এবং যদি আপনি এর পিছনে "গণিত" সম্পর্কে জানতে চান তবে আপনি আমার উত্তরটি stackoverflow.com/a/7470098/189767 এ সন্ধান করতে পারেন । এটি মূলত একই, তবে আরও বিস্তৃত।
আন্দ্রেয়াস

2
এই প্রশ্নটি গণিত সম্পর্কে, প্রোগ্রামিং নয়।
চার্লি

1
আমি এই প্রশ্নটিকে অফ-টপিক হিসাবে বন্ধ করার পক্ষে ভোট দিচ্ছি কারণ এটি প্রোগ্রামিং নয়, গণিত সম্পর্কিত।
পাইং

উত্তর:


237

যদি আমরা dx = x2-x1 এবং dy = y2-y1 সংজ্ঞায়িত করি তবে নরমালগুলি হ'ল (-ডি, ডিএক্স) এবং (ডিজি, -ডিএক্স)।

নোট করুন যে কোনও বিভাগের প্রয়োজন নেই, এবং তাই আপনি শূন্য দ্বারা ভাগ করার ঝুঁকি নিচ্ছেন না।


14
এটি বেশ সূক্ষ্ম এবং নরমাল.এক্স = -ডি এবং নরমাল.ই = ডিএক্স অনুধাবন করতে আমাকে কিছুটা সময় নিয়েছে। এগুলি আমার চারপাশে অন্যভাবে ছিল কারণ এটি টাইপের মতো দেখে মনে হয়েছিল যে এক্স অংশটি y মানকে নির্ধারণ করে ...
পিকু

@ ওরেন ট্রুটনার আমি এখনও এটি বুঝতে পারি না; (x', y') = (-y, x)এবং (x', y') = (y, -x)সঠিক হতে পারে বলে মনে হয়, কিন্তু কেন এক ব্যবহার করেন dxএবং dyএখানে। তদ্ব্যতীত, onালু m1 * m2 = -1ভিত্তিতে, সমকোণ রেখার জন্য, সুতরাং dy' = dx' * (-dx/dy)এবং dx' = dy' * (-dy/dx)কীভাবে আপনার সমীকরণে আসে normal.x = x' = -dy?
কিংবদন্তি 2 কে

1
আপনি কী দয়া করে এখানে ডেল্টা কীভাবে ভূমিকা পালন করবেন সে সম্পর্কে সংক্ষিপ্ত বিবরণ জানাতে পারেন? আমি নিশ্চিত যে আমি এখানে কিছু মিস করছি।
কিংবদন্তি 2 কে

7
@ কিংবদন্তি 2 কে: ব-দ্বীপটি হ'ল স্পর্শকাতর ভেক্টর। স্বাভাবিক হ'ল স্পর্শকাতরের দিকে লম্ব দিক। এক্স / ওয়াইয়ের মানগুলি উল্টানো এবং এটিকে অবহেলা করা স্পষ্ট হয়ে ওঠে যদি আপনি 90 ডিগ্রি রোটেশনের জন্য 2 ডি ম্যাট্রিক্সের দিকে নজর দেন: en.wikedia.org/wiki/Rotation_matrix# বেসিক_রোশনস
জিয়ন

@ জিয়ন: আহ! বুঝতে পেরেছি, আমি opeালের সাথে ডেল্টাকে বিভ্রান্ত করছি যখন অ্যাফাইন জ্যামিতিতে দুটি পয়েন্টের মধ্যে পার্থক্য একটি ভেক্টর, এখানে ছোঁয়া :)
কিংবদন্তি 2 কে

95

এটির ভাবনার আরেকটি উপায় হ'ল একটি নির্দিষ্ট দিকের জন্য ইউনিট ভেক্টরটি গণনা করা এবং তারপরে স্বাভাবিক ভেক্টরটি পেতে 90 ডিগ্রির কাউন্টার ক্লকওয়াইজ রোটেশন প্রয়োগ করুন।

সাধারণ 2 ডি রূপান্তরটির ম্যাট্রিক্স উপস্থাপনাটি দেখতে এমন দেখাচ্ছে:

x' = x cos(t) - y sin(t)
y' = x sin(t) + y cos(t)

যেখানে (x, y) হ'ল মূল ভেক্টরের উপাদান এবং (x ', y') হ'ল রূপান্তরকারী উপাদান।

যদি টি = 90 ডিগ্রি হয়, তবে কোস (90) = 0 এবং পাপ (90) = 1. এটি প্রতিস্থাপন এবং এটির গুণমান দেয়:

x' = -y
y' = +x

পূর্বের হিসাবে একই ফলাফল, তবে কোথা থেকে এসেছে সে সম্পর্কে আরও কিছুটা ব্যাখ্যা দিয়ে।


2
ধন্যবাদ একটি টন, এটি কীভাবে উদ্ভূত হচ্ছে তা সম্পর্কে আমার মাথা ভেঙে ফেলছিল।
কিংবদন্তি 2 কে

1
যদিও আমি ঘূর্ণন সূত্রটি আগে জানতাম, তবে এই উত্তরটি দিয়ে আমার মাথার ভিতরে যে জিনিসটি ক্লিক করেছে, তা হ'ল কোণটি একটি ধ্রুবক (+/- 90), যা এটিকে সরলভাবে x এবং y এর প্রত্যাবর্তন এবং বিপরীতে পরিণত করে।
কিংবদন্তি 2 কে

@ ডিফাইমো ফলাফলটির দৈর্ঘ্য কি এক?
মার্টিন মিজার

যদি ভেক্টরকে রূপান্তর করার আগে স্বাভাবিক করা হয় তবে এটি পরে থাকবে। আপনি ঘূর্ণন রদবদল করার আগে বা পরে আপনাকে স্বাভাবিক করতে হবে।
duffymo

11

এই প্রশ্নটি অনেক আগে পোস্ট করা হয়েছিল, তবে আমি এর উত্তর দেওয়ার জন্য একটি বিকল্প উপায় খুঁজে পেয়েছি। তাই আমি এখানে ভাগ করে নেওয়ার সিদ্ধান্ত নিয়েছি।
প্রথমত, একজনকে অবশ্যই জানতে হবে: দুটি ভেক্টর যদি লম্ব হয় তবে তাদের বিন্দুর পণ্যটি শূন্যের সমান।
স্বাভাবিক ভেক্টর (x',y')সংযোগ লাইন ঋজু হয় (x1,y1)এবং (x2,y2)। এই লাইনের দিক রয়েছে (x2-x1,y2-y1), বা (dx,dy)
সুতরাং,

(x',y').(dx,dy) = 0
x'.dx + y'.dy = 0

প্রচুর জোড় (x ', y') যা উপরের সমীকরণটি পূরণ করে। তবে সর্বদা যে সেরা জুটি সন্তুষ্ট হয় তা হয় হয় (dy,-dx)বা হয়(-dy,dx)


7
m1 = (y2 - y1) / (x2 - x1)

যদি লম্ব দুটি লাইন থাকে:

m1*m2 = -1

তারপর

m2 = -1 / m1 //if (m1 == 0, then your line should have an equation like x = b)

y = m2*x + b //b is offset of new perpendicular line.. 

বি এমন কিছু যা আপনি যদি সংজ্ঞায়িত একটি বিন্দু থেকে এটি পাস করতে চান

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.