একটি অ্যাপলোনিয়ান গ্যাসকেট আঁকুন


28

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

তিনটি স্পর্শকাতর বৃত্ত থেকে শুরু করে, আমরা নিম্নলিখিত প্রক্রিয়াটির দ্বারা একটি অ্যাপলোনিয়ান গসকেট নামে একটি ফ্র্যাক্টাল তৈরি করতে পারি :

  1. প্রাথমিক 3 টি চেনাশোনাগুলিকে পিতামাতার চেনাশোনাগুলিতে কল করুন
  2. মূল চেনাশোনাগুলির দুটি অ্যাপলোনিয়ান চেনাশোনাগুলি সন্ধান করুন
  3. প্রতিটি অ্যাপোলোনিয়ান চেনাশোনাগুলির জন্য:
    1. প্যারেন্ট চেনাশোনাগুলির তিনটি জোড়ার প্রতিটি জুটির জন্য:
      1. অ্যাপলোনিয়ান চেনাশোনা এবং দুটি অভিভাবক চেনাশোনাগুলিকে প্যারেন্ট সার্কেলের নতুন সেটকে কল করুন এবং পদক্ষেপ 2 থেকে শুরু করুন।

যেমন সমান আকারের চেনাশোনা দিয়ে শুরু করে আমরা পাই:

এখানে চিত্র বর্ণনা লিখুন

চিত্র উইকিপিডিয়ায় পাওয়া গেছে

আমাদের আরও একটি স্বরলিপি প্রয়োজন। আমরা ব্যাসার্ধ্যের একটি বৃত্ত থাকে তাহলে কেন্দ্র সঙ্গে (X, Y) , আমরা যেমন এর বক্রতা বর্ণনা করতে পারেন ট = ± 1 / R । সাধারণত কে ইতিবাচক হবে, তবে আমরা গ্যাসকেটের অন্যান্য সমস্ত বৃত্তকে আবদ্ধ করা বৃত্তটি বোঝাতে নেতিবাচক কে ব্যবহার করতে পারি (অর্থাত্ সমস্ত স্পর্শকগুলি এই বৃত্তটি ভিতর থেকে স্পর্শ করে)। তারপরে আমরা সংখ্যার ট্রিপলেট সহ একটি বৃত্ত নির্দিষ্ট করতে পারি: (কে, এক্স * কে, y * কে)

এই প্রশ্নের প্রয়োজনের জন্য, আমরা ধনাত্মক পূর্ণসংখ্যার কে এবং যৌক্তিক x এবং y ধরে নেব

এই জাতীয় বৃত্তের আরও উদাহরণ উইকিপিডিয়া নিবন্ধে পাওয়া যাবে

এই নিবন্ধে অবিচ্ছেদ্য গ্যাসকেট সম্পর্কে কিছু আকর্ষণীয় জিনিস রয়েছে (চেনাশোনা সহ অন্যান্য মজাদার জিনিসগুলির মধ্যে)।

চ্যালেঞ্জ

আপনাকে 4 টি বৃত্তের স্পেসিফিকেশন দেওয়া হবে , যার প্রতিটির মতো দেখাবে (14, 28/35, -112/105)। আপনি যে কোনও তালিকার বিন্যাস এবং বিভাগ অপারেটরকে সুবিধাজনক, যেমন আপনি সহজেই পারেন তা ব্যবহার করতে পারেনeval যদি চান তবে ইনপুট করতে পারেন। আপনি ধরে নিতে পারেন যে 4 টি চেনাশোনা একে অপরের কাছে স্পর্শকাতর এবং তাদের মধ্যে প্রথমটির নেতিবাচক বক্রতা রয়েছে। এর অর্থ আপনাকে অন্য তিনটির আশেপাশের অ্যাপোলোনিয়ান চেনাশোনা দেওয়া হয়েছে। বৈধ উদাহরণ ইনপুটগুলির তালিকার জন্য, চ্যালেঞ্জটির নীচে দেখুন।

এমন কোনও প্রোগ্রাম বা ফাংশন লিখুন যা এই ইনপুটটি দিয়ে একটি অ্যাপলোনিয়ান গ্যাসকেট আঁকবে।

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

যদি ফলাফলটি ইমেজটিকে জালিয়াতিযুক্ত করা হয়, তবে এটি অবশ্যই সর্বত্র সর্বনিম্ন 400 পিক্সেল হতে হবে, বৃহত্তম বৃত্তের 20% এরও কম প্যাডিং সহ। আপনি যখন সর্বকালের বৃহত্তম ইনপুট চেনাশোনার 400 তম এর চেয়ে কম ব্যাসার্ধ বা পিক্সেলের চেয়ে ছোট চেনাশোনাগুলির মধ্যে পৌঁছালে আপনি পুনরাবৃত্তি থামিয়ে দিতে পারেন।

আপনাকে অবশ্যই কেবলমাত্র বৃত্তের রূপরেখা আঁকতে হবে, পুরো ডিস্কগুলি নয়, তবে পটভূমি এবং রেখার রঙগুলি আপনার পছন্দ। বাহ্যরেখাগুলি অবশ্যই বাইরের বৃত্তের ব্যাসের 200 তম চেয়ে বৃহত্তর হওয়া উচিত নয়।

এটি কোড গল্ফ, তাই সংক্ষিপ্ত উত্তরটি (বাইটে) জেতে।

উদাহরণ ইনপুট

নির্ধারিত ইনপুট ফর্ম্যাটে রূপান্তরিত উইকিপিডিয়া নিবন্ধ থেকে সমস্ত অবিচ্ছেদ্য গ্যাসকেট এখানে রয়েছে:

[[-1, 0, 0], [2, 1, 0], [2, -1, 0], [3, 0, 2]]
[[-2, 0, 0], [3, 1/2, 0], [6, -2, 0], [7, -3/2, 2]]
[[-3, 0, 0], [4, 1/3, 0], [12, -3, 0], [13, -8/3, 2]]
[[-3, 0, 0], [5, 2/3, 0], [8, -4/3, -1], [8, -4/3, 1]]
[[-4, 0, 0], [5, 1/4, 0], [20, -4, 0], [21, -15/4, 2]]
[[-4, 0, 0], [8, 1, 0], [9, -3/4, -1], [9, -3/4, 1]]
[[-5, 0, 0], [6, 1/5, 0], [30, -5, 0], [31, -24/5, 2]]
[[-5, 0, 0], [7, 2/5, 0], [18, -12/5, -1], [18, -12/5, 1]]
[[-6, 0, 0], [7, 1/6, 0], [42, -6, 0], [43, -35/6, 2]]
[[-6, 0, 0], [10, 2/3, 0], [15, -3/2, 0], [19, -5/6, 2]]
[[-6, 0, 0], [11, 5/6, 0], [14, -16/15, -4/5], [15, -9/10, 6/5]]
[[-7, 0, 0], [8, 1/7, 0], [56, -7, 0], [57, -48/7, 2]]
[[-7, 0, 0], [9, 2/7, 0], [32, -24/7, -1], [32, -24/7, 1]]
[[-7, 0, 0], [12, 5/7, 0], [17, -48/35, -2/5], [20, -33/35, 8/5]]
[[-8, 0, 0], [9, 1/8, 0], [72, -8, 0], [73, -63/8, 2]]
[[-8, 0, 0], [12, 1/2, 0], [25, -15/8, -1], [25, -15/8, 1]]
[[-8, 0, 0], [13, 5/8, 0], [21, -63/40, -2/5], [24, -6/5, 8/5]]
[[-9, 0, 0], [10, 1/9, 0], [90, -9, 0], [91, -80/9, 2]]
[[-9, 0, 0], [11, 2/9, 0], [50, -40/9, -1], [50, -40/9, 1]]
[[-9, 0, 0], [14, 5/9, 0], [26, -77/45, -4/5], [27, -8/5, 6/5]]
[[-9, 0, 0], [18, 1, 0], [19, -8/9, -2/3], [22, -5/9, 4/3]]
[[-10, 0, 0], [11, 1/10, 0], [110, -10, 0], [111, -99/10, 2]]
[[-10, 0, 0], [14, 2/5, 0], [35, -5/2, 0], [39, -21/10, 2]]
[[-10, 0, 0], [18, 4/5, 0], [23, -6/5, -1/2], [27, -4/5, 3/2]]
[[-11, 0, 0], [12, 1/11, 0], [132, -11, 0], [133, -120/11, 2]]
[[-11, 0, 0], [13, 2/11, 0], [72, -60/11, -1], [72, -60/11, 1]]
[[-11, 0, 0], [16, 5/11, 0], [36, -117/55, -4/5], [37, -112/55, 6/5]]
[[-11, 0, 0], [21, 10/11, 0], [24, -56/55, -3/5], [28, -36/55, 7/5]]
[[-12, 0, 0], [13, 1/12, 0], [156, -12, 0], [157, -143/12, 2]]
[[-12, 0, 0], [16, 1/3, 0], [49, -35/12, -1], [49, -35/12, 1]]
[[-12, 0, 0], [17, 5/12, 0], [41, -143/60, -2/5], [44, -32/15, 8/5]]
[[-12, 0, 0], [21, 3/4, 0], [28, -4/3, 0], [37, -7/12, 2]]
[[-12, 0, 0], [21, 3/4, 0], [29, -5/4, -2/3], [32, -1, 4/3]]
[[-12, 0, 0], [25, 13/12, 0], [25, -119/156, -10/13], [28, -20/39, 16/13]]
[[-13, 0, 0], [14, 1/13, 0], [182, -13, 0], [183, -168/13, 2]]
[[-13, 0, 0], [15, 2/13, 0], [98, -84/13, -1], [98, -84/13, 1]]
[[-13, 0, 0], [18, 5/13, 0], [47, -168/65, -2/5], [50, -153/65, 8/5]]
[[-13, 0, 0], [23, 10/13, 0], [30, -84/65, -1/5], [38, -44/65, 9/5]]
[[-14, 0, 0], [15, 1/14, 0], [210, -14, 0], [211, -195/14, 2]]
[[-14, 0, 0], [18, 2/7, 0], [63, -7/2, 0], [67, -45/14, 2]]
[[-14, 0, 0], [19, 5/14, 0], [54, -96/35, -4/5], [55, -187/70, 6/5]]
[[-14, 0, 0], [22, 4/7, 0], [39, -12/7, -1/2], [43, -10/7, 3/2]]
[[-14, 0, 0], [27, 13/14, 0], [31, -171/182, -10/13], [34, -66/91, 16/13]]
[[-15, 0, 0], [16, 1/15, 0], [240, -15, 0], [241, -224/15, 2]]
[[-15, 0, 0], [17, 2/15, 0], [128, -112/15, -1], [128, -112/15, 1]]
[[-15, 0, 0], [24, 3/5, 0], [40, -5/3, 0], [49, -16/15, 2]]
[[-15, 0, 0], [24, 3/5, 0], [41, -8/5, -2/3], [44, -7/5, 4/3]]
[[-15, 0, 0], [28, 13/15, 0], [33, -72/65, -6/13], [40, -25/39, 20/13]]
[[-15, 0, 0], [32, 17/15, 0], [32, -161/255, -16/17], [33, -48/85, 18/17]]

আপনার উদাহরণের উদাহরণটিতে প্রথম অপারেশনের পরে কেবলমাত্র "অভ্যন্তরীণ" অ্যাপোলোনিয়ান চেনাশোনা অন্তর্ভুক্ত করা হয়েছে বলে মনে হয়।
স্পার

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

কিছু মনে করবেন না, আপনি ঠিক বলেছেন, আমি ভুল পড়া ছিল।
স্পার

উত্তর:


12

গল্ফস্ক্রিপ্ট (২৮৯ বাইট ভেক্টর / ২77 বাইট রাস্টার)

289 বাইটে এবং একটি যুক্তিসঙ্গত সময়ে কার্যকর করা:

'/'/n*','/']['*0,`1/*~1.$[]*(~-400*:&;{1+1=*}/:D;{{1+2<~D@*\/}%}%'<svg><g fill="none" stroke="red">'puts.{[[~@:b[D&*\abs]{@&*[b]+}2*]{'.0/'*'"#{
}"'n/*~}%'<circle r="
" cx="
" cy="
" />'n/\]zip puts}:|/[{.([.;]+}3*]{(:?zip{)\~++2*\-}%:c.|0=D&*<{?);[c]+[{([.;]+.}3*;]+}*.}do'</g></svg>'

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

ইনপুট দেওয়া আউটপুট (ইঙ্কস্পেস সঙ্গে পিএনজি রূপান্তরিত) হয়[[-2, 0, 0], [3, 1/2, 0], [6, -2, 0], [7, -3/2, 2]]

গাসকেট 2/3/6/7


২৩7 বাইটে এবং অনেক বেশি সময় নিলে (আমি এক্সট্রোপোলেট করি যে উপরের মতো অনুরূপ আউটপুট উত্পাদন করতে এক সপ্তাহের বেশি সময় লাগবে, যদিও এক বিট কালো এবং সাদা):

'/'/n*','/']['*0,`1/*~1.$[]*(~-400*:&;{1+1=*}/:D;{{1+2<~D@*\/}%}%.[{.([.;]+}3*]{(:?[zip{)\~++2*\-}%:c]@+\0c=D&*<{?);[c]+[{([.;]+.}3*;]+}*.}do;:C;'P1 ''801 '2*.~:B*,{:P;C{:?[0=2/.D&*-.*\D&*+.*]{2,{P{B/}2$*B%400-?0=*\)?=&*-.*}/+<},,1=},!}/

আউটপুটটি নিউলাইনগুলি ছাড়াই নেটপিবিএম ফর্ম্যাট, সুতরাং সম্ভবত কঠোরভাবে অনুমিতটি অনুসরণ করে না, যদিও জিআইএমপি এখনও এটি লোড করবে। যদি কঠোর কনফারেন্সের প্রয়োজন nহয় তবে শেষের পরে একটি inোকান !

রাস্টেরাইজেশন প্রতিটি বৃত্তের বিপরীতে প্রতিটি পিক্সেল পরীক্ষা করে থাকে, তাই সময় নেওয়া পিক্সেলের সংখ্যা বৃত্তের সংখ্যার চেয়ে বেশ লিনিয়ার। 10 এর ফ্যাক্টর দ্বারা সমস্ত কিছু ডাউনস্কেল করে,

'/'/n*','/']['*0,`1/*~1.$[]*(~-40*:&;{1+1=*}/:D;{{1+2<~D@*\/}%}%.[{.([.;]+}3*]{(:?[zip{)\~++2*\-}%:c]@+\0c=D&*<{?);[c]+[{([.;]+.}3*;]+}*.}do;:C;'P1 ''81 '2*.~:B*,{:P;C{:?[0=2/.D&*-.*\D&*+.*]{2,{P{B/}2$*B%40-?0=*\)?=&*-.*}/+<},,1=},!}/

10 মিনিটে চলবে এবং উত্পাদন করবে

81x81 চিত্র

(জিম্পের সাথে পিএনজিতে রূপান্তরিত)। 36 ঘন্টা দেওয়া হয়েছে এটি 401x401 উত্পাদন করেছে

401x401 চিত্র


3
আমি কখনই ভাবিনি যে আপনি গল্ফস্ক্রিপ্ট দিয়ে গ্রাফিকাল আউটপুট করতে পারবেন ...
বিটা

12

জাভাস্ক্রিপ্ট ( 418 410 বাইট)

একটি ফাংশন হিসাবে প্রয়োগ করা:

function A(s){P='<svg><g fill=none stroke=red transform=translate(400,400)>';Q=[];s=eval(s);S=-400*s[0][0];function d(c){P+='<circle r='+Math.abs(p=S/c[0])+' cx='+p*c[1]+' cy='+p*c[2]+' />'}for(c=4;c--;d(s[0]),s.push(s.shift()))Q.push(s.slice());for(;s=Q.shift();d(c)){c=[];for(i=4;i--;)c[i]=2*(s[0][i]+s[1][i]+s[2][i])-s[3][i];for(i=6;c[0]<S&&i;)Q.push([s[i--%3],s[i--%3],c,s[i%3]])}document.body.innerHTML=P}

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

নোট করুন যে 8 টি বাইট ব্যবহার করে সংরক্ষণ করা যায় document.write , তবে তা জেএসফিডালকে মারাত্মকভাবে বর্ক করে।


1
আপনি সম্ভবত ES6 এর সাথে ফাংশনটি সংজ্ঞায়িত করে এবং সংরক্ষণ করতে পারেন, উদাহরণস্বরূপ, S/c[0]একটি ভেরিয়েবলের মাধ্যমে এবং তারপরে Math.absএকটি
টেরিনারি

@ ইনগোবার্ক, আমি যদি ES6 রুটে যেতে চাইতাম তবে আমি এটির পরিবর্তে কফিস্ক্রিপ্টে লিখতাম।
পিটার টেলর

হোস্ট c99.nl ব্যবহার করুন। এটি ডকুমেন্ট.ওরাইটের অনুমতি দেয়।
xem

2
এর উত্তর দেখে ভাল
লাগল

অস্থায়ী পরিবর্তনশীলটির জন্য @ ইনগোবার্কের পরামর্শ নিয়ে আপডেট হয়েছে। বাদ Math.absদিতে আসলে একটি চরিত্রের ব্যয় হয়।
পিটার টেলর

6

গণিত 289 অক্ষর

Http://arxiv.org/pdf/math/0101066v1.pdf অনুসারে বিলিনার সিস্টেমটি সমাধান করে উপপাদ্য ২.২ (অত্যন্ত অদক্ষ) ।

স্পেসগুলির প্রয়োজন নেই, এখনও এটি গল্ফ করছে:

w = {k, x, y};
d = IdentityMatrix;
j = Join;
p_~f~h_ := If[#[[-1, 1]] < 6! h,
    q = 2 d@4 - 1;
    m = #~j~{w};
    r = Complement[w /. NSolve[ And @@ j @@ 
                        MapThread[Equal, {Thread@m.q.m, 4 d@3 {0, 1, 1}}, 2], w], a];
    If[r != {},
     a~AppendTo~# & @@ r;
     Function[x, x~j~{#}~f~h & /@ r]@#]] & /@ p~Subsets~{3}; 
Graphics[Circle @@@ ({{##2}, 1}/# & @@@ (f[a = #, -Tr@#]; a))] &

ইনপুট সহ একটি হ্রাস আকার অ্যানিমেশন {{-13, 0, 0}, {23, 10/13, 0}, {30, -84/65, -1/5}, {38, -44/65, 9/5}}

এখানে চিত্র বর্ণনা লিখুন


আপনি কীভাবে ইনপুট নিবেন?
মার্টিন ইন্ডার

@ মার্টিনব্যাটনার @{{-1, 0, 0}, {2, 1, 0}, {2, -1, 0}, {3, 0, 2}}শেষ পংক্তিতে যুক্ত করে একটি ফাংশন যুক্তি হিসাবে
ডাঃ বেলিসেরিয়াস

@ মার্টিনবাটনার আপনি যদি পরীক্ষা করতে যাচ্ছেন তবে এর 50/hপরিবর্তে প্রথমে চেষ্টা করুন 400/h। আপনি ফলাফল দ্রুত পেতে চলেছেন। এছাড়াও, আপনি Dynamic@Length@aফাংশনটি সম্পাদন করার আগে প্রবেশ করে অগ্রগতি পর্যবেক্ষণ করতে পারেন
ড। বেলিসারিয়াস

Instructions for testing this answer (with a reduced number of circles) without Mathematica installed: 1) ডাউনলোড এই pastebin থেকে যেমন * .CDF 2) ডাউনলোড করে সংরক্ষণ করুন এবং ইনস্টল বিনামূল্যে সিডিএফ পরিবেশ এ (একটি ছোট ফাইল উল্ফর্যাম গবেষণা থেকে)। উপভোগ করুন। এটি কাজ করে কিনা আমাকে বলুন! - দ্রষ্টব্য: ক্যালকগুলি ধীরে ধীরে, গ্রাফিকগুলি আসার জন্য অপেক্ষা করুন।
ড। বেলিসারিয়াস

"অত্যন্ত অদক্ষ" মন্তব্য কী বলে? এটি কি (অ্যানিমেশনটির দিকে তাকিয়ে) আপনি দৃশ্যত বেশিরভাগ চেনাশোনাগুলি কমপক্ষে দুবার অঙ্কন করছেন? আমি মনে করি জটিল ডেসকার্টেস পদ্ধতিটি যতটা সহজ হয় ততই সহজাতভাবে দক্ষ।
পিটার টেলর

4

ম্যাপেল (960 বাইট)

অ্যাপোলোনিয়ান গ্যাসকেট তৈরি করতে আমি ডেসকার্টিজ থিওরেম ব্যবহার করেছি এবং তারপরে এটি প্লট করার জন্য ম্যাপেলের প্লটিং সিস্টেমটি ব্যবহার করেছি use আমার যদি সময় থাকে তবে আমি এটি আরও গল্ফ করে এটিকে পাইথনে পরিবর্তন করতে চাই (ম্যাপেল অবশ্যই ফ্র্যাক্টালগুলির পক্ষে সেরা নয়)। আপনি যদি আমার কোডটি চালাতে চান তবে এখানে একটি ফ্রি ম্যাপল প্লেয়ারের লিঙ্ক ।

X,Y,Z,S,N:=abs,evalf,member,sqrt,numelems;
f:=proc(J)
    L:=map((x)->[x[1],(x[2]+x[3]*I)/x[1]+50*(1+I)/X(J[1][2])],J);
    R:=Vector([L]);
    T,r:=X(L[1][3]),L[1][4];
    A(L[1][5],L[2][6],L[3][7],L[1][8],L[2][9],L[3][10],R,T,r);
    A(L[1][11],L[2][12],L[4][13],L[1][14],L[2][15],L[4][16],R,T,r);
    A(L[1][17],L[3][18],L[4][19],L[1][20],L[3][21],L[4][22],R,T,r);
    A(L[2][23],L[3][24],L[4][25],L[2][26],L[3][27],L[4][28],R,T,r);
    plots[display](seq(plottools[circle]([Re(R[i][29]),Im(R[i][30])],X(1/R[i][31])),i=1..N(R))):
end proc:
A:=proc(a,b,c,i,j,k,R,E,F)
    K:=i+k+j+2*S(i*k+i*j+k*j);
    if K>400*E then
    return;
    end if;
    C:=(a*i+c*k+b*j+2*S(a*c*i*k+b*c*j*k+a*b*i*j))/K;
    C2:=(a*i+c*k+b*j-2*S(a*c*i*k+b*c*j*k+a*b*i*j))/K;
    if Y(X(C-F))<1/E and not Z([K,C],R) then
    R(N(R)+1):=[K,C];
    A(a,b,C,i,j,K,R,E,F);
    A(a,c,C,i,k,K,R,E,F);
    A(b,c,C,j,k,K,R,E,F);
    end if:    
    if Y(X(C2-F))<1/E and not Z([K,C2],R) then
    R(N(R)+1):=[K,C2];
    A(a,b,C2,i,j,K,R,E,F);
    A(a,c,C2,i,k,K,R,E,F);
    A(b,c,C2,j,k,K,R,E,F);
    end if: 
end proc:

কিছু নমুনা গাসকেট

f([[-1, 0, 0], [2, 1, 0], [2, -1, 0], [3, 0, 2]]);

এখানে চিত্র বর্ণনা লিখুন

f([[-9, 0, 0], [14, 5/9, 0], [26, -77/45, -4/5], [27, -8/5, 6/5]]);

এখানে চিত্র বর্ণনা লিখুন

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