আমি বৃত্তাকার গতিতে কীভাবে বস্তুটিকে বাধা দিতে পারি


23

আমি একটি 2 ডি স্পেস গেম তৈরি করছি এবং স্পেসশিপকে একটি গ্রহকে আটকানো দরকার। আমার স্ট্রেইট লাইন ইন্টারসেপ্টের জন্য কোডিং কোড রয়েছে তবে গ্রহকের কক্ষপথে গ্রহের অবস্থান নির্ণয় করার পদ্ধতিটি বের করতে পারি না।

খেলাটি বৈজ্ঞানিকভাবে সঠিক নয় তাই আমি জড়তা, মাধ্যাকর্ষণ, উপবৃত্তাকার কক্ষপথ ইত্যাদি নিয়ে উদ্বিগ্ন নই

আমি স্পেসশিপগুলির অবস্থান এবং গতি এবং গ্রহগুলির কক্ষপথ (ব্যাসার্ধ) এবং গতি জানি

এখানে চিত্র বর্ণনা লিখুন


1
না, আমি গ্রহটিকে অবিচ্ছিন্ন করার জন্য জাহাজটির চলাচলের যে কোণটি প্রয়োজন তা গণনা করার চেষ্টা করছি।
অউসা

4
এটি সম্ভবত গণিত.স্ট্যাকেক্সেঞ্জঞ্জ ডট কম এ আরও ভাল কাজ করবে ..
জারি কম্প্পা

2
আপনার জাহাজ কি গতি এবং দিক পরিবর্তন করতে সক্ষম, বা সেগুলি ধ্রুবক? এছাড়াও, একটি লক্ষ্য মিসাইল বৃত্তটি এড়ানো সম্পর্কে এই প্রশ্নটি সহায়ক হতে পারে।
thegrinner

4
স্পষ্ট করে বলতে গেলে, পরিস্থিতি কি? গ্রহের জন্য প্রদত্ত : কক্ষপথ কেন্দ্র, কক্ষপথ ব্যাসার্ধ, কৌনিক গতি, বর্তমান অবস্থান; জন্য জাহাজ : বর্তমান অবস্থান, বর্তমান গতি; গ্রহের বাধা দিতে জাহাজের জন্য গতির দিক নির্ধারণ করুন
আকাশম

6
একটি আকর্ষণীয় historicalতিহাসিক নোট হিসাবে: গ্রহগুলি সাধারণত তাদের কক্ষপথের মতো একই দিকে ঘোরে, যা উত্তর গোলার্ধের উপরের অংশ থেকে দেখা যায় বলে এন্টিকলোক হিসাবেও রয়েছে। এই বাস্তবতা থেকে আমরা অনুমান করতে পারি যে সূর্যগুলি উত্তর গোলার্ধে আবিষ্কার হয়েছিল । যদি দক্ষিণ গোলার্ধে সানডিলগুলি আবিষ্কার করা হত তবে ঘড়ির কাঁটার দিক দিয়ে অন্য পথ হতে পারে ।
এরিক লিপার্ট

উত্তর:


3

এটির জন্য বিশ্লেষণমূলক সমাধানটি কঠিন, তবে আমরা প্রয়োজনীয় নির্ভুলতার মধ্যে সমাধান পেতে বাইনারি অনুসন্ধান ব্যবহার করতে পারি ।

শিপটি কক্ষপথের নিকটতম স্থানে পৌঁছে যেতে পারে t_min :

shipOrbitRadius = (ship.position - planet.orbitCenter).length;
shortestDistance = abs(shipOrbitRadius - planet.orbitRadius);
t_min = shortestDistance/ship.maxSpeed;

T_max এর চেয়ে কম বা সমান সময়ে জাহাজটি কক্ষপথে কোনও পয়েন্টে পৌঁছতে পারে :

(এখানে, সরলতার জন্য, আমি ধরে নিই যে জাহাজটি সূর্যের মধ্য দিয়ে গাড়ি চালাতে পারে you আপনি যদি এড়াতে চান তবে কমপক্ষে কিছু ক্ষেত্রে আপনাকে সোজা-সরল-লাইনের পথে স্যুইচ করতে হবে "" চুম্বন চেনাশোনাগুলি "সুন্দর এবং কক্ষপথ দেখতে পারে মেকানিক্স-ওয়াই, অ্যালগরিদমকে ধ্রুবক ফ্যাক্টরের চেয়ে বেশি পরিবর্তন না করে)

if(shipOrbitRadius > planet.orbitRadius)
{
   t_max = planet.orbitRadius * 2/ship.maxSpeed + t_min;
}
else
{
   t_max = planet.orbitRadius * 2/ship.maxSpeed - t_min;
}

যদি আমাদের কক্ষপথটি সংক্ষিপ্ত হয়, তবে গ্রহটি জাহাজের শুরু অবস্থানের নিকটতম অবস্থানের t_maxপরে প্রথমবারের মতো এটি বেছে নেওয়ার মাধ্যমে আমরা এই উপরের সীমানায় উন্নতি করতে সক্ষম হতে পারি t_min। এই দুটি মানগুলির মধ্যে যে কোনওটিই t_maxছোট। এটি কেন কাজ করে তা আবিষ্কার করার জন্য এই উত্তরটি পরে দেখুন।

এখন আমরা এই চরম, টি_মিনি এবং টি_ম্যাক্সের মধ্যে বাইনারি অনুসন্ধান ব্যবহার করতে পারি । আমরা এমন টি-মান সন্ধান করব যা শূন্যের কাছাকাছি ত্রুটি পায় :

error = (planet.positionAtTime(t) - ship.position).squareMagnitude/(ship.maxSpeed*ship.maxSpeed) - t*t;

(এই নির্মাণটি ব্যবহার করে ত্রুটি @ t_min> = 0 এবং ত্রুটি @ t_max <= 0, সুতরাং এর মধ্যে টি-মানটির জন্য কমপক্ষে একটি ত্রুটি = 0 থাকা উচিত)

যেখানে, সম্পূর্ণতার জন্য, অবস্থানের কাজটি এমন কিছু ...

Vector2 Planet.positionAtTime(float t)
{
  angle = atan2(startPosition - orbitCenter) + t * orbitalSpeedInRadians;
  return new Vector2(cos(angle), sin(angle)) * orbitRadius + orbitCenter;
}

মনে রাখবেন যে যদি গ্রহের কক্ষপথ সময়টি জাহাজের গতির তুলনায় খুব কম হয় তবে এই ত্রুটি ফাংশনটি t_min থেকে t_max পর্যন্ত স্প্যানের মধ্যে কয়েকবার চিহ্ন পরিবর্তন করতে পারে। আপনার মুখোমুখি হওয়া সর্বাগ্রে কেবলমাত্র ve & -পথ জুড়ি রাখুন এবং ত্রুটিটি শূন্যের কাছাকাছি না হওয়া পর্যন্ত তাদের মধ্যে অনুসন্ধান চালিয়ে যান ("আপনার কাছাকাছি" আপনার ইউনিট এবং গেমপ্লে প্রসঙ্গে সংবেদনশীল হতে পারে half ফ্রেমের সময়কালের অর্ধেক বর্গ হতে পারে) ভালভাবে কাজ করুন - যা নিশ্চিত করে যে কোনও ইন্টারফেসটি একটি ফ্রেমের মধ্যে যথার্থ)

আপনার একবারে একটি দুর্দান্ত ত্রুটি-হ্রাস করার পরে, আপনি কেবল গ্রহ.পজিশনটিটাইম (টি) এ জাহাজটি নির্দেশ করতে পারেন এবং পুরো থ্রোটল নিয়ে যেতে পারেন, আত্মবিশ্বাসের সাথে যে গ্রহটি আপনি একই সময়ে পৌঁছে যাবেন।

আপনি সর্বদা লগ_2 ((2 * অরবিট্র্যাডিয়াস / শিপ.ম্যাক্সস্পিড) / ত্রুটিধারী) পুনরাবৃত্তির মধ্যে একটি সমাধান খুঁজে পেতে পারেন। সুতরাং উদাহরণস্বরূপ, যদি আমার জাহাজটি 60 টি ফ্রেমে কক্ষপথটি অতিক্রম করতে পারে এবং আমি একটি ফ্রেমের মধ্যে একটি ইন্টারসেপ্ট সঠিক করতে চাই তবে আমার প্রায় 6 টি পুনরাবৃত্তি প্রয়োজন।


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

11

এর অতিরিক্ত জটিলতা না। এটি কোনও "নিখুঁত" সমাধান নয় তবে বেশিরভাগ গেমের জন্য কাজ করা উচিত এবং কোনও অসম্পূর্ণতা প্লেয়ারের কাছে অদৃশ্য হওয়া উচিত।

if(!OldTargetPoint)
  TargetPoint = PlanetPosition;
else
  TargetPoint = OldTargetPoint;
Distance = CurPosition - TargetPoint;
TimeNeeded = Distance / Speed;
TargetPoint = PlanetPositionInFuture(TimeNeeded);
SteerTowards(TargetPoint);
[...repeat this every AI update, for example every second...]
  1. লক্ষ্য পয়েন্টে পৌঁছানোর জন্য প্রয়োজনীয় সময় গণনা করুন।
  2. গণনার সময় গ্রহটি কোন অবস্থানে থাকবে তা গণনা করুন।
  3. গণিত বিন্দুর দিকে এগিয়ে যান।
  4. পুনরাবৃত্তি

এটি কাজ করে কারণ মহাকাশযানটি তত তীরে ত্রুটি হয়ে ওঠে towards সুতরাং সময়ের সাথে গণনা আরও স্থিতিশীল হয়ে ওঠে।

ত্রুটি হ'ল গ্রহে পৌঁছানোর জন্য প্রয়োজনীয় সময় (টাইমনিড) এবং গ্রহে পৌঁছানোর জন্য আসল সময়ের প্রয়োজন (নতুন টার্গেটপয়েন্ট বিবেচনার পরে)।


1
কোনও ইন্টারসেপ্ট কোর্স শুরু করার সময় আপনি এটির 2 টি পুনরাবৃত্তি চালনা করতে চাইতে পারেন, অন্যথায় আপনি জাহাজটিকে দুটি মুহুর্তের মধ্যে মুহূর্তের জন্য ঝাঁকুনি দেখতে পাবেন (দ্বিতীয় অনুমানটি প্রথমটির চেয়ে অনেক ভাল হতে পারে এবং এর ফলে খুব আলাদা শিরোনাম হতে পারে - বিশেষত যদি জাহাজটি গ্রহের কক্ষপথের নিকটে বা এর মধ্যে)
ডিএমগ্রিগরি

1
@ ডিএমজি গ্রেগরী ওহ! আমরা কেবলমাত্র গ্রহের বর্তমান অবস্থানকে অরবিট কেন্দ্রের পরিবর্তে প্রারম্ভিক পয়েন্ট হিসাবে গ্রহণ করতে পারি। আমরা যখন কাছাকাছি থাকি এটি অনেক বেশি কাছাকাছি হয়, আমরা যদি খুব দূরে থাকি তবে তাতে কিছু আসে যায় না।
এপিআই-বিস্ট 21

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

3

সমস্যার পিছনে গণিতটি একবার দেখে নেওয়া শুরু করি।

ধাপ 1:

একটি রেখা এবং একটি আকারের মধ্যে ছেদটি সন্ধান করা কেবলমাত্র আকারের সমীকরণে রেখার সমীকরণ সন্নিবেশ করানোর বিষয়টি, যা এই ক্ষেত্রে একটি বৃত্ত।

বৃত্তের সাথে ছেদ করে রেখা

কেন্দ্র সাথে একটি চেনাশোনা নাও এবং ব্যাসার্ধ R । একটি বিন্দু p যদি বৃত্তে থাকে

|পি-|2=R2

পি=পি0+ +μবনাম

|পি0+ +μবনাম-|2=R2

স্কোয়ার দূরত্বটি ডট পণ্য ( http://en.wikedia.org/wiki/Dot_pr Prodct ) হিসাবে আবারও লেখা যেতে পারে ।

(পি0+ +μবনাম-)(পি0+ +μবনাম-)=R2

একটি=-পি0(μবনাম-একটি)(μবনাম-একটি)=R2

ডট পণ্যটি সম্পাদন করুন এবং আমরা পাইμ2(বনামবনাম)-2μ(একটিবনাম)+ +একটিএকটি=R2

ধরে নিও যে এবং আমাদের আছে|বনাম|=1

μ2-2μ(একটিবনাম)+ +|একটি|2-R2=0

যা একটি সাধারণ চতুষ্কোণ সমীকরণ, এবং আমরা সমাধানে পৌঁছেছি

μ=একটিবনাম+ +-গুলিকুইRটি((একটিবনাম)2*একটি2-R2)

যদি , আপনার ক্ষেত্রে জাহাজের লাইনটি গ্রহ কক্ষপথের সাথে ছেদ করে না।μ<0

যদি হয় তবে জাহাজের রেখাটি কেবলমাত্র এক বিন্দুতে বৃত্তটি স্পর্শ করবে।μ=0

অন্যথায়, এটি আমাদেরকে দুটি মূল্য দেয় যা কক্ষপথের দুটি পয়েন্টের সাথে মিলে যায়!μ

ধাপ ২:

সুতরাং আমরা জাহাজের জন্য একটি লাইন সংজ্ঞায়িত করতে পারি এবং এর মধ্যে আমরা 0, 1 বা 2 ভ্যালুও পাই। আমরা যদি 1 টি মান পাই তবে এটি ব্যবহার করুন। যদি আমরা 2 পাই তবে কেবল তাদের মধ্যে একটি বেছে নিন।μ

এটি দিয়ে আমরা কী করতে পারি? ঠিক আছে, এখন আমরা জানি জাহাজটির যে দূরত্বের ভ্রমণ করতে হবে এবং এটি কোন পয়েন্টে শেষ হবে!

পি=পি0+ +μবনাম আমাদের স্থানাঙ্ক দেয় এবং কম্পোনেন্টটি আমাদের দেয় যে কতদূর যেতে হবে। আপনার জাহাজের গতিতে কেবল এই শেষ উপাদানটিকে বিভক্ত করুন যাতে সেখানে যেতে কত সময় লাগবে!μবনাম

এখন, জাহাজটি তার কক্ষপথের দিকে আসতে শুরু করলে গ্রহটি কোথায় হওয়া উচিত তা গণনা করা। এটি তথাকথিত পোলার কডিনেটস ( http://mathworld.wolfram.com/PolarCoordinates.html ) দিয়ে সহজেই গণনা করা হয়

এক্স=+ +R*গুলি(θ)

Y=+ +R*গুলিআমিএন(θ)

এবং যেহেতু আপনার জাহাজটির গতি আপনার ছিল, এবং জাহাজটি কক্ষপথে পৌঁছতে আমাদের সময় সময় লাগবে এবং যেখানে এটি সংঘর্ষে , আমরা গ্রহটিকে কেবল তার কক্ষপথে ডিগ্রি সরিয়ে এবং আমরা সম্পন্ন করেছি !টি*একটিএনulaRভীআমিটিY

সারাংশ

আপনার জাহাজের জন্য একটি লাইন চয়ন করুন এবং এটি গ্রহের কক্ষপথের সাথে সংঘর্ষিত হয়েছে কিনা তা দেখার জন্য গণিতটি চালান। যদি এটি হয় তবে সেই পয়েন্টে উঠতে সময় লাগবে। গ্রহটির সাথে এই স্থানটি থেকে কক্ষপথে ফিরে যেতে এই সময়টি ব্যবহার করে জাহাজটি চলতে শুরু করলে গ্রহটি কোথায় হওয়া উচিত তা গণনা করতে পারেন।


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

4
এটি হ্রাস করা যাচ্ছে না কারণ এটি কার্যকর বিশ্লেষণ, তবে আমি @ চয়েজড 0 এর সাথে একমত যে এটি প্রশ্নের উত্তর দেয় না। আপনার সারাংশে আপনি বলেছেন "আপনার জাহাজের জন্য একটি লাইন চয়ন করুন ..." তবে সেই লাইনটি চয়ন করা হ'ল শক্ত অংশ।
ড্রেক

1

সমাধান দুটি "বাক্সের বাইরে" রয়েছে।

প্রশ্নটি হল: জাহাজটি একটি নির্দিষ্ট গতিতে একটি সরলরেখায় চলে যায় এবং গ্রহ একটি প্রদত্ত কৌণিক গতিতে প্রদত্ত ব্যাসার্ধের বৃত্তে চলে যায় এবং গ্রহ এবং জাহাজের প্রারম্ভিক অবস্থানগুলি নির্ধারণ করে যে জাহাজটির কোন ভেক্টর রয়েছে স্ট্রেস লাইন একটি বিরতি কোর্স প্লট করতে হবে।

সমাধান এক: প্রশ্নের ভিত্তি অস্বীকার করুন। প্রশ্নের মধ্যে "পিচ্ছিলযোগ্য" পরিমাণটি হল কোণ। পরিবর্তে, এটি ঠিক করুন। কক্ষপথের কেন্দ্রে সরাসরি জাহাজটি নির্দেশ করুন।

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

সমাধান দুটি: এটি মোটেও অটোপাইলটে করবেন না। একটি মিনি-গেম তৈরি করুন যেখানে প্লেয়ারটিকে গ্রহটির কাছে যেতে থ্রাস্টার ব্যবহার করতে হবে এবং যদি তারা এটিকে তুলনামূলকভাবে খুব বেশি গতিতে আঘাত করে তবে তারা উড়ে যায়, তবে তাদের তেলও সীমিত থাকে। খেলোয়াড়কে কীভাবে ইন্টারসেপ্ট সমস্যার সমাধান করবেন তা শিখিয়ে তুলুন!


1

আপনি যদি পোলার স্থানাঙ্ক ব্যবহার করতে না চান তবে বিবেচনা করুন যে জাহাজের সমস্ত সম্ভাব্য অবস্থানগুলি স্পেসে একটি শঙ্কু তৈরি করে । এর সমীকরণ হ'ল(এক্স,Y,টি)

টিবনাম=এক্স2+ +Y2

যেখানে জাহাজের বেগ। ধারণা করা হয় জাহাজটি শূন্য থেকে শুরু হয়।বনাম

স্থান এবং সময় গ্রহের অবস্থান যেমন প্যারামাইট্রাইজ করা যেতে পারে উদাহরণস্বরূপ

এক্স=এক্স0+ +Rগুলি(Wতোমার দর্শন লগ করা+ +একটি)Y=Y0+ +Rগুলিআমিএন(Wতোমার দর্শন লগ করা+ +একটি)টি=তোমার দর্শন লগ করা

যেখানে থেকে উপরের দিকে যান। কৌণিক গতি এবং গ্রহের শূন্যের সময় কোণ। তারপরে সমাধান করুন যেখানে জাহাজ এবং গ্রহটি সময় ও স্থানের সাথে মিলিত হতে পারে। জন্য আপনাকে একটি সমীকরণ পেতে সমাধানের জন্য:তোমার দর্শন লগ করা0Wএকটিতোমার দর্শন লগ করা

তোমার দর্শন লগ করাবনাম=(এক্স0+ +Rগুলি(Wতোমার দর্শন লগ করা+ +একটি))2+ +(Y0+ +Rগুলিআমিএন(Wতোমার দর্শন লগ করা+ +একটি))2তোমার দর্শন লগ করা2বনাম2=(এক্স0+ +Rগুলি(Wতোমার দর্শন লগ করা+ +একটি))2+ +(Y0+ +Rগুলিআমিএন(Wতোমার দর্শন লগ করা+ +একটি))2তোমার দর্শন লগ করা2বনাম2=এক্স02+ +Y02+ +R2+ +2এক্স0Rগুলি(Wতোমার দর্শন লগ করা+ +একটি)+ +2Y0Rগুলিআমিএন(Wতোমার দর্শন লগ করা+ +একটি)

এই সমীকরণটি সংখ্যাগতভাবে সমাধান করা দরকার। এটির অনেকগুলি সমাধান থাকতে পারে। এটি চোখ ধাঁধিয়ে দিয়ে মনে হয় এটির সবসময়ই এর সমাধান থাকে


1

এখানে একটি সমাধান অংশ। আমি সময়মতো এটি শেষ করতে পারি না। আমি পরে আবার চেষ্টা করব।

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

দুর্ভাগ্যক্রমে, ক্ষীর ছাড়া আমি এই উত্তরটি খুব ভাল ফর্ম্যাট করতে পারি না, তবে আমরা চেষ্টা করব। দিন:

  • s_s = জাহাজের গতি (s_s.x, s_s.y, একইভাবে)
  • s_a= জাহাজের ভারবহন (চলাচলের কোণ, আমরা কী গণনা করতে চাই )
  • p_p = গ্রহের প্রাথমিক অবস্থান, বৈশ্বিক সমন্বয়
  • p_r = গ্রহের দূরত্ব (ব্যাসার্ধ) কক্ষপথের কেন্দ্র থেকে, থেকে প্রাপ্ত p_p
  • p_a কক্ষপথের কেন্দ্রের তুলনায় রেডিয়ানে গ্রহের প্রাথমিক কোণ
  • p_s = গ্রহের কৌণিক বেগ (রেড / সেকেন্ড)
  • t = সংঘর্ষের সময় (এটি এমন কিছু হতে পারে যা আমাদের অবশ্যই গণনা করতে হবে)

উপাদানগুলির মধ্যে বিভক্ত দুটি সংস্থার অবস্থানের সমীকরণ এখানে রয়েছে:

ship.x = s_s.x * t * cos(s_a)
ship.y = s_s.y * t * sin(s_a)

planet.x = p_r * cos(p_a + p_s * t) + p_p.x
planet.y = p_r * sin(p_a + p_s * t) + p_p.y

যেহেতু আমরা চাই ship.x = planet.xএবং ship.y = planet.yতত্ক্ষণাত্ tআমরা এই সমীকরণটি পাই ( yকেসটি প্রায় প্রতিসম আকারের):

   s_s.x * t * cos(s_a) = p_r * cos(p_a + p_s * t) + p_p.x
   s_s.y * t * sin(s_a) = p_r * sin(p_a + p_s * t) + p_p.y

S_a এর জন্য শীর্ষ সমীকরণটি সমাধান করা:

   s_s.x * t * cos(s_a) = p_r * cos(p_a + p_s * t) + p_p.x
=> s_a = arccos((p_r * cos(p_a + p_s * t) + p_p.x) / (s_s.x * t))

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


2
আমি এই সাইটের জন্য টেক্স সক্ষম করতে চাই। এটি উপস্থাপন করা সহজভাবে কিছু গ্রাফিক্স সম্পর্কিত স্টাফ তৈরি করবে (যেমন ভেক্টর, ম্যাট্রিক্স, কোয়ার্টারিয়নস ..)।
এমভিডাব্লু

0

আমি যে স্থানে বাধা দিতে হবে ঠিক করবো (কক্ষপথের "বহির্গামী" পাশের বৃত্তটি চরাবেন))

এখন আপনাকে কেবল স্পেসশিপের গতি সামঞ্জস্য করতে হবে যাতে গ্রহ এবং জাহাজ একই সময়ে সেই স্থানে পৌঁছায়।

নোট করুন যে জাহাজটি কতটা দূরে, এবং গ্রহটি কতটা তারা ঘুরে বেড়াচ্ছে তার উপর নির্ভর করে রেন্ডিজ-ভাসটি আরও বেশি N কক্ষপথের পরে হতে পারে।

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

তারপরে ঠিক সেই এন কক্ষপথের টাইমস্ট্যাম্পের সাথে মেলে তুলতে শিপকে গতি বাড়ান বা কমিয়ে দিন।

এত কিছুর মধ্যেই প্রকৃত কোর্সটি ইতিমধ্যে জানা গেল! শুধু গতি নয়।


এটি অহেতুক দীর্ঘ ট্রিপ দিতে পারে। আসুন আমরা স্থির থাকি যাতে গ্রহটি আমাদের দিকে চলে আসে এবং আমরা গ্রহটি একই সময়ে "আগত" চরতে পৌঁছতে পারি। যদি আমরা কেবল "আউটগোয়িং" চারণ পয়েন্টটি দেখছি, তবে আমরা ট্রানজিটে অর্ধেক অতিরিক্ত অর্ধেক বছর ব্যয় করতে পারব!
ডিএমগ্রিগরি

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