Quaternions ব্যবহার: আমি তাদের সাথে কী করতে পারি? (গণিত ব্যতীত)


24

আমি একজন গেম ডেভেলপার এবং গণিত অধ্যয়ন করি নি। সুতরাং আমি কেবল একটি হাতিয়ার হিসাবে কোয়ার্টারিয়নস ব্যবহার করতে চাই। এবং 3 ডি রোটেশন নিয়ে কাজ করতে সক্ষম হওয়ার জন্য, কোয়ার্টেরিনগুলি (বা ম্যাট্রিক্সেস ব্যবহার করা প্রয়োজন, তবে আসুন আমরা এই প্রশ্নটিতে এখানে কোয়ার্টেরিয়নে থাকি)। আমি মনে করি অনেক বিকাশকারীদের এগুলি ব্যবহার করা গুরুত্বপূর্ণ। এজন্য আমি আমার জ্ঞান ভাগ করে নিতে চাই এবং আশা করি আমার যে গর্ত রয়েছে তা পূরণ করুন। এখন ....

আমি যতদূর বুঝতে পেরেছি:

একটি কোয়ার্টেরিয়ন 2 টি জিনিস বর্ণনা করতে পারে:

  1. 3 ডি অবজেক্টের বর্তমান ওরিয়েন্টেশন।
  2. কোনও বস্তু করতে পারে এমন ঘূর্ণন রূপান্তর। (RotationChange)

আপনি একটি কোয়ার্টারিয়ন দিয়ে করতে পারেন:

Multiplications:

  1. Quaternion endOrientation = Quaternion rotationCange * Quaternion currentOrientation;

    সুতরাং উদাহরণস্বরূপ: আমার 3D অবজেক্টটি 90 left বামে পরিণত হয় - এবং আমার ঘূর্ণনটি আমি গুণিত করে 180 right থেকে ডানদিকে ঘোরান, শেষ পর্যন্ত আমার 3 ডি অবজেক্ট 90 right ডানে পরিণত হয়।

  2. Quaternion rotationChange = Quaternion endRotation * Quaternion.Inverse (startRotation);

    এটির সাহায্যে আপনি একটি রোটেশন চেঞ্জ পাবেন যা অন্য ওরিয়েন্টেশনটিতে প্রয়োগ করা যেতে পারে।

  3. ভেক্টর 3 এন্ডপোশন = কোয়ার্টারিয়ন রোটেশন পরিবর্তন * ভেক্টর 3 কারেন্ট পজিশন;

    সুতরাং উদাহরণস্বরূপ: আমার 3D অবজেক্টটি পজিশনে রয়েছে (0,0,0) এবং আমার ঘূর্ণনটি আমি গুণ করি 180 right থেকে ডানদিকে, আমার শেষ অবস্থানটি (0, -50,0) এর মতো। সেই কোয়াটারিয়নের ভিতরে একটি অক্ষ রয়েছে - এবং সেই অক্ষটির চারপাশে একটি ঘূর্ণন রয়েছে। আপনি আপনার অক্ষটি Y অক্ষরের দিকে ঘুরিয়ে দিন।

  4. ভেক্টর 3 আবর্তিতঅফসেটভেক্টর = কোয়ার্টেরিন রোটেশনচেন্জ * ভেক্টর 3 বর্তমানঅফসেটভেক্টর;

    উদাহরণস্বরূপ: আমার শুরুর দিকের দিকটি ইউপি - (0,1,0) দেখায়, এবং আমার যে ঘূর্ণনটি আমি গুণ করি 180 180 থেকে ডানদিকে ঘূর্ণন, আমার শেষ দিকটি নীচে দেখানো হচ্ছে। (0, -1,0)

মিশ্রণ (লার্প এবং স্লার্প):

  1. কোয়ার্টারিয়ন কারেন্ট ওরিয়েন্টেশন = কোয়ার্টেরিয়ন.স্লার্প (স্টার্টওরিয়েন্টেশন, এন্ডোরিয়েন্টেশন, ইন্টারপোলটার)

    যদি ইন্টারপোলটারটি 1 হয়: কারেন্ট ওরিয়েন্টেশন = শেষ ওরিয়েন্টেশন

    যদি ইন্টারপোলটার 0 হয়: কারেন্ট ওরিয়েন্টেশন = স্টার্টওরিয়েন্টেশন

    স্লার্প আরও সুনির্দিষ্টভাবে ইন্টারপোলিট করে, লেয়ার্প আরও পারফর্ম্যান্টকে ইন্টারপোলিট করে।

আমার প্রশ্নগুলো):

আমি এখন পর্যন্ত যা কিছু ব্যাখ্যা করেছি তা কি সঠিক?

আপনি কি কোয়ার্টেরিয়ানসের সাথে "সমস্ত" করতে পারেন? (obv। না)

আপনি তাদের সাথে আর কি করতে পারেন?

2 কোয়ার্ট্রিয়নের মধ্যে ডট পণ্য এবং ক্রস পণ্য কী জন্য ভাল?

সম্পাদনা:

কিছু উত্তর সহ আপডেট প্রশ্ন


বলুন আপনার ২ টি নয়, তবে nভিন্ন ভিন্ন দৃষ্টিভঙ্গি (মনোভাব, ভঙ্গি ইত্যাদি) রয়েছে। তারপরে আপনি ওজনগুলি ব্যবহার করে কার্যকরভাবে স্ট্রিল্প / লেয়ারপকে সাধারণীকরণ করতে পারেন। আপনি একটি চৌম্বকটিকে একটি রোটরে রূপান্তর করতে পারেন, যা একটি অনড় দেহে নির্দিষ্ট সময়ের জন্য একটি কৌণিক বেগ প্রয়োগ করার সমতুল্য। সুতরাং আপনি কোয়ার্টেরিয়নের সাথে কৌণিক বেগ সংহতকরণও বর্ণনা করতে পারেন। দুটি প্রাচ্য কতটা পৃথক তা আপনিও অনুমান করতে পারেন (হাইপারস্পিয়ারে দুটি চতুর্ভুজ দ্বারা বিভক্ত তোরণটির দৈর্ঘ্য গণনা করুন)।
teodron

এবং হ্যাঁ, প্রথম নজরে আপনার যুক্তি সঠিক (কোয়ার্টেরিয়েন্স সম্পর্কে আপনার বোঝা কোনও অ-প্রযুক্তিগত ব্যক্তির পক্ষে যথেষ্ট ভাল)। এটি একটি মন্তব্যের জন্য অনুপযুক্ত, তবে অভিনন্দন! এমনকি প্রযুক্তিগতভাবে প্রতিভাধারী সমস্ত চতুর্ভুজ ব্যবহার জানেন না, যদিও তারা এগুলি কেবল কোনও উদ্দেশ্যে সফ্টওয়্যার ইঞ্জিনিয়ারিং সরঞ্জাম হিসাবে ব্যবহার করে।
teodron

4
"এবং 3 ডি রোটেশন নিয়ে কাজ করতে সক্ষম হওয়ার জন্য, কোয়ার্টেরিনগুলি ব্যবহার করা দরকার" এই বাক্যটি কতটা মিথ্যা তা আমি যথেষ্ট চাপ দিতে পারি না। গেম ডেভেলপমেন্টের জন্য আপনি অয়লার বা টাইট-ব্রায়ান অ্যাঙ্গেল ব্যবহার করতে পারেন, একমাত্র সমস্যা হ'ল গিম্বল লক। আপনি যদি গেম ডেভেলপার হতে চান তবে আপনার এক পর্যায়ে গণিতের প্রয়োজন হবে, এটি শিখুন।
বিলিন্ট

1
"গেম ডেভেলপার" এবং "গণিত অধ্যয়ন না করা" একটি অক্সিমোরন।
মার্গারেট ব্লুম

2
আপনি প্রশ্নটি নিয়ে যা করার চেষ্টা করছেন তা আমি প্রশংসা করি, তবে উত্তরগুলি প্রশ্নের উত্তর নয়, প্রশ্নের উচিত। যদি আপনার মনে হয় যে এগুলি সহযোগী করে তোলা উপযুক্ত a
বেসিক

উত্তর:


23

গুণ

কমপক্ষে ityক্যের কোয়ার্টেরিয়নের প্রয়োগের ক্ষেত্রে, প্রশ্নে বর্ণিত গুণমানের অর্ডারটি সঠিক নয়। এটি গুরুত্বপূর্ণ কারণ 3 ডি রোটেশনটি পরিবর্তনশীল নয়

সুতরাং, আমি যদি কোনও বস্তুটি rotationChangeশুরু করে ঘোরানো চাই তবে আমি currentOrientationএটি লিখতে চাই:

Quaternion newOrientation = rotationChange * currentOrientation;

(উদাহরণস্বরূপ, রূপান্তরগুলি বাম দিকে সজ্জিত - ইউনিটির ম্যাট্রিক্স সম্মেলনের মতো।

এবং যদি আমি কোনও ঘূর্ণন দ্বারা কোনও দিকনির্দেশ বা ভেক্টরকে অফসেট করতে চাই, তবে আমি এটি এই জাতীয়ভাবে লিখতে চাই:

Vector3 rotatedOffsetVector = rotationChange * currentOffsetVector;

(আপনি যদি বিপরীতে থাকেন তবে ityক্য একটি সংকলন ত্রুটি উত্পন্ন করবে)

মিশ্রণ

বেশিরভাগ ক্ষেত্রে আপনি লার্পিং ঘূর্ণনগুলি থেকে মুক্তি পেতে পারেন। এটি কারণ যে একটি চতুষ্কোণে "হুডের নীচে" ব্যবহৃত কোণটি আবর্তনের কোণার অর্ধেক কোণ, এটি ম্যাট্রিক্সের মতো (যা সাধারণভাবে ভালভাবে লিર્প করবে না !) এর চেয়ে লার্পের লিনিয়ার সান্নিধ্যের সাথে যথেষ্ট পরিমাণে ঘনিষ্ঠ হয় । আরও ব্যাখ্যার জন্য এই ভিডিওতে প্রায় 40 মিনিটের জন্য দেখুন

আপনার যখন সত্যই স্প্ল্পের প্রয়োজন হয় তখন একটি ক্ষেত্রে আপনার যখন সময়ের সাথে ধারাবাহিক গতির প্রয়োজন হয় যেমন অ্যানিমেশন টাইমলাইনে কীফ্রেমগুলির মধ্যে ইন্টারপোলটিংয়ের মতো। যেসব ক্ষেত্রে আপনি কেবল যত্ন নিচ্ছেন যে কোনও আউটপুট দুটি ইনপুটগুলির মধ্যে (যেমন কোনও অ্যানিমেশনের ব্লেন্ডিং স্তরগুলির) মধ্যবর্তী হয় তবে সাধারণত Lerp বেশ ভাল পরিবেশন করে।

আর কি?

ডট পণ্য দুই ইউনিট কোয়াটেরনিয়ন সেগুলির মধ্যে কোণের কোসাইন দেয় যাতে করে আপনি যদি ঘুর্ণন তুলনা প্রয়োজন আদল একটি পরিমাপ হিসাবে ডট পণ্য ব্যবহার করতে পারেন। এটি যদিও কিছুটা অস্পষ্ট, তাই আরও সুস্পষ্ট কোডের জন্য আমি প্রায়শই কোয়ার্টারিয়ন ব্যবহার করতাম ngএঙ্গেল (ক, খ) , যা আরও স্পষ্টভাবে প্রকাশ করে যে আমরা পরিচিত ইউনিটগুলিতে (ডিগ্রি) মধ্যে কোণগুলির তুলনা করছি।

Typesক্য কোয়ার্টারিওনের জন্য এই ধরণের সুবিধাপ্রাপ্ত পদ্ধতিগুলি দুর্দান্ত দরকারী। প্রায় প্রতিটি প্রকল্পে আমি এটিকে কমপক্ষে কয়েকবার ব্যবহার করি :

Quaternion.LookRotation(Vector3 forward, Vector3 up)

এটি একটি চৌবাচ্চা তৈরি করে যে:

  • forwardভেক্টর আর্গুমেন্টের সাথে ঠিক পয়েন্ট করতে স্থানীয় z + অক্ষকে ঘোরান
  • স্থানীয় y + অক্ষকে upভেক্টর আর্গুমেন্টের যথাসম্ভব নিকটে বিন্দুতে ঘুরান , যদি সরবরাহ করা হয় বা (0, 1, 0)বাদ দেওয়া হয়

"আপ" কেবল "যতটা সম্ভব কাছাকাছি" পাওয়ার কারণটি হ'ল সিস্টেমটি অত্যধিক নির্ধারিত। forwardদুই ডিগ্রি স্বাধীনতা (যেমন। ইয়াও এবং পিচ) ব্যবহার করার জন্য জেড + এর মুখোমুখি হওয়ায় আমাদের কাছে মাত্র এক ডিগ্রি স্বাধীনতা বাকি রয়েছে (রোল)।

আমি প্রায়শই দেখতে পাই আমি বিপরীত নির্ভুলতার বৈশিষ্ট্যগুলির সাথে কিছু চাই: আমি স্থানীয় y + এর সাথে সঠিকভাবে নির্দেশ করতে চাই upএবং স্থানীয় জেড + যতটা সম্ভব forwardবাকি স্বাধীনতার সাথে কাছে যেতে চাই ।

এটি উদাহরণস্বরূপ উঠে আসে যখন চলাচলের ইনপুটটির জন্য ক্যামেরা-সম্পর্কিত আপেক্ষিক সমন্বয় ফ্রেম গঠনের চেষ্টা করার সময়: আমি আমার স্থানীয় আপের দিকটি মেঝেতে বা লম্বা পৃষ্ঠের দিকে লম্ব থাকতে চাই, তাই আমার ইনপুটটি চরিত্রটিকে ভূখণ্ডে সুড়ঙ্গ করার চেষ্টা করে না বা এটিকে বাদ দিয়ে দিন।

আপনি যদি কোনও ট্যাঙ্কের বুনো আবাসন কোনও লক্ষ্যের মুখোমুখি হতে চান তবে উপরের দিকে / নিচে লক্ষ্য রেখে ট্যাঙ্কের দেহটি ছাড়িয়ে ছাড়তে চাইলে আপনি এটিও পেতে পারেন।

LookRotationভারী উত্তোলনের জন্য আমরা এটি করতে আমাদের নিজস্ব ফাংশনটি তৈরি করতে পারি :

Quaternion TurretLookRotation(Vector3 approximateForward, Vector3 exactUp)
{
    Quaternion rotateZToUp = Quaternion.LookRotation(exactUp, -approximateForward);
    Quaternion rotateYToZ = Quaternion.Euler(90f, 0f, 0f);

    return rotateZToUp * rotateYToZ;
}

এখানে আমরা প্রথমে স্থানীয় y + থেকে z + এবং স্থানীয় z + থেকে y- ঘোরান।

তারপরে আমরা নতুন জেড + কে আমাদের উপরের দিকে ঘোরান (সুতরাং নেট ফলাফলটি স্থানীয় y + পয়েন্টগুলি সরাসরি বরাবর exactUp) এবং নতুন y + যতটা সম্ভব উপেক্ষিত সামনের দিকের নিকটবর্তী হয় (সুতরাং নেট ফলাফলটি স্থানীয় z + পয়েন্টগুলি যতটা সম্ভব তত কাছাকাছিই বন্ধ হয়) approximateForward)

আর একটি সহজ সুবিধাজনক পদ্ধতি হ'ল Quaternion.RotateTowards, যা আমি প্রায়শই এর মতো ব্যবহার করি:

Quaternion newRotation = Quaternion.RotateTowards(
                             oldRotation, 
                             targetRotation,
                             maxDegreesPerSecond * Time.deltaTime
                         );

এটি আমাদের targetRotationফ্রেমরেট নির্বিশেষে ধারাবাহিক, নিয়ন্ত্রনযোগ্য গতিতে এগিয়ে যেতে দেয় - গেমপ্লে মেকানিক্সের ফলাফল / ন্যায্যতার উপর প্রভাব ফেলে এমন ঘূর্ণনের জন্য গুরুত্বপূর্ণ (যেমন কোনও চরিত্রের গতিবিধি ঘুরিয়ে দেওয়া, বা প্লেয়ারটির উপর একটি বুড়ি ট্র্যাক-ইন থাকা)। এই পরিস্থিতিতে নির্লজ্জভাবে লিર્পিং / স্ট্লারপিং সহজেই এমন ক্ষেত্রে ডেকে আনতে পারে যেখানে গতি ভারসাম্যকে প্রভাবিত করে উচ্চতর ফ্রেমেরেটে আন্দোলন চঞ্চল হয়ে যায়। (এটি এই পদ্ধতিগুলি ভুল বলে নয় - ন্যায্যতা পরিবর্তন না করে এগুলি সঠিকভাবে ব্যবহার করার উপায় রয়েছে, এটির জন্য কেবল যত্নের প্রয়োজন RotateTowardsa একটি সুবিধাজনক শর্টকাট দেয় যা আমাদের জন্য এটি যত্ন করে))


টিপ: ভিডিও URL এর শেষের দিকে & t = 40m যুক্ত করুন যাতে এটি সোজা হয়ে যায় (বিকল্প হিসাবে উদাহরণস্বরূপ 40m5s)। গোলাকৃতি গেমওয়ার্ল্ডগুলির সাথেও ডিল করার সময় কোয়ার্টারিয়ন ডট পণ্যগুলি কার্যকর হয় - বা আরও স্পষ্টভাবে যখন ঘোরের ক্ষেত্রগুলির অংশগুলিকে কেন্দ্র করে।
লুক ব্রিগস

@ লুক ব্রিগস: গোলাকার গেম ওয়ার্ল্ড পয়েন্টের মতো মনে হচ্ছে এটির নিজের উত্তরটি (বিশেষত ডায়াগ্রামের সাহায্যে) বিশদভাবে বর্ণনা করার মতো যদি আপনি এটির জন্য প্রস্তুত থাকতেন। :)
ডিএমগ্রিগরি

দুর্দান্ত ধারণা - এটি এখানে ভোর তিনটা (তাই আমি মনে করি এটি কিছুটা গীবির মত প্রকাশিত হবে!) তবে আমি আগামীকাল কিছু এক সাথে টেনে আনতে খুশি হব (যদি আমি মনে করি!)
লূক ব্রিগেস

1
সম্পাদনা: আমি একটি উত্তর সম্পর্কে চিন্তা কিছুটা দূরে পেয়েছি তাই চ্যালেঞ্জ গৃহীত! আমি কমপক্ষে এটিকে মোটামুটি কাটা হিসাবে চিহ্নিত করব যাতে লোকেরা গভীর রাতে পোড়ানোর বিষয়টি সম্পর্কে জানতে পারে: পি
লূক ব্রিগেস

আমরা শুরু করছি! আপনার উত্তরটি ইতিমধ্যে অন্তর্নিহিত কার্যগুলি সত্যিই ভালভাবে কভার করেছে এমন ভিত্তিতে আমি গ্রাফিকাল ওভারভিউ অর্থে এটি কভার করার চেষ্টা করেছি। কিছুক্ষণ ঘুমানোর সময় মনে হয়!
লুক ব্রিগেস

14

ডট পণ্যটি কোথায় ব্যবহৃত হয়?

ইউনিটিতে, ডট পণ্যটির অন্যতম সাধারণ ব্যবহারকারী যখনই আপনি পরীক্ষা করেন যে দুটি কোয়ার্টারিয়ন ==বা এর মাধ্যমে সমান কিনা !=। ইউনিটি ডট পণ্যটিকে সরাসরি অভ্যন্তরীণ এক্স, ওয়াই, জেড, ডাব্লু মানের সাথে তুলনা করার চেয়ে মিলটি পরীক্ষা করতে গণনা করে। এটি আপনার মনে রাখার চেয়ে কলটি আরও ব্যয়বহুল করে তোলে বলে এটি মনে রাখা worth

আমরা এটি একটি আকর্ষণীয় ব্যবহারের ক্ষেত্রেও ব্যবহার করি ..

কোয়ার্টারিয়ন ডট পণ্যগুলির সাথে মজা করুন - গোলাকার পৃথিবী এবং কক্ষপথ

পুরো গ্রহ এবং এমনকি পুরো সৌরজগতের সিমুলেশন ক্রমশ সাধারণ হয়ে উঠছে। রিয়েলটাইমে এটিকে টানতে, আমাদের কোয়ার্টারিয়ন ডট পণ্যও দরকার। তাদের মধ্যে অনেক. কোয়ার্টারিয়ন ডট পণ্যটি খুব নিখরচায় রয়েছে তবে এর অবশ্যই ব্যবহার রয়েছে - আসুন দেখে নেওয়া যাক!

প্রথমত, আমাদের বিবেচনার জন্য একটি পুরো সিরিজ ঘুরতে হবে:

  1. (Allyচ্ছিকভাবে) গ্যালাকটিক কেন্দ্রের চারপাশে তারা
  2. তারার চারপাশে গ্রহ
  3. গ্রহের ঝোঁক
  4. গ্রহের ঘূর্ণন
  5. কাছাকাছি গ্রিড কোষের অবস্থান (গ্রহগুলি কেন্দ্রের উপর ঘোরানো) *
  6. একাধিক অরবিটাল প্লেন

তাদের সব একত্রিত করুন এবং আপনি অনেক জটিলতা (এবং বিপুল সংখ্যক!) দিয়ে শেষ করুন। যখন দর্শক গ্রহের পৃষ্ঠের উপরে দাঁড়িয়ে থাকে, আমরা চাই না যে তারা আমাদের গেমওয়ার্ল্ড স্পেসের মাধ্যমে কিছু পাগল গতিতে আঘাত করুক। আমরা আসলে তারা স্থির ছিল এবং কোথাও উত্স কাছাকাছি চাই - পরিবর্তে প্লেয়ার চারপাশে মহাবিশ্ব সরানো।

ঘোরানো গ্রহ

গুরুত্বপূর্ণভাবে, আমাদের এই দৃশ্যে গ্রহের স্পিন এবং টিলার সঠিক পেতে সক্ষম হওয়ার জন্য, আমাদের মেরুটি অক্ষটি লক করা দরকার যাতে এটি কেবল উপরের চিত্রটির উপর / নীচে দুলতে পারে (যেমন প্লেয়ার ভ্রমণ করার সাথে সাথে "উপরে" দুলতে পারে) can উত্তর)। এইখানেই একটি কোয়ার্টারিয়ন ডট পণ্য আসে we

ভুলভাবে 'গ্রহ' কাত করে

লক্ষ করুন কীভাবে আমাদের গ্রহগুলির 'গ্রহ'গুলির খুঁটি সর্বদা নক্ষত্রের দিকে ঝুঁকছে। বাস্তবে যা ঘটে তা তাই নয় - কাতটি একটি নির্দিষ্ট দিকে

বিষয়টিকে খুব দূরে না নিয়েই এখানে একটি দ্রুত সংক্ষিপ্তসার দেওয়া হয়েছে:

  • একটি গোলকের উপর, একটি প্রাচীর খুব সুন্দরভাবে একটি পৃষ্ঠের অবস্থান বর্ণনা করে।
  • একসাথে একত্রিত করার জন্য আমাদের প্রচুর ঘোরাঘুরি হয়েছে।
  • সবকিছুকে আবর্তন হিসাবে বর্ণনা করুন; দর্শকের অবস্থানও। পরিশেষে আমরা কম অপারেশন করে শেষ করায় এটি পারফরম্যান্স বৃদ্ধিতে সহায়তা করে।
  • আবর্তনের মধ্যবর্তী কোণ (আমাদের বিন্দু পণ্য) তারপরে দ্রাঘিমাংশ মাপতে সহায়তা করে এবং টিল্টগুলি মোকাবেলায় বিশেষত ভাল কাজ করে।

কেবলমাত্র কোণটি অর্জন করে আমরা সেই অযাচিত ঘূর্ণনটির কয়েকটি ড্রপ করি । একই সাথে আমরা দ্রাঘিমাংশের পরিমাপের সাথে শেষ করেছিলাম যা নেভিগেশনের পাশাপাশি স্থানীয় জলবায়ুর জন্যও কার্যকর।

* প্রচুর গ্রিড কোষ থেকে গ্রহগুলি নির্মিত হয় । কেবলমাত্র নিকটস্থরা প্রকৃতপক্ষে প্রদর্শিত হয়।


2
এটি দৃশ্যটি নির্ধারণ এবং সমস্যাটিকে অনুপ্রাণিত করার একটি দুর্দান্ত কাজ করে তবে আমি কীভাবে কোয়ার্টারিয়ন ডট পণ্যটির গণিতটি (অর্থাত্ স্কেলার পণ্যটি dot(a, b) = a.x*b.x + a.y*b.y + a.z*b.z + a.w*b.wকোয়ার্টারিয়ন রচনার বিপরীতে যা আমরা একসাথে চেইন ব্যবহার করতে চাইছি) এর বিষয়ে কিছুটা অস্পষ্ট y ঘূর্ণন) আমাদের এই সমস্যা সমাধানে সহায়তা করবে। আপনি যদি খুব পরে এই বিষয়ে বিস্তারিত বলতে সক্ষম হন তবে আমি আনন্দের সাথে উপস্থাপন করবো (আমি আপনাকে আপনার কুঁচকির হাত থেকে আটকাতে চাইছি না ... মানে ঘুম!)
ডিএমগ্রিগরি

@ ডিএমগ্রিগরির সংক্ষিপ্ত উত্তরটি টিল্ট হ'ল বিজোড় উত্তরটি হ'ল; সমস্ত কিছুই চমত্কারভাবে সেগুলি ব্যতীত রচনা করে (গ্রহটি তারার চারপাশে কাঁপতে দেখা দেয়)। আমি আগামীকাল (আশা করি!) আরও কিছু প্রসঙ্গ যুক্ত করব!
লুক ব্রিগেস

@ ডিএমজি গ্রেগরী আমি কিছু অতিরিক্ত তথ্য যুক্ত করেছি (আমি ঘুমাতে পারিনি!) - আশা করি এটি আরও পরিষ্কার হয়ে যায়।
লূক ব্রিগেস

1
আমি যদি কিছুটা ঘন হয়ে যাই তবে দুঃখিত, তবে বেশ কয়েকবার পুনরায় পড়ার পরেও আমি জানি না যে আপনি যে রূপান্তরটির বর্ণনা দিচ্ছেন তা অর্জনের জন্য আমি কীভাবে কোনও সূত্রের মধ্যে বিন্দু পণ্যটি ব্যবহার করব। আপনি যে ক্রিয়াকলাপ স্পষ্টভাবে সম্পাদন করছেন তাতে সামান্য সিউডোকোড যুক্ত করতে সক্ষম হবেন?
ডিএমগ্রিগরি

@ ডিএমজি গ্রেগরি আমি কোয়ার্টেরিয়েন্সগুলির সাথে পরিচিত নই তবে যদি এটি কোনও গোলকের মধ্যে ঘূর্ণন হয় তবে এটি ঘূর্ণন রচনা নয়। এটি গোলকের একে একে কোনও পরিধির পৃষ্ঠের "লাইন" এর জন্য সাধারণ ভেক্টরটি গণনা করতে ভেক্টরগুলির সাথে গোলক জ্যামিতি ব্যবহার করছে। আবারও, উত্তরটি সামান্য বোঝায় না এই প্রশ্নটিও নয়, তবে আমি বিশ্বাস করি তারা গোলক জ্যামিতি ব্যবহার করছে।
দ্য গ্রেট ডাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.