সমকোণীয় সর্পিল এবং স্থানাঙ্ক গণনা বোঝা
সমকোণী সর্পিল, লগারিদমিক সর্পিল নামেও পরিচিত, আকর্ষণীয় জ্যামিতিক বক্ররেখা যা বিভিন্ন প্রাকৃতিক ঘটনা যেমন শেল এবং গ্যালাক্সিতে উপস্থিত হয়। এই সর্পিলগুলি মূল থেকে বক্ররেখা এবং রেডিয়াল রেখাগুলির মধ্যে একটি ধ্রুবক কোণ বজায় রাখে, যা তাদের অনন্য এবং দৃশ্যত আকর্ষণীয় করে তোলে। যখন এই ধরনের সর্পিলগুলির স্থানাঙ্কগুলি গণনা করার কথা আসে, তখন তাদের পিছনের গাণিতিক নীতিগুলি সতর্ক মনোযোগের প্রয়োজন।
এই নিবন্ধে, আমরা কীভাবে গণনা করতে হয় তা অন্বেষণ করব x এবং y ব্যবহার করে দুটি পরিচিত বিন্দুর মধ্যে একটি সমভুজাকার সর্পিল স্থানাঙ্ক জাভাস্ক্রিপ্ট. জুলিয়া থেকে একটি উদাহরণ রূপান্তর করে, সংখ্যাসূচক কম্পিউটিং-এর জন্য একটি জনপ্রিয় প্রোগ্রামিং ভাষা, আমরা প্রক্রিয়াটিকে ভেঙে দিতে পারি এবং এটি একটি জাভাস্ক্রিপ্ট বাস্তবায়নে অনুবাদ করতে পারি। এটি সর্পিলগুলির জ্যামিতি এবং কোডিং উভয়ের অন্তর্দৃষ্টি প্রদান করবে।
প্রক্রিয়ার মূল চ্যালেঞ্জগুলির মধ্যে একটি হল নির্দিষ্ট শর্তাবলী পরিচালনা করা, যেমন exp(-t), যা জাভাস্ক্রিপ্টে সরাসরি প্রয়োগ করার সময় বিভ্রান্তির দিকে নিয়ে যায়। লোগারিদমিক ফাংশন এবং প্রাকৃতিক সূচকীয় ফাংশন কীভাবে কাজ করে তা বোঝা গুরুত্বপূর্ণ যে দুটি বিন্দুর মধ্যে স্থানাঙ্ক গণনা করার সময় সর্পিলটি প্রত্যাশা অনুযায়ী আচরণ করে তা নিশ্চিত করার জন্য।
এই নির্দেশিকাটির মাধ্যমে, আমরা গাণিতিক প্রতিবন্ধকতাগুলিকে সমাধান করব এবং কীভাবে সঠিক স্থানাঙ্কের সাথে একটি সমভুজাকার সর্পিল আঁকতে হয় তার একটি ধাপে ধাপে ব্যাখ্যা দেব। আপনি একজন অভিজ্ঞ কোডার বা জ্যামিতিক গণিতের একজন শিক্ষানবিস হোন না কেন, এই নিবন্ধটি প্রক্রিয়াটিকে স্পষ্ট করতে সাহায্য করবে।
| আদেশ | ব্যবহারের উদাহরণ |
|---|---|
| Math.atan2() | এই কমান্ডটি সঠিক চতুর্ভুজ নির্ণয় করার জন্য চিহ্নগুলিকে বিবেচনায় নিয়ে এর দুটি আর্গুমেন্টের ভাগফলের আর্কটেনজেন্ট গণনা করতে ব্যবহৃত হয়। এটি সম্পূর্ণ কোণ ঘূর্ণন পরিচালনার জন্য Math.atan() এর চেয়ে আরও সুনির্দিষ্ট এবং দুটি বিন্দুর মধ্যে সঠিক সর্পিল কোণ গণনা করার জন্য অপরিহার্য। |
| Math.log() | Math.log() ফাংশন একটি সংখ্যার স্বাভাবিক লগারিদম (বেস e) প্রদান করে। এই ক্ষেত্রে, এটি সর্পিল এর লগারিদমিক প্রকৃতির মডেল করতে সাহায্য করে। এই ফাংশনের ইনপুটটি ইতিবাচক কিনা তা নিশ্চিত করা গুরুত্বপূর্ণ, কারণ একটি নেতিবাচক সংখ্যার লগারিদম অনির্ধারিত। |
| Math.sqrt() | এই ফাংশনটি একটি সংখ্যার বর্গমূল গণনা করে এবং এখানে কর্ণ বা দুটি বিন্দুর মধ্যে দূরত্ব গণনা করতে ব্যবহৃত হয়, যা সর্পিলের ব্যাসার্ধ নির্ধারণে মৌলিক। |
| Math.cos() | এই ত্রিকোণমিতিক ফাংশন একটি প্রদত্ত কোণের কোসাইন গণনা করে। এটি এখানে বক্ররেখার প্রতিটি বিন্দুর কোণ এবং ব্যাসার্ধের উপর ভিত্তি করে সর্পিলের x-স্থানাঙ্ক গণনা করতে ব্যবহৃত হয়। |
| Math.sin() | Math.cos() এর মতই, Math.sin() ফাংশন একটি প্রদত্ত কোণের সাইন প্রদান করে। সর্পিল গণনায়, এটি বক্ররেখার y-স্থানাঙ্ক গণনা করতে ব্যবহৃত হয়, যা সর্পিল বরাবর বিন্দুর সঠিক অবস্থান নিশ্চিত করে। |
| Math.PI | π (প্রায় 3.14159) এর মান নির্ধারণ করতে ধ্রুবক Math.PI ব্যবহার করা হয়। এটি সর্পিলের সম্পূর্ণ ঘূর্ণন গণনা করার জন্য প্রয়োজনীয়, বিশেষ করে যখন একাধিক বিপ্লব তৈরি করা হয়। |
| for (let i = 1; i | এই লুপটি সর্পিল স্থানাঙ্ক তৈরি করতে একটি নির্দিষ্ট সংখ্যক ধাপে পুনরাবৃত্তি করে। রেজোলিউশন নির্ধারণ করে যে কতগুলি পয়েন্ট সর্পিল বরাবর প্লট করা হবে, মানের উপর ভিত্তি করে একটি মসৃণ বা মোটা বক্ররেখার অনুমতি দেয়। |
| console.log() | console.log() ফাংশন একটি ডিবাগিং টুল যা কনসোলে x এবং y স্থানাঙ্ক আউটপুট করে। এটি ডেভেলপারদের যাচাই করতে দেয় যে স্পাইরাল জেনারেশন রিয়েল-টাইমে প্রতিটি পয়েন্টের স্থানাঙ্ক ট্র্যাক করে সঠিকভাবে এগিয়ে চলেছে। |
| hypotenuse() | এই কাস্টম ফাংশনটি সর্পিল ব্যাসার্ধ হিসাবে পরিবেশন করে দুটি বিন্দুর মধ্যে ইউক্লিডীয় দূরত্ব গণনা করে। এটি কোড পঠনযোগ্যতাকে সহজ করে এবং দূরত্বের গণনাকে মডুলারাইজ করে, যা সর্পিল প্লট করার কেন্দ্রবিন্দু। |
জাভাস্ক্রিপ্টে ইকুয়াঙ্গুলার স্পাইরাল স্ক্রিপ্ট বোঝা
জাভাস্ক্রিপ্টের দুটি বিন্দুর মধ্যে একটি সমকোণীয় সর্পিল গণনা করার জন্য বিকশিত স্ক্রিপ্টটিতে গাণিতিক নীতিগুলিকে কার্যকরী কোডে অনুবাদ করা জড়িত। প্রথম ধাপগুলির মধ্যে একটি হল দুটি বিন্দুর মধ্যে দূরত্ব গণনা করা, যা পিথাগোরিয়ান উপপাদ্য ব্যবহার করে করা হয়। কাস্টম ফাংশন হাইপিসি() বিন্দুর মধ্যে কর্ণ বা দূরত্ব গণনা করে p1 এবং p2. এই দূরত্বটি সর্পিল ব্যাসার্ধ সংজ্ঞায়িত করার জন্য অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি প্রাথমিক দৈর্ঘ্য প্রদান করে যা সর্পিলটি দ্বিতীয় বিন্দুর কাছাকাছি আসার সাথে সাথে ধীরে ধীরে হ্রাস পায়। দ theta_offset বিন্দুগুলির মধ্যে কৌণিক পার্থক্যের জন্য আর্কটেনজেন্ট ফাংশন ব্যবহার করে গণনা করা হয়, যাতে সর্পিল সঠিক অভিযোজনে শুরু হয়।
সর্পিল তৈরি করতে, স্ক্রিপ্টটি একটি লুপ ব্যবহার করে যা একটি নির্দিষ্ট সংখ্যক ধাপে পুনরাবৃত্তি করে, যা পরিবর্তনশীল দ্বারা সংজ্ঞায়িত করা হয় rez, যা নির্ধারণ করে কত পয়েন্ট প্লট করা হবে। প্রতিটি পুনরাবৃত্তির জন্য, এর মান t এবং থিটা মোট রেজোলিউশনের বর্তমান ধাপের ভগ্নাংশের উপর ভিত্তি করে ক্রমবর্ধমানভাবে আপডেট করা হয়। এই মানগুলি ব্যাসার্ধ এবং কোণ উভয়ই নিয়ন্ত্রণ করে যেখানে প্রতিটি বিন্দু স্থাপন করা হয়। কোণ থিটা স্পাইরালের ঘূর্ণনগত দিকটির জন্য দায়ী, এটি নিশ্চিত করে যে এটি প্রতিটি সম্পূর্ণ বৃত্তের সাথে একটি পূর্ণ বিপ্লব করে। একই সময়ে, লগারিদমিক হ্রাস t ব্যাসার্ধ হ্রাস করে, সর্পিলটিকে কেন্দ্র বিন্দুর কাছাকাছি টেনে আনে।
এই স্ক্রিপ্টের সমালোচনামূলক দিকগুলির মধ্যে একটি হল ত্রিকোণমিতিক ফাংশনগুলির ব্যবহার যেমন Math.cos() এবং গণিত পাপ() স্পাইরালের প্রতিটি বিন্দুর x এবং y স্থানাঙ্ক গণনা করতে। এই ফাংশন আপডেট কোণ ব্যবহার করে থিটা এবং ব্যাসার্ধ t বক্ররেখা বরাবর পয়েন্ট অবস্থান. এর পণ্য Math.cos() ব্যাসার্ধের সাথে x-স্থানাঙ্ক নির্ধারণ করে, যখন গণিত পাপ() y-সমন্বয় পরিচালনা করে। এই স্থানাঙ্কগুলি তারপর এর স্থানাঙ্ক যোগ করে সামঞ্জস্য করা হয় p2, গন্তব্য বিন্দু, নিশ্চিত করে যে সর্পিল দুটি বিন্দুর মধ্যে টানা হয়েছে, শুধু উৎপত্তি থেকে নয়।
এই স্ক্রিপ্টের একটি চ্যালেঞ্জ হল লগারিদমিক ফাংশন পরিচালনা করা Math.log(). যেহেতু একটি ঋণাত্মক সংখ্যার লগারিদম অনির্ধারিত, স্ক্রিপ্টটি নিশ্চিত করতে হবে t সবসময় ইতিবাচক। জন্য নেতিবাচক মান এড়ানোর মাধ্যমে t, স্ক্রিপ্ট গণনা ত্রুটি প্রতিরোধ করে যা অন্যথায় সর্পিল প্রজন্মকে ভেঙে দিতে পারে। এই সমাধানটি, যদিও ডিজাইনে সহজ, এতে লগারিদম থেকে ত্রিকোণমিতি পর্যন্ত একাধিক গাণিতিক ধারণাগুলি পরিচালনা করা জড়িত, যখন সমগ্র প্রক্রিয়াটি মসৃণ এবং রানটাইম ত্রুটিমুক্ত তা নিশ্চিত করা। কৌশলগুলির এই সংমিশ্রণটি এটিকে সমকোণী সর্পিল আঁকার জন্য একটি কার্যকর পদ্ধতি করে তোলে।
পদ্ধতি 1: একটি সমকোণী সর্পিল এর মৌলিক জাভাস্ক্রিপ্ট বাস্তবায়ন
এই সমাধানটি বিশুদ্ধ জাভাস্ক্রিপ্ট ব্যবহার করে এবং জুলিয়া উদাহরণকে রূপান্তর করে সমকোণী সর্পিল গণনা বাস্তবায়নের উপর ফোকাস করে। লগারিদমিক সর্পিল পরিচালনা করার জন্য প্রাথমিক গাণিতিক ফাংশন ব্যবহার করার উপর ভিত্তি করে পদ্ধতিটি তৈরি করা হয়েছে।
// Function to calculate the hypotenuse of a triangle given two sidesfunction hypC(a, b) {return Math.sqrt(a * a + b * b);}// Initial points and variables for the spirallet p1 = [1000, 1000], p2 = [0, 0];let r = hypC(p2[0] - p1[0], p2[1] - p1[1]);let theta_offset = Math.atan((p1[1] - p2[1]) / (p1[0] - p2[0]));let rez = 1500, rev = 5;let tRange = r, thetaRange = 2 * Math.PI * rev;// Function to generate spiral pointsfunction spiral() {for (let i = 1; i <= rez; i++) {let t = tRange * (i / rez);let theta = thetaRange * (i / rez);let x = Math.cos(theta) * r * Math.log(t) + p2[0];let y = Math.sin(theta) * r * Math.log(t) + p2[1];console.log(x, y);}}spiral();
পদ্ধতি 2: ত্রুটি হ্যান্ডলিং সহ অপ্টিমাইজ করা জাভাস্ক্রিপ্ট
এই সমাধানটি ত্রুটি হ্যান্ডলিং, ইনপুট বৈধতা, এবং প্রান্ত কেস ব্যবস্থাপনা যোগ করে মৌলিক পদ্ধতির উপর উন্নতি করে। এটি নিশ্চিত করে যে লগারিদমিক গণনায় নেতিবাচক মানগুলি এড়ানো হয় এবং সর্পিল প্রজন্ম আরও শক্তিশালী হয়।
// Helper function to calculate distance between pointsfunction hypotenuse(a, b) {return Math.sqrt(a * a + b * b);}// Initialize two points and related variableslet point1 = [1000, 1000], point2 = [0, 0];let distance = hypotenuse(point2[0] - point1[0], point2[1] - point1[1]);let thetaOffset = Math.atan2(point1[1] - point2[1], point1[0] - point2[0]);let resolution = 1500, revolutions = 5;let maxT = distance, maxTheta = 2 * Math.PI * revolutions;// Validate t to prevent issues with logarithmic calculationfunction validLog(t) {return t > 0 ? Math.log(t) : 0;}// Spiral generation with input validationfunction generateSpiral() {for (let i = 1; i <= resolution; i++) {let t = maxT * (i / resolution);let theta = maxTheta * (i / resolution);let x = Math.cos(theta) * distance * validLog(t) + point2[0];let y = Math.sin(theta) * distance * validLog(t) + point2[1];console.log(x, y);}}generateSpiral();
পদ্ধতি 3: ইউনিট পরীক্ষা সহ মডুলার জাভাস্ক্রিপ্ট
এই পদ্ধতিটি মডুলার ফাংশন তৈরি এবং সর্পিল গণনাকে বৈধ করার জন্য ইউনিট পরীক্ষা যোগ করার উপর দৃষ্টি নিবদ্ধ করে। পুনঃব্যবহারযোগ্যতা এবং পরীক্ষাযোগ্যতা নিশ্চিত করার জন্য প্রতিটি ফাংশন আলাদা করা হয়েছে। জেসমিন পরীক্ষার জন্য ব্যবহার করা হয়।
// Module to calculate distance between two pointsexport function calculateDistance(x1, y1, x2, y2) {return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));}// Module to calculate spiral coordinatesexport function calculateSpiralCoords(point1, point2, resolution, revolutions) {let distance = calculateDistance(point1[0], point1[1], point2[0], point2[1]);let thetaOffset = Math.atan2(point1[1] - point2[1], point1[0] - point2[0]);let tRange = distance, thetaRange = 2 * Math.PI * revolutions;let coordinates = [];for (let i = 1; i <= resolution; i++) {let t = tRange * (i / resolution);let theta = thetaRange * (i / resolution);let x = Math.cos(theta) * distance * Math.log(t) + point2[0];let y = Math.sin(theta) * distance * Math.log(t) + point2[1];coordinates.push([x, y]);}return coordinates;}// Unit tests with Jasminedescribe('Spiral Module', () => {it('should calculate correct distance', () => {expect(calculateDistance(0, 0, 3, 4)).toEqual(5);});it('should generate valid spiral coordinates', () => {let coords = calculateSpiralCoords([1000, 1000], [0, 0], 1500, 5);expect(coords.length).toEqual(1500);expect(coords[0]).toBeDefined();});});
গণিত এবং প্রোগ্রামিং-এ সমকোণীয় সর্পিল ব্যবহারের অন্বেষণ
সমকোণীয় সর্পিল, লগারিদমিক সর্পিল নামেও পরিচিত, তাদের অনন্য বৈশিষ্ট্যের কারণে বহু শতাব্দী ধরে গণিতবিদদের মুগ্ধ করেছে। এই বক্ররেখার একটি গুরুত্বপূর্ণ দিক হল স্পর্শক থেকে সর্পিল এবং উৎপত্তি থেকে রেডিয়াল রেখার মধ্যে কোণটি স্থির থাকে। এই বৈশিষ্ট্যটি বিভিন্ন প্রাকৃতিক ঘটনা, যেমন গ্যালাক্সির আকার, হারিকেনের মতো আবহাওয়ার ধরণ এবং এমনকি সমুদ্রের শেলগুলিতে সমানভুজাকার সর্পিলগুলিকে উপস্থিত করে তোলে। তাদের স্বাভাবিক ঘটনা তাদের গাণিতিক অধ্যয়ন এবং কম্পিউটার সিমুলেশন উভয় ক্ষেত্রেই একটি মূল্যবান হাতিয়ার করে তোলে, বিশেষ করে জীববিজ্ঞান, পদার্থবিদ্যা এবং জ্যোতির্বিদ্যার মতো ক্ষেত্রে।
একটি প্রোগ্রামিং দৃষ্টিকোণ থেকে, ত্রিকোণমিতিক এবং লগারিদমিক ফাংশনগুলিকে একত্রিত করার জন্য সমকোণীয় সর্পিলগুলি একটি দুর্দান্ত অনুশীলন। একটি সর্পিল বরাবর পয়েন্টের স্থানাঙ্ক গণনা করার সময়, মূল ধারণা যেমন মেরু স্থানাঙ্ক এবং লগারিদমিক স্কেলিং কার্যকর হয়। এই গাণিতিক মডেলগুলিকে কার্যকরী কোডে রূপান্তর করা প্রায়শই চ্যালেঞ্জিং কিন্তু ফলপ্রসূ হয়, বিশেষ করে যখন দুটি বিন্দুর মধ্যে সুনির্দিষ্ট বক্ররেখা আঁকা। জাভাস্ক্রিপ্ট, ফাংশন মত Math.log(), Math.cos(), এবং গণিত পাপ() প্রোগ্রামারদের সঠিকভাবে সর্পিল প্লট করার অনুমতি দেয়, ভাষাটিকে এই ধরনের ভিজ্যুয়াল উপস্থাপনার জন্য উপযুক্ত করে তোলে।
উপরন্তু, গ্রাফিকাল ডিজাইন এবং ভিজ্যুয়ালাইজেশনের জন্য লগারিদমিক স্পাইরাল ব্যবহার করে ডেভেলপারদের চাক্ষুষভাবে আকর্ষণীয় এবং গাণিতিকভাবে সাউন্ড প্যাটার্ন তৈরি করতে সাহায্য করতে পারে। সর্পিলটির মসৃণ, অবিচ্ছিন্ন প্রকৃতি নিজেকে অ্যানিমেশন, কণা সিমুলেশন এবং এমনকি ডেটা ভিজ্যুয়ালাইজেশনের জন্য ভালভাবে ধার দেয় যেখানে লগারিদমিক স্কেলিং প্রয়োজনীয়। প্রদত্ত জাভাস্ক্রিপ্ট উদাহরণের মতো একটি সমকোণীয় সর্পিল কীভাবে মডেল এবং গণনা করা যায় তা বোঝা, বিকাশকারীদের গতিশীল এবং জটিল ডিজাইন তৈরির জন্য গভীর অন্তর্দৃষ্টি প্রদান করতে পারে, তাদের প্রোগ্রামিং দক্ষতা সেটকে আরও উন্নত করে।
Equiangular spirals এবং JavaScript সম্পর্কে সাধারণ প্রশ্ন
- একটি সমকোণী সর্পিল কি?
- একটি সমভুজাকার সর্পিল হল একটি বক্ররেখা যেখানে উৎস থেকে স্পর্শক এবং রেডিয়াল রেখার মধ্যে কোণটি স্থির থাকে।
- কিভাবে একটি সমভুজাকার সর্পিল একটি নিয়মিত সর্পিল থেকে আলাদা?
- একটি সমভুজাকার সর্পিল স্পর্শক এবং ব্যাসার্ধের মধ্যে একটি ধ্রুবক কোণ বজায় রাখে, যখন একটি নিয়মিত সর্পিলের বক্রতা পরিবর্তিত হতে পারে। এটি প্রায়শই লগারিদমিক প্যাটার্ন অনুসরণ করে।
- সর্পিল স্থানাঙ্ক গণনা করতে কোন জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করা হয়?
- মূল ফাংশন অন্তর্ভুক্ত Math.log() লগারিদমিক স্কেলিং এর জন্য, Math.cos() এবং Math.sin() ত্রিকোণমিতিক গণনার জন্য, এবং Math.atan2() কোণ অফসেট জন্য.
- কেন জাভাস্ক্রিপ্টে লগারিদমিক ফাংশন নেতিবাচক সংখ্যা সহ একটি ত্রুটি ফেরত দেয়?
- ফাংশন Math.log() নেতিবাচক ইনপুটগুলি পরিচালনা করতে পারে না কারণ একটি নেতিবাচক সংখ্যার লগারিদম বাস্তব সংখ্যা গণনায় অনির্ধারিত।
- আমি কিভাবে নিশ্চিত করতে পারি যে আমার সর্পিল গণনা জাভাস্ক্রিপ্টে সঠিকভাবে কাজ করছে?
- মত ফাংশন সব ইনপুট নিশ্চিত করে Math.log() ইতিবাচক, এবং শূন্যের মতো প্রান্তের ক্ষেত্রে পরিচালনা করা, আপনি সর্পিল প্রজন্মের সময় ত্রুটিগুলি প্রতিরোধ করতে পারেন।
সর্পিল গণনা সম্পর্কে চূড়ান্ত চিন্তা
এই নিবন্ধে, আমরা জাভাস্ক্রিপ্ট ব্যবহার করে দুটি পরিচিত বিন্দুর মধ্যে একটি সমকোণীয় সর্পিল গণনা করার বিষয়ে আলোচনা করেছি। জুলিয়ার উদাহরণকে রূপান্তর করে, আমরা লগারিদমিক ফাংশন পরিচালনা এবং সর্পিল সঠিক পথ অনুসরণ করে তা নিশ্চিত করার মতো চ্যালেঞ্জগুলি কাটিয়ে উঠেছি।
যেমন ফাংশন ব্যবহার বোঝা Math.log() এবং Math.atan2() এই গাণিতিক সমস্যা সমাধানে গুরুত্বপূর্ণ। সঠিক প্রয়োগের সাথে, এই কোডটি বিভিন্ন ব্যবহারের ক্ষেত্রে, গ্রাফিক্স, ডেটা ভিজ্যুয়ালাইজেশন বা অ্যানিমেশনের জন্য অভিযোজিত হতে পারে।
জাভাস্ক্রিপ্টে সর্পিল গণনার জন্য উত্স এবং তথ্যসূত্র
- জুলিয়াতে কীভাবে একটি সমকোণাকার সর্পিল গণনা করা যায় তার বিশদ বিবরণ এবং এর গাণিতিক নীতিগুলি এখানে পাওয়া যাবে জুলিয়া ডিসকোর্স .
- ত্রিকোণমিতিক এবং লগারিদমিক ফাংশন সহ জাভাস্ক্রিপ্টে গাণিতিক ফাংশন বাস্তবায়নের অতিরিক্ত রেফারেন্সের জন্য, দেখুন MDN ওয়েব ডক্স .
- পোলার স্থানাঙ্কের ধারণা এবং প্রোগ্রামিংয়ে তাদের ব্যবহারিক প্রয়োগগুলি ভালভাবে নথিভুক্ত করা হয়েছে উলফ্রাম ম্যাথওয়ার্ল্ড .