জিএলএম সহ ভেক্টরের দৈর্ঘ্য পান


14

জিএলএম গ্রন্থাগারটি কীভাবে আচরণ করছে বা আমি এটি ভুলভাবে ব্যবহার করছি তা নিয়ে আমি বেশ বিভ্রান্ত।

glm::vec2 testVec(6,-4);

float len = testVec.length();

আমি 2উপরের কোড স্নিপেটের সাথে মানটি পাই । আমি বিশ্বাস করি যে আমি ভেক্টরের দ্বারা সংজ্ঞায়িত করার দৈর্ঘ্য পেতে চেষ্টা করছি testVec। আপনি খুব ভাল করেই জানেন যে এটি ভেক্টরের সঠিক দৈর্ঘ্য নয়। আমি এখানে কি মিস করছি?

উত্তর:


15

দুঃখিত, যেমন একটি তুচ্ছ সমস্যা পোস্ট করার জন্য লোকেরা! বিষয়টি সমাধান হয়ে গেছে। আমি ভুল ফাংশন ব্যবহার করছিলাম। এখানে সঠিক এক:

glm::vec2 testVec(6,-4);
float len  = glm::length(testVec);

একই নামের সদস্য ফাংশন উপাদান সংখ্যা ফেরৎ পরিবর্তে (অর্থাত vec2::lengthসবসময় সমর্পণ করা হবে 2, vec3::lengthসবসময় সমর্পণ করা হবে 3, ইত্যাদি)।


7
ক্ষমাপ্রার্থনা করবেন না, আমি মনে করি এটি একটি ন্যায্য প্রশ্ন, জিএলএম এর ফাংশন নামকরণ এখানে বেশ বিভ্রান্ত করছে। আমি আশা করি এটি ভবিষ্যতে একটি দরকারী (এবং সংক্ষিপ্ত) রেফারেন্স হতে পারে।
মার্টিন ইন্ডার

3
@ মার্টিনএন্ডার এটি জিএলএম নয় যারা দোষী: জিএলএসএল অনুমান এই বিভ্রান্তিটি বিদ্যমান বলে প্রমাণিত করে: এখানে ফিরে আসার মাত্রা এবং পদ্ধতির length(vecN)আদর্শ ফিরে আসার ফ্রি ফাংশন রয়েছে । §5.5 ভেক্টর এবং স্কেলারের উপাদান এবং জিএলএসএল 4.60 স্পেকের দৈর্ঘ্য দেখুনvecNvecN.length()vecN
রুসলান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.