সমস্ত গেম প্রোগ্রামারদের কী গণিত হওয়া উচিত? [বন্ধ]


164

সহজ যথেষ্ট প্রশ্ন: সমস্ত গেম প্রোগ্রামারদের সফল হওয়ার জন্য কোন গণিতের দৃ gra় উপলব্ধি থাকা উচিত?

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

দ্রষ্টব্য: যেমন আছে কেউ সঠিক উত্তর , এই প্রশ্নের (এবং তার উত্তর) একটি সম্প্রদায় উইকি নেই।

এছাড়াও, আপনি যদি অভিনব ল্যাটেক্স গণিতের সমীকরণ চান তবে http://mathurl.com/ ব্যবহার করতে নির্দ্বিধায় হন ।


1
মিমি আমার মনে হয় গণিতের বই সম্পর্কে প্রতিটি প্রোগ্রামার পড়া উচিত বা এর মতো কিছু আমি সত্যিই এটি প্রত্যাহার করতে চাই না ... তবে এতে কিছু সুন্দর জিনিস ছিল .... নিশ্চিত না যে এটি এখানে ছিল বা স্ট্যাকওভারফ্লো পাশাপাশি ছিল
প্রিক্স

পিএনপোলি অ্যালগরিদম: ecse.rpi.edu/Homepages/wrf/
পিএনপোলি

@ প্রিক্স: আপনি এটির অর্থটি বোঝাতে চাইছেন: গেমদেব.স্ট্যাকেক্সচেঞ্জ / সেকশনস / 1210/… ;)
মাইকেল

15
মাত্রাতিরিক্ত গঠনমূলক হচ্ছে বন্ধ দ্বারা Tetrad ♦
টমাস Eding

1
@ThomasEding হ্যাঁ, খুবই বিস্তৃত আরো মানানসই হয়েছে হতে পারে, যেমন এই ব্যাখ্যা স্পষ্টতই একটি হল তালিকা প্রশ্ন
আনকো

উত্তর:


137

আছে অনেক গণিত উপযোগী অন্যান্য ধরনের, কিন্তু পরম এ ন্যূনতম এইসব জানতে হবে:

  • বীজগণিত এবং গাণিতিক

এগুলি বেশ বেসিক, তবে আপনি যদি এগুলি না জানেন তবে আপনি প্রোগ্রামার হয়েও গেম ডেভেলপার হয়ে যাওয়ার সুযোগ পাবেন না।

গেম জগতের অবজেক্টগুলিকে ভেক্টরগুলির সাথে প্রতিনিধিত্ব করা হয়। একটি ভেক্টর কোনও সামগ্রীর অবস্থান, চেহারা দিক এবং গতির মতো জিনিসের প্রতিনিধিত্ব করে। ডট পণ্য , ক্রস পণ্য এবং ভেক্টর স্বাভাবিককরণের মতো ভেক্টরের গণিতের গণনাগুলি প্রয়োজনীয় ector

আমি আমার গেম অবজেক্টটি কীভাবে সরিয়ে দেব? নবজাতক বলতে পারে:

"আমি জানি! আমি কেবল করব:" object.position.x++

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

গেমগুলি কোয়ার্টারিয়নগুলি ব্যবহার করার প্রধান কারণ হ'ল গিম্বল লকটি ভোগা না করে তারা প্রায় অলারের কোণগুলির মতো স্থান-দক্ষতার সাথে ঘূর্ণনগুলি উপস্থাপন করে । গিম্বল লকটি শুরু হয় যখন কোনও এলিউর কোণ কোনও অক্ষের চারপাশে 90 ডিগ্রি ঘূর্ণনতে পৌঁছায়: আপনি তত্ক্ষণাত এক ডিগ্রি স্বাধীনতা হারাবেন। চতুর্থ মাত্রা যুক্ত করে কোয়ার্টেরিয়ানস এই সমস্যাটিকে সম্বোধন করে। আপনি যদি অয়লার কোণগুলির সাথে আটকে থাকেন তবে আপনাকে একটি অক্ষকে কখনও ~ 89 ডিগ্রির বেশি ঘোরানো সীমাবদ্ধ করতে হবে।

আপনি যদি কোনও গেমটিতে পদার্থবিজ্ঞানের প্রতিক্রিয়াগুলির জন্য গণিতের প্রোগ্রামিং করতে যাচ্ছেন তবে পদার্থবিজ্ঞানের ক্লাস নেওয়া খারাপ ধারণা হবে না।

যে কারণে আপনার পদার্থবিজ্ঞানের সমীকরণগুলি জানতে হবে:

  1. একটি বল বাউন্স করা (দেখুন: পুনরুদ্ধারের সহ-দক্ষ)
  2. 'এক্স' নিউটোনস ফোর্সের সাহায্যে একটি বল একদিকে নিয়ে যান
  3. কিছুতে কম-বেশি ঘর্ষণ তৈরি করুন যাতে এটি অন্য গতিতে স্লাইড হয়
  4. সংঘর্ষের প্রতিক্রিয়া: 'এখানে' আঘাত করলে বস্তুটি কোন দিকে ঘোরবে?

আপনি যদি কোনও পদার্থবিজ্ঞান ইঞ্জিন (বা এমন একটি গেম ইঞ্জিন ব্যবহার করেন যা পদার্থবিজ্ঞানের ইঞ্জিনটি অন্তর্নির্মিত থাকে) তবে আপনি পদার্থবিজ্ঞান সম্পর্কে খুব কমই জেনে দূরে যেতে পারবেন। তবুও, আপনার কখন হাত নোংরা করার দরকার তা জেনে রাখা ভাল কারণ পদার্থবিজ্ঞানের ইঞ্জিনটি সঠিকভাবে সম্পাদন করছে না।


1
পদার্থবিদ্যার জন্য, সংঘর্ষের প্রতিক্রিয়া এবং পুনঃস্থাপন সহ কঠোর শারীরিক গতিবিদ্যা সম্পর্কে ক্রিস হেকারের নিবন্ধগুলি দুর্দান্ত

25
আপনি কোয়ার্টারিয়নস উল্লেখ করেছেন তবে রূপান্তর ম্যাট্রিক্স নয় ??
অ্যান্ড্রু রাসেল

8
"গিম্বল [এসআইসি] লকটি সেই প্রভাবটি যেখানে আপনি যখন মাউসকে নীচের দিকে তাকানোর জন্য সরান, তখন আপনি সরাসরি নীচের দিকে তাকালে এটি বন্ধ হয়ে যায় ...." আসলে এটি সাধারণত প্লেয়ার স্যানিটির জন্য করা হয় এবং জিম্বল লকটির সাথে কোনও সম্পর্ক নেই।

4
এটি আমাকে অবাক করে দেয় ঠিক কত ঘন ঘন চতুর্দিকে জিম্বল লকের সাথে যুক্ত থাকে। আমি কোন চতুর্থাংশ ছাড়াই 3 ডি গেমস লিখেছি এবং কখনও জিম্বল লক সমস্যা ছিল না। যদি আপনি সত্যিই 3 ডি গণিত বুঝতে পারেন এবং জিম্বল লক আসলে কী তা জানেন তবে আপনার সমস্যাটি হবে না।
Skizz

7
জিম্বল লকটি আসলে ইউলার অ্যাঙ্গেলগুলির সাথে নিষ্প্রভ ঘূর্ণনের কারণে ঘটে (সাধারণত টাইট – ব্রায়ান কোণ: ইয়াও, পিচ, রোল)। এক্সিস-অ্যাঙ্গেলের মতো বিকল্প উপস্থাপনাগুলিও এর উপস্থিতি রোধ করতে ব্যবহার করা যেতে পারে। কোয়ার্ট্রিয়েন্সগুলির সহজেই অন্তরঙ্গকরণের সুবিধা রয়েছে এবং এ কারণেই সাধারণত পছন্দ করা হয়।
জেসন কোজাক

51

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

ম্যাথ প্রযুক্তির মতো, যতক্ষণ আপনি এটি প্রয়োগ করতে পারেন তত বেশি ভাল।

এখানে আমি গুরুত্বের ক্রমটি দেখছি।

  • পাটীগণিত
  • লিনিয়ার বীজগণিত (জ্যামিতিক ব্যাখ্যা সহ)
  • ক্যালকুলাস (পদার্থবিজ্ঞান)
  • সংযুক্তিবিদ্যা (এলোমেলো স্তরসমূহ)
  • সম্ভাবনা (ভারসাম্য)
  • পরিসংখ্যান (এআই এর জন্য বায়সিয়ান এস্পে।)

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


4
ক্যালকুলাস একটি বিশাল ক্ষেত্র। সম্ভবত গেম বিকাশের জন্য এটির একটি অল্প পরিমাণের প্রয়োজন।
নলডোরিন

2
@ নলডোরিন হ্যাঁ বেশিরভাগ পরিস্থিতিতে ডেরাইভেটিভ, ত্বরণ, বেগ এবং অবস্থানের মধ্যে সম্পর্ক বোঝা যথেষ্ট হতে পারে ... তবে ক্যালকুলাস দুর্দান্ত।
জনাথন ফিশফফ

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

1
আমার কাছে এটি নির্দিষ্ট বায়েশিয়ান অ্যালগরিদম নয় যা আমি গুরুত্বপূর্ণ বলে মনে করি, তবে ইটি জেনেসের দ্বারা যুক্তিযুক্ত প্রক্রিয়াটি বোঝা। আমার মনে হয় না বায়েশিয়ান যুক্তি সম্পর্কে অন্তর্নিহিত ধীরে কিছু আছে is
জোনাথন ফিশফফ

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

25

একটি খুব বেসিক একটি পাইথাগোরিয়ান উপপাদ্য। দূরত্বের সূত্র হিসাবেও পরিচিত।

একটি ^ 2 + খ ^ 2 = C ^ 2যেখানে aএবং bএকটি সঠিক ত্রিভুজটির প্রান্ত এবং cহ'ল হাইপোপেনজ। এর অর্থ হ'ল কোনও ভেক্টরের দৈর্ঘ্য সন্ধান করতে আপনি এটি করুন:

দূরত্ব = স্কয়ার্ট (একটি ^ 2 + বি ^ 2)

আগ্রহের আরেকটি নোট হ'ল আপনি যদি কেবল দূরত্বের সাথে তুলনা করেন তবে আপনাকে বর্গমূল (যা তুলনামূলকভাবে ব্যয়বহুল হতে পারে) নিতে হবে না। এজন্য বেশিরভাগ ফ্রেমওয়ার্কগুলিতে তাদের ভেক্টরগুলির জন্য একটি "দূরত্ব স্কোয়ার্ড" বা "দৈর্ঘ্যের স্কোয়ার্ড" ফাংশন থাকে।


1
আমি নিশ্চিত যে আমি এই সাইটে এর আগে অন্য কোথাও এটি পড়েছি :)
রিকিট

অবশ্যই, এই পোস্টটি সেই থ্রেড / মন্তব্য দ্বারা অনুপ্রাণিত হয়েছিল।
টেট্রাড

আমি এখানে কিছু
ডিজি

2
আরও সাধারণভাবে, একটি ভেক্টরের দৈর্ঘ্য হ'ল নিজের সাথে ডট পণ্যটির বর্গমূল। সুতরাং, sqrt(V dot V)এটির দৈর্ঘ্য। সুতরাং, দুটো বিন্দুর মধ্যে দূরত্ব হল:sqrt((A-B) dot (A-B))
greyfade

এছাড়াও এটি ট্রিগ পরিচয় sin² (x) + cos² (x) = 1 এর প্রসঙ্গে এটিকে বোঝা দুর্দান্ত

19
  • ভেক্টর 3 ডি এবং 4 ডি, এবং ডাব্লু উপাদানটি কী সেট করা উচিত both
  • বাম-হাত এবং ডান-হাত সমন্বিত সিস্টেমগুলি এবং আপনার গেমটি কোনটি
  • ডট পণ্য এবং এটি কীসের জন্য দরকারী
  • ক্রস পণ্য, এবং এটি কী জন্য দরকারী
  • ম্যাট্রিকেস, কীভাবে তারা ওরিয়েন্টেশন এবং অবস্থানের প্রতিনিধিত্ব করে এবং আপনি কীভাবে তাদের একত্রিত করতে পারেন
  • কোয়াটেরনিয়ন

এমনকি আপনি গ্রাফিক্স গাই না হলেও আপনি 80% সময় ভেক্টর এবং ভেক্টর ম্যাথ ব্যবহার করতে যাচ্ছেন। তারা আমাদের মজাদার বোলোনিজের পেঁয়াজ।


4
এটি কোনও খারাপ তালিকা নয়, তবে আমি আরও বর্ণনামূলক উত্তরের আশা করছি was অর্থাৎ ডট পণ্য সূত্রটি কী, এর অর্থ এবং এটি কীভাবে কার্যকর।
টেট্রাড

3
@ টেট্রাড উইকিপিডিয়া আপনাকে দেয় না? en.wikedia.org/wiki/Dot_product#Difinition
জোনাথন ফিশফফ 22

1
গেমস জন্য বিশেষভাবে না, না।
টেট্রাড

5
এটা করে. এটি আপনাকে জানায় যে বিন্দুর পণ্যটি কোণার কোসাইন। আপনার যা জানার দরকার তা হ'ল (এবং জানতেও পারেন), কারণ অ্যাপ্লিকেশনটি আপনি কীসের জন্য এটি ব্যবহার করতে চান তার উপর নির্ভরশীল। ওরিয়েন্টিং এআই? আপনার কোণ দরকার, তাই বিন্দুটি আপনার বন্ধু। রেন্ডারিং লাইট? আপনার কোণ দরকার। যা যা বলা যায় তা হ'ল এটি (এই ক্ষেত্রে ডট পণ্য) ভেক্টর এ এর ​​দৈর্ঘ্যের কোণ দৈর্ঘ্যের কোণ, কোষের দৈর্ঘ্যের খ এর কোসাইনকে সংজ্ঞায়িত করে। সেই জ্ঞানই দেওয়া যায়। অ্যাপ্লিকেশন অসীম হওয়ায় এর কোন অংশটি ব্যবহার করবেন এবং কীভাবে তা বলা যায় না।
কাজ


10

আমরা মজবুতভাবে আকঁড়ে +, -, *, এবং /। এগুলি ব্যতীত, আপনি সম্পূর্ণ বিভ্রান্ত


12
আমি মনে করি আমরা সকলেই এটি একমত হতে পারি যে প্রশ্নটি জিজ্ঞাসা করছিল তা নয়। (এছাড়াও আপনি% ভুলে গেছেন)
কোডরেঞ্জার

2
অন্যান্য উত্তরগুলি এর জন্য ভোট দেওয়া (প্রাথমিক গাণিতিক) ....
আরসিআইএক্স

7
কেবল মৌলিক গাণিতিক নয়, তবে বোঝা যাচ্ছে কীভাবে সমস্ত অপারেশনগুলি দ্বিগুণ-পরিপূরক, নির্দিষ্ট পয়েন্ট এবং আইইইই ভাসমান পয়েন্ট পরিবেশে কাজ করে। কেন 0.1 * 3! = 0.3, বা -x আপনি যা প্রত্যাশা করেন না তা কেন দৃ a়ভাবে উপলব্ধি ছাড়াই আপনি বিভ্রান্ত হয়ে পড়েছেন।

1
@ ইউজার I৪৪ আমি আসলেই বোকা, এই যাদু কি?
নিয়ন ওয়ার্জ

9

হ্যাঁ, গেম প্রোগ্রামিং বেশ গনিত-নিবিড় হতে থাকে। আপনার কী গণিতের প্রয়োজন তা নির্ভর করে আপনি কী কাজ করছেন তার উপর। বেসিক পাটিগণিত অবশ্যই একটি আবশ্যক, যেমনটি সমস্ত প্রোগ্রামিংয়ে রয়েছে। যে অতিক্রম:

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

যদি আপনি কোনও ধরণের দূরবর্তী বাস্তববাদী পদার্থবিজ্ঞানের মডেল করতে চান তবে তার জন্য আপনার ক্যালকুলাস প্রয়োজন। (এটিই নিউটনকে ক্যালকুলাস আবিষ্কার করতে পেরেছিল, পুরোপুরি।)

পাগল পরিমাণে পরীক্ষা এবং ত্রুটি ছাড়াই বুদ্ধিমান ফলাফল পেতে কোনও প্রকার সম্ভাবনার গণনার জন্য পরিসংখ্যান এবং সম্ভাবনা তত্ত্বের জ্ঞান প্রয়োজন।

সম্ভবত আরও অনেক কিছু আছে, তবে এটি আমার মাথার উপরের দিক থেকে মনে আসে।


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

তোরণটির জন্য কোনও ট্রিগের প্রয়োজন নেই, কেবল ব্যবহার করুন s=u.t + a.t.t/2। প্রারম্ভিক গতি পেতে আপনার ত্রি প্রয়োজন (ইউ) যদিও।
Skizz

কেন এই উচ্চতর হয় না? আমি যে অর্ধেক প্রোগ্রামারগুলির সাথে কাজ করেছি সেগুলি তাদের জীবনের জন্য সাইন এবং কোসাইন ব্যবহার করতে পারে না।
zaratustra

@ স্কিজ: হ্যাঁ একটি কোণ এবং শক্তিটিকে প্রাথমিক ভেক্টরে রূপান্তর করতে আপনার ট্রিগার দরকার। এর পরে আপনার কেবল একটি অ্যানিমেশন লুপ এবং মহাকর্ষীয় ধ্রুবক প্রয়োজন।
ম্যাসন হুইলারের

9

খুব কমপক্ষে আপনার প্রয়োজন হবে।

  • বীজগণিত
  • বেসিক জ্যামিতি
  • বেসিক ত্রিকোণমিতি

আপনি ভেক্টর অপারেশন সম্পর্কে কমপক্ষে একটি কার্যকরী জ্ঞানও পেতে চাইবেন এবং আপনি ম্যাট্রিক্স কী এবং এটি কী ব্যবহার করতে পারবেন তা জানতে চাইবেন যদিও বিশদটি কঠোরভাবে প্রয়োজনীয় হবে না।

আপনি যদি গ্রাফিক্স প্রোগ্রামিংয়ে যেতে চান তবে আপনাকে আরও অনেক গণিত জ্ঞানের একটি নরকের প্রয়োজন হবে, তবে সাধারণ গেমপ্লে প্রোগ্রামিং করার পক্ষে গণিতটি নিবিড় হওয়ার দরকার নেই।


9

বাইনারি এবং হেক্সাডেসিমেল সংখ্যায়ন সিস্টেম এবং কীভাবে সেগুলিকে / দশমিক সংখ্যায় রূপান্তর করতে হয়।

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

হেক্স এতটা গুরুত্বপূর্ণ নয় (আপনি যদি 0xDEADBEEF প্রসেস করতে না চান ) তবে সর্বনিম্ন, আপনি কখন তাদের ব্যবহার করছেন এবং কেন তা চিনতে চাইবেন ।


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

আমার মনে হয় আপনি পেয়ে গেছেন Booleanএবং binaryমিশে গেছেন। গেম প্রোগ্রামিংয়ের জন্য এগুলি একদম প্রয়োজনীয় Not
স্কিজে

@ স্কিজ, ভাল পয়েন্ট - স্থির। (এবং অন্য ছোটখাট বিন্দু, এটি একটি হল উইকি - কিছুই এটিকে পরিবর্তন করা থেকে আপনি বাঁধন :)।
সাইক্লপ্স

আপনি যদি হেক্স না পড়তে পারেন, তবে এটি আপনার জন্য রূপান্তর করতে একটি সরঞ্জাম ব্যবহার করুন।
টমাস এডিং

6

কম্পিউটার প্রোগ্রামিংয়ের ফাউন্ডেশনাল ম্যাথসের কোনও উল্লেখ নেই? গ্রাফ তত্ত্ব, সংখ্যা তত্ত্ব, সেট তত্ত্ব এবং কংক্রিট গণিত, সাধারণত সবাই একত্রে বেদনাদায়ক এবং দুর্বল-শিক্ষিত শ্রেণিতে বিভক্ত হয়ে বিশ্ববিদ্যালয়ের "বিচ্ছিন্ন গণিত" নামে পরিচিত।

"মূup় বিট কৌশলগুলি" প্রতিটি ধরণের প্রোগ্রামের সময় সাশ্রয় করে (এবং এগুলি সাধারণত কিছু স্ট্রিং কৌশল এবং সেট কৌশলগুলির সমতুল্য হয়), গ্রাফের ধরণ এবং ট্র্যাভারসালগুলি সমস্ত জায়গাতেই ব্যবহৃত হয় (এমনকি আপনি কেবল এসটিএল পাত্রে বেছে নিচ্ছেন), ভাষা উচ্চ স্তরে পৌঁছে যাওয়ার কারণে এবং অ্যালগরিদমিক জটিলতা অপ্টিমাইজেশনের মূল চাবিকাঠি।


5

আমি মনে করি পেওফ ম্যাট্রিক্স একটি দুর্দান্ত প্রয়োজনীয় সরঞ্জাম। গেমগুলি প্রায়শই আরও মজাদার হয় যখন তারা কিছু আকর্ষণীয় শূন্য-সমান ফেয়ার প্লে ব্যালেন্সের কাছে যায় এবং পেওফ ম্যাট্রিকগুলি আপনাকে জটিল ক্ষেত্রে এটি মাপতে সহায়তা করে। আমি অনুমান করি যে এই উইকিপিডিয়া নিবন্ধটি যে কোনও হিসাবে ভাল, এবং এটিতে প্রাথমিক প্রয়োজনীয় ধারণাটি পাওয়া যায়: http://en.wikedia.org/wiki/Normal-form_game


এটি আমার কাছে অত্যন্ত অবৈধ মনে হয়। আপনি কি মনে করেন স্টারক্রাফ্ট বা ওয়ারক্রাফ্ট 3 এই জাতীয় পদ্ধতি ব্যবহার করে ভারসাম্যপূর্ণ ছিল? আমি এটি মনে করি না, আমি বিশ্বাস করি এটি পুনরাবৃত্তি এবং প্লেস্টেস্টিং এবং ধ্রুবক প্যাচিং ছিল।
bobobobo

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

[হদফ ঘ]?
bobobobo

1
এটি হ'ল: অ্যামাজন / গেম- আর্কিটেকচার- ডিজাইন- নতুন- সংস্করণ / pাকা / 35৩713১1344৪/… আমি আশা করি যে আমাজন সংস্করণটি বইয়ের ভিতরে অনুসন্ধান সক্রিয় করতে সক্ষম হয়েছে, কারণ এই সাইটের জন্য বিটগুলিতে উল্লেখ করার জন্য এটি দুর্দান্ত জিনিস হতে পারে। যদিও হয়ত ইন-বুক অনুসন্ধানটি অ্যামাজনটি সেভাবে কাজ করে না। যাইহোক, যেখানে তারা পে-অফ-ম্যাট্রিক্সের উপরে গিয়েছিল, উদাহরণস্বরূপ ওয়ারক্রাফ্ট ব্যবহার করে এবং জটিলতা পরিচালনার সুবিধাটি এতটাই পরিষ্কার ছিল যে এটি আমাকে তাত্ক্ষণিক রূপান্তরিত করেছিল। এটি কোনও গ্যারান্টি নয় যে ব্লিজার্ড আসলে সেই পদ্ধতির ব্যবহার করেছিল, তবে তারা স্মার্ট ছেলেরা, তাই তাদের সম্ভবত একটি গাণিতিক সমাধান ছিল ...
Kzqai

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

4

বিন্দুর পণ্যটি বুঝুন: যদি দুটি ভেক্টরের প্রায় একই দিক থাকে, (থাটা <90 ডিগ্রি), তবে ডট পণ্যটি ইতিবাচক, অন্যথায়, negativeণাত্মক। এটি যখনই প্লেয়ারের নজরে থাকে তখন পরীক্ষার জন্য এটি ব্যবহার করা যেতে পারে (ধরে নেওয়া FOV 90 ডিগ্রি)।

এবং আপনার 2 ডি গেমটিকে উচ্চ মাত্রায় সাধারণীকরণ করুন। (ভেক্টর গণনা ব্যবহার করুন)

আপনি যদি নিজেই একটি 3D ইঞ্জিন বাস্তবায়ন করতে পারেন তবে আপনি ভাল good


4

এটি আপনি কী করছেন তার উপর নির্ভর করে

সমস্ত গেম প্রোগ্রামারদের কমপক্ষে হাই স্কুল বীজগণিত জানা উচিত। এর মানে:

  • সংখ্যার একটি ভাল ধারণা
  • বেসিক গণিতের সাথে স্বাচ্ছন্দ্য (যোগ, উপ, বহু, ভাগ)
  • ত্রিকোণমিতি (পাপ এবং মহা)
  • ভেক্টর, ভেক্টরগুলির মধ্যে কোণ, বিন্দুর পণ্য, ক্রস পণ্য

আপনার গ্রাফিক্স প্রোগ্রামার অবশ্যই জানতে হবে:

আপনার পদার্থবিজ্ঞানের প্রোগ্রামারদের অবশ্যই জানতে হবে:

  • উপরের সমস্ত এবং
  • ডিফারেনশিয়াল সমীকরণ
  • সংখ্যা পদ্ধতি

3

সাইনস এবং কোসাইনগুলি ছাড়াও (যা আমি দেখা করেছি এমন 50-75% প্রোগ্রামার ব্যবহার করতে হয় তা কীভাবে জানত না), যাদুকরী চাপ-টান ফাংশন এবং এটি কোনও ভেক্টরের কোণ পেতে কীভাবে ব্যবহার করা যেতে পারে তা শিখুন।


5
বেশিরভাগ ক্ষেত্রে আপনি চান atan2যেহেতু এটি চতুর্ভুজটি নিজেই পরিচালনার যত্ন নেয়।
কোডসইনচাউস

0

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


2
er আমি quaternions উল্লেখ।
অগস্ট

আহ, দুঃখিত, আমি এটি মিস করেছি।
রাউল

3
রেন্ডারিং ইঞ্জিনে নিম্ন স্তরের অ্যানিমেশন কোড লেখার জন্য গেম প্রোগ্রামারদের 1% জন্য, চতুর্থাংশ একটি দরকারী সরঞ্জাম। অন্যান্য 99% গেম প্রোগ্রামারগুলির জন্য তাদের সত্যিকারের প্রয়োজন নেই।
Skizz

-1

গেমস তৈরি করা ভার্চুয়াল বাস্তবতায় "আসল" জীবন নিয়ে আসে। রিয়েল ওয়ার্ল্ড / মহাবিশ্ব সম্পর্কে কম জানার চেয়ে আরও বেশি ভাল :) .. গণিতটি কেবল একটি হাতিয়ার। এবং যদি আপনি কোনও পরিকল্পনা তৈরি করে থাকেন তবে আপনাকে পরিকল্পনাগুলিতে অধ্যয়নের জন্য সময় দিতে হবে।

সম্পাদনা: আমি কিছু ভুল বোঝাবুঝি দেখেছি :) .. আমি মনে করি যে গণিত অর্জনের সেটটি আপনাকে কী শাসন করতে হবে তা নির্ভর করে যা আপনি বর্ণনা করতে চান তার উপর নির্ভর করে concrete কেউ কিছুই জানে না। এবং এটি করার উপায় আরও ভাল। শুরুতে সবকিছু শিখতে হবে না, তবে সামান্য টুকরো, ব্যবহার, শিখুন, ব্যবহার ইত্যাদি শিখুন তবে আপনি যদি ভাল পরিকল্পনা করেন তবে আপনি বিকাশের সময় এটি করতে পারেন।


1
টেট্রিসে কতটা বাস্তব জীবন আছে?
দশগুণ

অনেক :)। টেট্রিস চাপের অধীনে যৌক্তিক চিন্তাভাবনা সম্পর্কে। অন্যান্য যৌক্তিক গেমগুলির মতো। এটা অনুশীলন সম্পর্কে। আরও অনুশীলন, আরও চাপ আপনি হ্যান্ডেল করতে পারেন এবং এখনও এটি থেকে মজা করতে পারেন। এটি আমার কাছে বাস্তব জীবনের মতো মনে হচ্ছে:) ...
সাম্বৌস

3
আপনি যখন প্রশ্নটি মোটামুটিভাবে সম্বোধন করতে ব্যর্থ হন তখন আপনি বোধগম্য হন না।
হাননিকট

@ স্বাস্থ্য হানিকিকট, আপনি ঠিক বলেছেন।
সাম্বসুহ

3
আমি সত্যিই যে প্রতিক্রিয়া শ্রদ্ধা।
হাননিকট

-2

সহজ উত্তর: অনেক!

বিস্তারিত উত্তর:

পাটিগণিত, প্রাথমিক এবং লিনিয়ার বীজগণিত, বেশিরভাগ ক্ষেত্রে ট্রিগ, আপনি যদি 3 ডি গেমটি তৈরি করেন তবে অবশ্যই ক্যালকুলাস এবং পদার্থবিজ্ঞানের (পদার্থবিজ্ঞানের ক্যালকুলাস প্রয়োজন)!


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