বীজগণিত বক্রাকার চক্রান্তকারী


14

একটি বীজগাণিতিক বক্ররেখা "2D-সমতল" শূন্য সেট হিসাবে বর্ণনা করা যায় যে একটি নির্দিষ্ট "1D উপসেট" হয় {(x,y) in R^2 : f(x,y)=0 }একটি বহুপদী এর f। এখানে আমরা 2 ডি-প্লেনটিকে আসল বিমান হিসাবে বিবেচনা করি R^2যাতে আমরা সহজেই কল্পনা করতে পারি যে এরকম বক্ররেখা কেমন হতে পারে, মূলত এমন একটি জিনিস যা আপনি পেন্সিল দিয়ে আঁকতে পারেন।

উদাহরণ:

  • 0 = x^2 + y^2 -1 ব্যাসার্ধের বৃত্ত 1
  • 0 = x^2 + 2y^2 -1 একটি উপবৃত্ত
  • 0 = xy একটি ক্রস আকার, মূলত এক্স-অক্ষ এবং 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 পিক্সেলের একটি কালো এবং সাদা চিত্র আউটপুট দেয় যা একটি সাদা পটভূমিতে বক্ররেখাকে কালো রেখা হিসাবে দেখায়।

বিস্তারিত

রঙ : আপনি নিজের পছন্দের দুটি অন্য রঙ ব্যবহার করতে পারেন, এগুলি কেবল আলাদা করে বলা সহজ হওয়া উচিত।

প্লট : পিক্সেল চিত্রের পরিবর্তে আপনি এই চিত্রটিকে ascii-art হিসাবে আউটপুটও করতে পারেন, যেখানে ব্যাকগ্রাউন্ড "পিক্সেল" স্থান / আন্ডারলাইন হওয়া উচিত বা অন্য কোনও অক্ষর যা "খালি দেখায়" এবং লাইনটি এমন একটি অক্ষর দিয়ে তৈরি করা যেতে পারে যা দেখায় " পূর্ণ "মত Mবা Xবা #

আপনাকে এলিয়াসিংয়ের বিষয়ে চিন্তা করতে হবে না।

আপনার কেবল লাইনগুলি প্লট করতে হবে যেখানে লাইনটির একপাশ থেকে অন্যদিকে বহুবর্ষের চিহ্নটি পরিবর্তিত হয় (যার অর্থ আপনি উদাহরণস্বরূপ মার্চিং স্কোয়ার অ্যালগরিদমটি ব্যবহার করতে পারেন), আপনাকে সঠিকভাবে প্লট করতে হবে না 0 = x^2যেখানে "চিহ্নগুলি যেখানে সেরকমটি করে না" লাইনের একপাশ থেকে অন্য দিকে যাওয়ার সময় পরিবর্তন হবে না But তবে লাইনটি ধারাবাহিক হওয়া উচিত এবং বিভিন্ন চিহ্নের অঞ্চলগুলি পৃথক করে 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]

এক্স-রেঞ্জ / ওয়াই-রেঞ্জের সাথে পরীক্ষার ক্ষেত্রে:

(এতটা পঠনযোগ্য নয় তবে ভাল কপি-পেস্ট-সক্ষম বিন্যাসটি এখানে পেস্টবিনে উপলভ্য )

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]

আমি এই পিডিএফ থেকে কিছু বক্ররেখার জন্য অনুপ্রেরণা পেয়েছি


" আপনাকে এলিয়াসিংয়ের বিষয়ে চিন্তা করার দরকার নেই " এর অর্থ কি এর কেন্দ্রটি লাইনে রয়েছে কিনা তা অনুযায়ী আমরা কেবল প্রতিটি পিক্সেল রঙ করতে পারি?
পিটার টেলর

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

ম্যাট্রিক্স mএক্স নয় n, (m+1)এক্স (n+1)। আমরা ইনপুট হিসাবে কি গ্রহণ করব:, m, nবা m+1,n+1? নাকি আমরা বেছে নিতে পারি?
লুইস মেন্ডো

আমরা কি নতুন উইন্ডোতে গ্র্যাফড ফাংশনটি কেবল প্রদর্শন করতে পারি?
আর কাপ,

1
@ লুইস মেন্ডো হ্যাঁ, অক্ষগুলি আপনার পছন্দ মতো কোনও দিক হতে পারে। (যতক্ষণ না এগুলি অরথোগোনাল =)
ফ্ল্যাওয়ার করুন

উত্তর:


10

হাস্কেল, 283 275 বাইট

ফাংশনটি gম্যাট্রিক্স এবং দুটি রেঞ্জের সাথে আর্গুমেন্ট হিসাবে কল করা উচিত। ম্যাট্রিক্স কেবলমাত্র তালিকার একটি তালিকা, প্রতিটি দুটি উপাদান তালিকার ব্যাপ্তি।

import Data.List
t=transpose
u=tail
z=zipWith
l%x=sum$z(*)l$iterate(*x)1                                   --generate powers and multiply with coefficients
e m y x=[l%x|l<-m]%y                                         --evaluate the encoded polynomial
a#b=[a,a+(b-a)/102..b]                                       --create a range
g m[u,w][i,j]=unlines$v[map((0<).e m y)$u#w|y<-i#j]          --evaluate the function on the grid, get the sign
f g=u[u$u$map fst$scanl(\(r,l)c->(c==l,c))(1<0,1<0) l|l<-g]  --find +- or -+ transitions within lines
a&b|a&&b=' '|0<1='#'                                         --helper function for creating the string
v g=z(z(&))(f g)(t$f$t g)                                    --create the string

আরও আকর্ষণীয় মামলার ফলাফল এখানে: নোট করুন যে আমাকে পুনর্বিবেচনাটি 100x100 থেকে প্রায় 40x40 তে কমাতে হয়েছিল যে এটি কনসলে ফিট করে (কেবল হার্ডকোডযুক্ত 102 কে একটি ছোট সংখ্যায় পরিবর্তন করুন)। আরও মনে রাখবেন যে y- অক্ষগুলি নীচের দিকে ইশারা করছে।


আপনি এখানে বেশ কয়েকটি ছোট ছোট গল্ফ তৈরি করতে পারেন। শেষ লাইনটি প্যারেন্স ব্যবহার করে যখন এটি $বাইট সংরক্ষণ করতে ব্যবহার করতে পারে। উভয় জায়গাগুলি যেখানে আপনি ব্যবহার mapকরতে পারেন (<$>)এবং যেহেতু আপনি কেবল eএকবার ব্যবহার করেন আপনি (0<)এর সংজ্ঞাটি ভিতরে টানতে পারবেন । 3 বাইট সংরক্ষণ করার জন্যও eনামকরণ (!)করা যেতে পারে ।
পোস্ট রক গার্ফ হান্টার

আর infixing zসংজ্ঞা vআপনি 4 প্রথম বন্ধনী (প্রায় পরিত্রাণ পেতে করার অনুমতি দেয় z(&)এবং f g)।
পোস্ট রক গার্ফ হান্টার

আপনি #একটি একক অক্ষর (যেমন s) এর নাম পরিবর্তন করতে পারেন এবং তালিকার পরিবর্তে এটির সাথে প্যাটার্নটি মিলিয়ে দিতে পারেন g। (যেমন s[a,b]=[a,a+(b-a)/102..b];g m u i=unlines$v[m!y<$>s u|y<-s i])
পোস্ট রক গার্ফ হান্টার

6

মতলব, 114 100 92 বাইট

কাজের জন্য সঠিক সরঞ্জাম? আমি মাতলাব printfএকটি স্ট্রিং হিসাবে বহুবর্ষ তৈরির জন্য আকর্ষণীয় উপায়ে ব্যবহার করি । এই বহুপদীটি ezplotনির্দিষ্ট ডোমেনে অন্তর্নিহিত বক্ররেখা প্লট করতে পারে । পাঠযোগ্যতার জন্য কোডটি নতুন লাইনের পরে উপস্থাপিত হয়; যা প্রয়োজন হয় না এবং আকার হিসাবে গণনা করা হয় না।

function P(A,W,H,h,w)
t=0:h*w-1;
ezplot(sprintf('+%d*x^%.0f*y^%d',[A(:)';t/h;rem(t,h)]),[W,H])

প্রসারণযোগ্য স্নিপেট হিসাবে গল্ফিং অগ্রগতি।


পরীক্ষার কেসগুলির ফলাফল (সম্পূর্ণ দেখার জন্য ক্লিক করুন): পরীক্ষার মামলা


2
সত্যিই দুর্দান্ত সমাধান ব্যবহার করে sprintf/ezplot!
flawr

fixপরিবর্তে ব্যবহার করা floorআপনাকে দ্বি-অঙ্কের বাইট
গণনাটিতে

আপনি [h,w]=size(A);t=0:h*w-1;আরও তিনটি বাইট সংরক্ষণ করতে ব্যবহার করতে পারেন !
flawr

লুইস মেন্ডো আসলে, আমি আরও ভাল করতে পারি। আমি দুঃখ পেয়েছিলাম যে মতলবের প্রিন্টফের কোনও পূর্ণসংখ্যার স্থানধারক নেই, তবে এটি এখনও পছন্দ মতো জিনিসগুলিকে সমর্থন করে %.0f। তার মানে আমি পুরোপুরি মেঝে ফেলে দিতে পারি printfএবং এটি ঠিক করতে দিই !
অ্যালগমির

@ ফ্লোয়ার আমি এর দ্বিতীয় অংশটি পরবর্তী পুনরাবৃত্তিতে ব্যবহার করি। আমি বুঝতে পারি সর্বশেষ সংস্করণ সহ আমার ফর্ম্যাটটি পুরোপুরি সুস্পষ্ট ছিল না। এই স্ফটিকটি পরিষ্কার করার জন্য সম্পাদিত বিন্যাসকরণ।
অ্যালগমির

6

পাইথন 2, 261 বাইট

E=enumerate
M,[a,c],[b,d]=input()
e=(c-a)/199.
I=200
J=-int((b-d)/e-1)
print'P2',I,J,255
i=I*J
while i:i-=1;x,y=c-i%I*e,b+i/I*e;u,v,w=map(sum,zip(*((z*p/x,z*q/y,z)for q,R in E(M)for p,t in E(R)for z in[t*x**p*y**q])));print int(255*min(1,(w*w/(u*u+v*v))**.5/e))

ইনপুট ফর্ম্যাট: matrix,xbounds,ybounds(যেমন [[-1,0,1],[0,0,0],[1,0,0]],[-2,2],[-2,2])। আউটপুট ফর্ম্যাট: সরল পিজিএম

এটি প্রতিটি পিক্সেল কেন্দ্র থেকে শুরু করে প্রথম অর্ডারের আনুমানিক d ( x , y ) ব্যবহার করে বক্ররেখার দূরত্বটি অনুমান করে = | p ( x , y ) | / | ∇ পি ( x , y ) |, যেখানে ∇ p হল বহুপদী p এর গ্রেডিয়েন্ট । (এটি ( x , y ) থেকে স্পর্শাকার বিমানের ছেদ থেকে ( x , y , p ( x , d ( x , y) এর দূরত্ব Y )) সঙ্গে XY -plane।) তারপর পিক্সেল যেখানে (এক্স, y) সাথে আনুপাতিকভাবে বক্রের এক পিক্সেল প্রস্থের কম হয়), ফলে দুর্দান্ত অ্যান্টিয়ালাইজড লাইন তৈরি হয় (যদিও এটি প্রয়োজনীয়তা নয়)।

আউটপুট

দূরত্বের ক্রিয়াকলাপের সাথে 16 টি ভাগ করে এটি দৃশ্যমান করার জন্য এখানে একই গ্রাফগুলি রয়েছে


অপেক্ষা করুন, তাহলে কোডটিতে আসল গ্রাফিকাল প্লটিংটি কোথায় ঘটে?
আর কাপ,

@ আর.ক্যাপ কোডটি প্লেজ পিজিএম ফর্ম্যাটে স্টডআউটে একটি চিত্র লিখেছে। সেখানে এক printইমেজ হেডারের জন্য বিবৃতি এবং এক printবিবৃতি whileপ্রতিটি পিক্সেল এর মান জন্য লুপ।
অ্যান্ডারস কাসরগ

বাহ, এটা সত্যিই দুর্দান্ত! আপনার প্লট করা অ্যালগরিদম সম্পর্কে গভীরতায় আরও কিছুটা যেতে আপনার কি মনে হবে?
flawr

@ ফ্লোয়ার আমি ব্যাখ্যাটি কিছুটা প্রসারিত করেছি; এটি কি আপনার প্রশ্নের উত্তর দেয়?
অ্যান্ডারস কাসের্গ

@ আন্ডারস ক্যাসরগ হ্যাঁ, আপনাকে অনেক ধন্যবাদ!
flawr

5

পাইথন 3.5 3.5 ম্যাটপ্লটলিব + নম্পি, 352 বাইট:

from matplotlib.pyplot import*;from numpy import*
def R(M,S,U,r=range):N=linspace;E='+'.join([str(y)+'*'+m for y,m in[q for i,g in zip(M,[[i+'*'+p for p in['1']+['x^%d'%p for p in r(1,len(M[0]))]]for i in['1']+['y^%d'%i for i in r(1,len(M))]])for q in zip(i,g)if q[0]]]);x,y=meshgrid(N(*S,200),N(*U,200));contour(x,y,eval(E.replace('^','**')),0);show()

একটি নামকরণ ফাংশন। বেশ দীর্ঘ, তবে ওহে, আমি কাজটি সম্পাদন করতে পেরে খুশি। 3 ইনপুট নেয়, যা m by nম্যাট্রিক্স, x-আরঞ্জিত এবংy অ্যারেঞ্জ, যা সমস্ত অ্যারেতে থাকা উচিত (উদাহরণস্বরূপ,[[-1,0,1],[0,0,0],[1,0,0]],[-2,2],[-2,2] )। একটি নতুন, গ্রাফিকাল, ইন্টারেক্টিভ উইন্ডোতে সম্পূর্ণ গ্রাফ আউটপুট দেয়। আমি যখন পারব তখন আরও বেশি সময় গল্ফ করে দেব তবে আপাতত আমি এতে খুশি।

পরীক্ষার মামলার চূড়ান্ত ফলাফল:

ফাইনাল আউটপুট


5

এমএটিএল , 67 61 বাইট

8Wt:qwq/t2:"wid*2M1)+i:q!^]!2&!w[1IK2]&!**ss&eZS5Y62&Y+|4=0YG

এই কোডটি ভাষাটির 18.5.0 সংস্করণে চলেছে, যা চ্যালেঞ্জের আগে। ইনপুট alচ্ছিক m, nপরামিতি ব্যবহার করে । ম্যাট্রিক্সে সারি বিভাজক হিসাবে সেমিকোলন রয়েছে। সঠিক ইনপুট ফর্ম্যাট (উদাহরণ হিসাবে প্যারাবোলা ব্যবহার করে)

[-1,3]
3  
[-2,2]
2
[0,-1; 0, 0; 1, 0]

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

এই সংকলকটি এখনও পরীক্ষামূলক পর্যায়ে রয়েছে। দয়া করে @ স্যুভারকে কোনও সমস্যা প্রতিবেদন করুনএমএটিএল চ্যাটরুমে @ । "রান" বোতামটি যদি কাজ না করে তবে পৃষ্ঠাটি সতেজ করে আবার ক্লিক করার চেষ্টা করুন।

আপনি যদি ASCII আউটপুট পছন্দ করেন তবে কোডটি কিছুটা পরিবর্তন করা দরকার (পরিবর্তনগুলি কেবলমাত্র উপরের কোডের প্রথম দুটি এবং শেষ চারটি অক্ষরকে প্রভাবিত করে):

101t:qwq/t2:"wid*2M1)+i:q!^]!2&!w[1IK2]&!**ss&eZS5Y62&Y+|4<42*c

এটি একটি 100 × 100 ASCII গ্রিড উত্পাদন করে যা *বক্রের প্রতিনিধিত্ব করতে অক্ষর ব্যবহার করে। আপনি এটি @ ডেনিসের সাথেও পরীক্ষা করতে পারেন ' এটি অনলাইনে চেষ্টা করুন!প্ল্যাটফর্ম:

নোট করুন যে ASCII আউটপুটটির দিক অনুপাতটি পরিবর্তিত হয়েছে কারণ অক্ষরগুলি প্রশস্তের চেয়ে কিছুটা বেশি।

ব্যাখ্যা

কোডটি প্রথমে একটি x - y গ্রিডে দ্বি-ভেরিয়েবল বহুভুজ গণনা করে । এটি ব্রডকাস্টিংয়ের ভারী ব্যবহার করে , একটি মধ্যবর্তী 4D অ্যারে গণনা করে যেখানে প্রতিটি মাত্রা যথাক্রমে x মান, y মান, এক্স এক্সপোজার এবং y এক্সপোস্টের প্রতিনিধিত্ব করে।

সেই ফাংশন থেকে শূন্য স্তরের লাইন গণনা করা হয়। যেহেতু চ্যালেঞ্জটি উল্লেখ করে যে কেবলমাত্র সাইন পরিবর্তনগুলি সনাক্ত করা দরকার, কোডটি 2 ডি 2 টি ব্লকের সাথে 2 ডি কনভোলিউশন প্রয়োগ করে এবং ব্লকের চারটি মান একই চিহ্ন না থাকলে লাইনটির সাথে একটি পিক্সেল চিহ্নিত করে।

8W      % Push 2^8, that is, 256. (The ASCII-output version pushes 101 instead)
t:q     % Duplicate. Push range [0 1 ... 255]
wq      % Swap. Subtract 1 to obtain 255
/       % Divide. Gives normalized range [0 1/255 2/255... 1]
t       % Duplicate
2:"     % For loop: do this twice
  w     %   Swap top two elements in the stack
  i     %   Input two-number array defining x range (resp. y in second iteration)
  d     %   Difference of the two entries
  *     %   Multiply by normalized range
  2M1)  %   Push the array again and get its first entry
  +     %   Add. This gives the range for x values (resp. y)
  i     %   Input m (n in second iteration)
  :q    %   Range [0 1 ...m-1] (resp. [0 1 ...n-1])
  !     %   Convert to column array
  ^     %   Power, element-wise with broadcast. This gives a matrix of size m×256
        %   (resp. n×256) of powers of x (resp. y) for the range of values computed
        %   previously
]       % End for loop
!       % Transpose. This transforms the n×256 matrix of powers of y into 256×n
2       % Push 2
&!      % Permute dimensions 1 and 3: transforms the 256×n matrix into a 4D array
        % of size 1×n×256×1
w       % Swap top two elements in the stack: bring 256×m matrix to top
[1IK2]  % Push vector [1 3 4 2]
&!      % Permute dimensions as indicated by the vector: transforms the m×256 matrix
        % into a 4D array of size m×1×1×256
*       % Multiply element-wise with broadcast: gives 4D array of size m×n×256×256
        % with mixed powers of x and y for at the grid of x, y values
*       % Implicitly input m×n matrix. Multiply element-wise with broadcast: gives
        % 4D array of size m×n×256×256
ss      % Sum along first two dimensions: gives 4D array of size 1×1×256×256
&e      % Squeeze singleton dimensions: gives matrix of size 256×256. This is the
        % two-variable polynomial evaluated at the x, y grid.
        % Now we need to find the zero level curve of this function. We do this by 
        % detecting when the sign of the function changes along any of the two axes
ZS      % Matrix of sign values (1, 0 or -1)
5Y6     % Predefined literal: matrix [1 1; 1 1]
2&Y+    % Compute 2D convolution, keeping only the valid (central) part
|4=     % True if absolute value of result is 4, which indicates no sign changes.
        % (The ASCII version computes a negated version of this, for better display)
0YG     % Display as image. (The ASCII-output version does the following instead:
        % multiply by 42 and convert to char. 42 is ASCII for '*', and character 0 
        % is shown as space. The 2D char array is then implicitly displayed)

সমস্ত পরীক্ষার কেস

আপনি চেষ্টা করতে চান এমন ক্ষেত্রে উপযুক্ত বিন্যাসে সমস্ত ইনপুট রয়েছে:

Circle:
[-2,2]
3
[-2,2]
3
[-1, 0, 1; 0, 0, 0; 1, 0, 0]

Ellipse:
[-2,2]
3
[-1,1]
3
[-1, 0, 1; 0, 0, 0; 2, 0, 0]

Cross:
[-1,2]
2
[-2,1]
2
[0, 0; 0, 1]

Parabola:
[-1,3]
3  
[-2,2]
2
[0,-1; 0, 0; 1, 0]

Elliptic Curve:
[-2,2]
3
[-3,3]
4
[-1, 1, 0,-1; 0, 0, 0, 0; 1, 0, 0, 0]

Folium of Descartes:
[-3,3]
4
[-3,3]
4
[0,  0,  0,  1; 0, -3,  0,  0; 0,  0,  0,  0; 1,  0,  0,  0]


Lemniscate:
[-2,2]
3
[-1,1]
5
[0,  0, -1,  0,  1; 0,  0,  0,  0,  0; 1,  0,  0,  0,  0]

Trifolium:
[-1,1]
5
[-1,1]
5
[0, 0, 0,-1, 1; 0, 0, 0, 0, 0; 0, 3, 2, 0, 0; 0, 0, 0, 0, 0; 1, 0, 0, 0, 0]

Astroid
[-1,1]
7
[-1,1]
7
[-1,  0,  3,  0, -3,  0,  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]

2
পার্লের চেয়ে আরও বেশি পঠনযোগ্য। দুর্দান্ত কাজ, একটি দুর্দান্ত অনলাইন সংকলকও!
flawr

@ ফ্ললার পার্ল এলএল এর চেয়ে বেশি পঠনযোগ্য । অনলাইন সংকলক হিসাবে, এটি সব স্যুভারের কাজ!
লুইস মেন্ডো

1
@ ফ্লোয়ার এখন দৃ conv়তার সাথে!
লুইস মেন্ডো

1
<3 সমাবর্তন!
flawr
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.