সমাধান: স্পিনিং ডোনাট কোড গ

সর্বশেষ আপডেট: 09/11/2023
লেখক: C SourceTrail

স্পিনিং ডোনাট ভিজ্যুয়াল হল একটি জনপ্রিয় কোডিং উদ্যোগ, যা একটি সংক্ষিপ্ত, সহজবোধ্য অথচ আকর্ষণীয় প্রকল্প হওয়ার জন্য ডেভেলপারদের মধ্যে সাধারণ৷ এই ধারণাটি দ্বি-মাত্রিক (3D) প্রেক্ষাপটে ত্রি-মাত্রিক (2D) গ্রাফিক্স রেন্ডার করার চারপাশে ঘোরে, বিশেষত প্রোগ্রামিংয়ের মাধ্যমে একটি 3D ডোনাট আকৃতি তৈরি করে। যদিও এটি জটিল এবং চ্যালেঞ্জিং মনে হতে পারে, এটি বেশ মজাদার এবং গণিতের ভাল উপলব্ধি এবং আরও নির্দিষ্টভাবে, সাইন এবং কোসাইন ফাংশনগুলি বৃত্তাকার এবং ঘূর্ণন উপাদানগুলিতে কীভাবে অবদান রাখে তা বোঝার সাথে এটি পরিচালনাযোগ্য হয়ে ওঠে।

স্পিনিং ডোনাট ইলাস্ট্রেশনটি ASCII অক্ষরকে কাজে লাগায়, কম্পিউটার সিস্টেমে পাঠ্য উপস্থাপনার একটি ভিত্তি. একটি ডোনাট স্পিনার কম্পাইল করার জন্য সীমিত লাইব্রেরি এবং কোডিং এর সীমিত, ফোকাসড জ্ঞান প্রয়োজন। সি প্রোগ্রামিং ভাষায়, পরিষ্কার এবং দক্ষ আউটপুট তৈরি করতে আমাদের গণিতের পাশাপাশি স্ট্যান্ডার্ড লাইব্রেরিগুলিকে কাজে লাগাতে হবে।

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define A 0
#define B 0
#define X 64
#define Y 32
double k;
int main() {
double a = 0, b = 0, i, j;
for (; A<8888; b += B, a += A) {
double c = a, d = b, e = X/2 + X*sin(d*7)*(23/4+sin(b*3)/2),
       f = Y + Y*cos(d*7)*(23/4+cos(b*3)/2), g = 30*cos(d*7),
       h = X/2*(cos(c*7)*(23/4+sin(c*3)/2-sin(d*7)*(13/7+cos(a*13/2)/2)*cos(c*7)*cos(d*7*d)),
       i = X/2*(sin(c*7)*(13+cos(b*13/2)/2-sin(a*7)*(13+cos(d*13)/2)*sin(c*7)*cos(d*7));
if (0<=f && f<Y && 0<=h && h<X && d > z[(int)f][(int)h])
    p[(int)f][(int)h] = 46 + b / 4;
printf("33[0;0H%sn", (char*)p);
}
return 0;
}

নীতি এবং কোড বোঝা

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

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

ব্যবহৃত ফাংশন

আমাদের স্পিনিং ডোনাট কোডটি বিভিন্ন সি ভাষার স্ট্যান্ডার্ড লাইব্রেরি এবং গণিত ফাংশন ব্যবহার করে। math.h লাইব্রেরি প্রধানত গাণিতিক ঘোষণা এবং ফাংশন প্রদান করে, যেমন cos() এবং sin(), যা আমরা আমাদের ডোনাট ঘূর্ণনের জন্য ব্যবহার করি।

stdio.h তে সংজ্ঞায়িত printf() ফাংশনটি আমাদের স্পিনিং ডোনাটের প্রতিটি ফ্রেম প্রিন্ট করার জন্য গুরুত্বপূর্ণ, যখন pow() ফাংশনটি বর্গাকার ফিগার তৈরি করতে সাহায্য করে। Cos() এবং Sin() তাদের পর্যায়ক্রমিক প্রকৃতির কারণে আমাদের বৃত্তাকার ডোনাট আন্দোলনকে অনুকরণ করতে দেয়।

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

সম্পর্কিত পোস্ট:

মতামত দিন