बीजगणितीय वक्र "2D-प्लेन" का एक निश्चित "1D सबसेट" है जिसे {(x,y) in R^2 : f(x,y)=0 }
एक बहुपद के शून्य के सेट के रूप में वर्णित किया जा सकता है f
। यहां हम 2D-प्लेन को असली प्लेन मानते हैं R^2
जैसे कि हम आसानी से कल्पना कर सकते हैं कि ऐसा कर्व कैसा दिख सकता है, मूल रूप से एक ऐसी चीज जिसे आप पेंसिल से खींच सकते हैं।
उदाहरण:
0 = x^2 + y^2 -1
त्रिज्या का एक वृत्त १0 = x^2 + 2y^2 -1
एक दीर्घवृत्त0 = xy
एक क्रॉस आकार, मूल रूप से x- अक्ष और y- अक्ष का मिलन0 = y^2 - x
एक परबोला0 = y^2 - (x^3 - x + 1)
एक अण्डाकार वक्र0 = x^3 + y^3 - 3xy
डेसकार्टेस के फोलियम0 = x^4 - (x^2 - y^2)
एक नींबू पानी0 = (x^2 + y^2)^2 - (x^3 - 3xy^2)
एक ट्राइफोलियम0 = (x^2 + y^2 - 1)^3 + 27x^2y^2
एक खगोल
कार्य
एक बहुपद f
(जैसा कि नीचे परिभाषित किया गया है), और x / y- श्रेणी को देखते हुए , कम से कम 100x100 पिक्सेल की एक काली और सफेद छवि का उत्पादन करता है जो एक सफेद पृष्ठभूमि पर काली रेखा के रूप में वक्र को दर्शाता है।
विवरण
रंग : आप अपनी पसंद के दो अन्य रंगों का उपयोग कर सकते हैं, बस उन्हें अलग बताना आसान होना चाहिए।
प्लॉट : एक पिक्सेल छवि के बजाय आप इस छवि को आस्की-कला के रूप में भी आउटपुट कर सकते हैं, जहां पृष्ठभूमि "पिक्सेल" को अंतरिक्ष / रेखांकित करना चाहिए या एक अन्य चरित्र जो "खाली दिखता है" और रेखा एक चरित्र से बना हो सकता है जो दिखता है " पूर्ण "की तरह M
या X
या #
।
आपको एलियासिंग के बारे में चिंता करने की आवश्यकता नहीं है।
आपको केवल उन लाइनों को प्लॉट करना होगा जहां रेखा के एक तरफ से बहुपद के परिवर्तन का संकेत मिलता है (इसका मतलब है कि आप उदाहरण के लिए मार्चिंग स्क्वायर एल्गोरिथ्म का उपयोग कर सकते हैं), आपको सही तरीके से "रोग संबंधी मामलों को प्लॉट करने की ज़रूरत नहीं है, 0 = x^2
जहां साइन करता है। लाइन के एक तरफ से दूसरी तरफ जाने पर परिवर्तन नहीं होता है। लेकिन लाइन निरंतर होनी चाहिए और विभिन्न संकेतों के क्षेत्रों को अलग करना चाहिए f(x,y)
।
बहुपद : बहुपद को (m+1) x (n+1)
गुणकों की सूची (वास्तविक) गुणकों की एक मैट्रिक्स / सूची के रूप में दिया जाता है , उदाहरण के लिए गुणांक की शर्तों को उनकी स्थिति में दिया गया है:
[ 1 * 1, 1 * x, 1 * x^2, 1 * x^3, ... , 1 * x^n ]
[ y * 1, y * x, y * x^2, y * x^4, ... , y * x^n ]
[ ... , ... , ... , ... , ... , ... ]
[ y^m * 1, y^m * x, y^m * x^2, y^m * x^3 , ..., y^m * x^n]
यदि आप पसंद करते हैं, तो आप मैट्रिक्स को वर्ग के रूप में मान सकते हैं (जो हमेशा आवश्यक शून्य-गद्दी के साथ किया जा सकता है), और यदि आप चाहें, तो आप यह भी मान सकते हैं कि मैट्रिक्स का आकार एडिशनल इनपुट के रूप में दिया गया है।
निम्नलिखित में, ऊपर के उदाहरणों को इस तरह परिभाषित मैट्रिक्स के रूप में दर्शाया गया है:
Circle: Ellipse: Parabola: Cross: Elliptic Curve: e.t.c
[-1, 0, 1] [-1, 0, 1] [ 0,-1] [ 0, 0] [-1, 1, 0,-1]
[ 0, 0, 0] [ 0, 0, 0] [ 0, 0] [ 0, 1] [ 0, 0, 0, 0]
[ 1, 0, 0] [ 2, 0, 0] [ 1, 0] [ 1, 0, 0, 0]
एक्स-रेंज / वाई-रेंज के साथ परीक्षण के मामले:
( Pastebin पर यहाँ इतना पठनीय लेकिन बेहतर कॉपी-पेस्ट-सक्षम प्रारूप उपलब्ध नहीं है ।)
Circle:
[-1, 0, 1] [-2,2] [-2,2]
[ 0, 0, 0]
[ 1, 0, 0]
Ellipse:
[-1, 0, 1] [-2,2] [-1,1]
[ 0, 0, 0]
[ 2, 0, 0]
Cross:
[ 0, 0] [-1,2] [-2,1]
[ 0, 1]
Parabola:
[ 0,-1] [-1,3] [-2,2]
[ 0, 0]
[ 1, 0]
Elliptic Curve:
[-1, 1, 0,-1] [-2,2] [-3,3]
[ 0, 0, 0, 0]
[ 1, 0, 0, 0]
Folium of Descartes:
[ 0, 0, 0, 1] [-3,3] [-3,3]
[ 0, -3, 0, 0]
[ 0, 0, 0, 0]
[ 1, 0, 0, 0]
Lemniscate:
[ 0, 0, -1, 0, 1] [-2,2] [-1,1]
[ 0, 0, 0, 0, 0]
[ 1, 0, 0, 0, 0]
Trifolium:
[ 0, 0, 0,-1, 1] [-1,1] [-1,1]
[ 0, 0, 0, 0, 0]
[ 0, 3, 2, 0, 0]
[ 0, 0, 0, 0, 0]
[ 1, 0, 0, 0, 0]
Astroid:
[ -1, 0, 3, 0, -3, 0, 1] [-1,1] [-1,1]
[ 0, 0, 0, 0, 0, 0, 0]
[ 3, 0, 21, 0, 3, 0, 0]
[ 0, 0, 0, 0, 0, 0, 0]
[ -3, 0, 3, 0, 0, 0, 0]
[ 0, 0, 0, 0, 0, 0, 0]
[ 1, 0, 0, 0, 0, 0, 0]
m
x नहीं है n
, लेकिन (m+1)
x है (n+1)
। हम इनपुट के रूप में क्या लेते हैं: m, n
या m+1,n+1
? या हम चुन सकते हैं?