ধরুন আমার ৪ টি পয়েন্ট রয়েছে (সেগুলি দ্বিমাত্রিক), যা একে অপরের থেকে আলাদা এবং আমি জানতে চাই যে তারা একটি বর্গ গঠন করে কিনা। এটা কিভাবে করতে হবে? (প্রক্রিয়াটি যতটা সম্ভব সহজ হতে দিন।)
ধরুন আমার ৪ টি পয়েন্ট রয়েছে (সেগুলি দ্বিমাত্রিক), যা একে অপরের থেকে আলাদা এবং আমি জানতে চাই যে তারা একটি বর্গ গঠন করে কিনা। এটা কিভাবে করতে হবে? (প্রক্রিয়াটি যতটা সম্ভব সহজ হতে দিন।)
উত্তর:
ধরে নিই যে আপনার বর্গক্ষেত্র আপনার স্থানে থাকা যে কোনও স্থানাঙ্ক ব্যবস্থার বিরুদ্ধে ঘোরানো হতে পারে, আপনি আপনার চারটি পয়েন্টে এক্স এবং ওয়াইয়ের মানগুলির পুনরাবৃত্তি হওয়ার উপর নির্ভর করতে পারবেন না।
আপনি যা করতে পারেন তা হল চারটি পয়েন্টের প্রতিটিের মধ্যে দূরত্ব গণনা করা। আপনি যদি নিম্নলিখিতটি সত্য বলে মনে করেন তবে আপনার একটি বর্গক্ষেত্র রয়েছে:
দুটি এবং দুটি বিন্দু রয়েছে যা একে অপরের থেকে দূরত্ব x এবং দুটি এবং দুটি বিন্দু, বি এবং ডি বলে যা একে অপরের থেকে দূরত্ব x ও রয়েছে say
প্রতিটি বিন্দু {A, B, C, D x দুটি পয়েন্টের সমান দূরত্ব যা x দূরে নয়। অর্থ্যাৎ যদি ক সি থেকে x দূরে থাকে তবে তা বি এবং ডি উভয়ের থেকে দূরে থাকবে z
ঘটনাক্রমে, দূরত্বের Z টি এসকিউআরটি (( x ^ 2) / 2) হতে হবে, তবে আপনার এটি নিশ্চিত করার দরকার নেই। 1 এবং 2 শর্ত যদি সত্য হয় তবে আপনার একটি বর্গক্ষেত্র রয়েছে। দ্রষ্টব্য: কিছু লোক বর্গমূলের অদক্ষতা সম্পর্কে উদ্বিগ্ন। আমি বলিনি যে আপনার এই গণনা করা উচিত , আমি কেবল বলেছিলাম যে আপনি যদি করেন তবে আপনি অনুমানযোগ্য ফলাফল পাবেন!
আপনার খালি ন্যূনতম যে কাজটি করতে হবে তা হ'ল একটি বিন্দু বাছাই করা, A বলুন এবং অন্য তিনটি পয়েন্টের প্রত্যেকটির দূরত্ব গণনা করা। আপনি যদি জানতে পারেন যে এ এক বিন্দু থেকে x এবং অন্য দুটি পয়েন্ট থেকে z , তবে আপনাকে কেবল সেই দুটি দুটি পয়েন্ট একে অপরের বিপরীতে পরীক্ষা করা দরকার। যদি তারা একে অপরের থেকেও এক্স হয় তবে আপনার একটি বর্গক্ষেত্র রয়েছে। অর্থাৎ,
এবি = এডি থেকে বিডি পরীক্ষা করুন:
কেবল নিশ্চিত হওয়ার জন্য, আপনাকে অন্য দিকগুলি পরীক্ষা করতে হবে: বিসি এবং সিডি।
যেহেতু এসি = বিডি এবং এবি = এডি = বিসি = সিডি, সুতরাং এটি বর্গক্ষেত্র।
পথ ধরে, আপনি যদি আরও দুটি স্বতন্ত্র প্রান্ত দূরত্ব খুঁজে পান তবে চিত্রটি বর্গক্ষেত্র হতে পারে না, তাই আপনি সন্ধান বন্ধ করতে পারেন।
কাজের উদাহরণ বাস্তবায়ন
আমি jsfiddle এ একটি কাজের উদাহরণ তৈরি করেছি ( এখানে দেখুন )। আমার অ্যালগরিদমের ব্যাখ্যাতে, আমি স্বেচ্ছাসেবী বিন্দু A, B, C এবং D. ব্যবহার করি Those এই স্বেচ্ছাচারী পয়েন্টগুলি উদাহরণের মধ্য দিয়ে চলার স্বার্থে একটি নির্দিষ্ট ক্রমে ঘটে। অ্যালগরিদম পয়েন্ট, একটি ভিন্ন আদেশ হয় তবে, এমনকি যদি কাজ করে উদাহরণ অগত্যা তাদের পয়েন্ট একটি ভিন্ন আদেশ হয় যদি কাজ করে না।
এই উত্তরটির উন্নতি করতে দরকারী মন্তব্যের জন্য ধন্যবাদ: meshuai, Blrfl, MSalters এবং বার্ট ভ্যান Ingen Schenau।
চারটি পয়েন্টের মধ্যে তিনটি চয়ন করুন।
বিন্দুগুলির মধ্যে তিনটি ভেক্টরগুলির মধ্যে একটির 90 ডিগ্রি দ্বারা ঘোরানো অন্য একটির সমান কিনা তা পরীক্ষা করে এটি একটি ডান বিচ্ছিন্ন ত্রিভুজ কিনা তা খুঁজে বের করুন।
যদি তা হয় তবে ভেক্টর সংযোজন দ্বারা চতুর্থ পয়েন্টটি গণনা করুন এবং এটি প্রদত্ত চতুর্থ বিন্দুর সাথে তুলনা করুন।
নোট করুন যে এর জন্য ব্যয়বহুল নয়, ব্যয়বহুল বর্গমূল প্রয়োজন doesn't
sqrt
গুরুত্বপূর্ণ না হলে ব্যবহার করবেন না ! আপনাকে এফপিতে পূর্ণসংখ্যার গণনা হ্রাস করতে হবে না ... এফপি গণনার যথাযথতা আরও খারাপ করার কথা উল্লেখ করার দরকার নেই।
আমি মনে করি সবচেয়ে সহজ সমাধানটি নিম্নলিখিত:
প্রথমে 4 পয়েন্টের কেন্দ্র গণনা করুন: center = (A + B + C + D)/4
তারপরে ভেক্টর গণনা করুন A - center
। এই হতে দিনv := (x,y)
v2
ভেক্টরটি v
90 ডিগ্রি ঘোরানো যাক :v2 := (-y, x)
এখন অন্যান্য পয়েন্টগুলি হওয়া উচিত center - v
, center + v2
এবং center - v2
।
এই সমাধানটির সুবিধা হ'ল আপনাকে স্কোয়ার শিকড়গুলি মোটেও ব্যবহার করতে হবে না।
আমি দুঃখিত তবে কিছু উত্তর প্রযোজ্য নয়।
কেসটির জন্য আপনি তিনটি প্রান্তটি পরিমাপ করুন (আসুন এবি, এসি এবং এডি বলুন) এটির জন্য যে দুটিটির আকার একই থাকে (আসুন এসি এবং এডি বলি) এবং একটি বড় (আসুন এবি বলি)। তারপরে আপনি এটির আকার একই আকারের কিনা তা দেখতে আপনি সিডি পরিমাপ করবেন এবং আপনি দেখতে পাচ্ছেন যে এটি। বর্গক্ষেত্রের পরিবর্তে আপনার নীচের ছবিটি থাকতে পারে এবং এটি এটিকে একটি ভুল সমাধান করে তোলে।
তারপরে আপনি অন্য কোনও সমাধান চেষ্টা করে দেখুন: কমপক্ষে একবারে সমস্ত দূরত্ব পরিমাপ করুন: এবি, এসি, এডি, বিসি, বিডি, সিডি। তারপরে আপনি দেখতে পাবেন যে এর মধ্যে 4 টি সমান এবং অন্য 2 টিও নিজেদের মধ্যে সমান। তবে আপনার নীচের মতো একটি ছবি থাকতে পারে:
সুতরাং, উক্ত উত্তরগুলি সঠিক নয়, যদিও তারা উচ্চতর উত্সাহ পেয়েছে।
একটি সম্ভাব্য সমাধান: যদি দুটি সমান পদক্ষেপ একই পয়েন্টটি সংযুক্ত না করে। সুতরাং: যদি এবি এবং সিডি একই দৈর্ঘ্য হয় তবে অন্যান্য সমস্ত সংমিশ্রণ (এসি, এডি, বিসি, বিডি) সমান হয়, আপনার একটি বর্গক্ষেত্র রয়েছে। আপনার যদি একই দৈর্ঘ্য সবচেয়ে বড় দৈর্ঘ্য তৈরি হয় (এবি এবং এসি সবচেয়ে বড় এবং অন্য সমস্তগুলি সমান) তবে উপরের ছবিগুলির মধ্যে একটি আপনার কাছে রয়েছে।
চারটি পয়েন্টের একটি, বি, সি, ডি সমন্বয়যুক্ত ভেক্টর থাকুক।
তারপরে তাদের পার্থক্যগুলিকে ডব্লু = (বিজ্ঞাপন), এক্স = (বা), y = (সিবি), জেড = (ডিসি) কল করতে দিন।
তারপরে ডাব্লুটি একটি এর অর্থেগোনাল হয় যদি আপনি 90 ডিগ্রি-ঘূর্ণন দ্বারা w থেকে তৈরি করতে পারেন। গাণিতিকভাবে 2-স্পেসে 90-ডিগ্রি-ঘূর্ণন-ম্যাট্রিক্স হ'ল ((0, -1), (1, 0))। সুতরাং, ডাব্লুটি 90-ডিগ্রি-ঘোরানো কোনও ফলাফলের শর্ত কিনা
(w_1 == -x_2 এবং w_2 == x_1)
যদি এটি ধরে রাখে, তবে আপনাকে সেই ডাব্লু == -y এবং x == -z, বা
((w_1 == -y_1 এবং w_2 == -y_2) এবং (x_1 == -z_1 এবং x_2 == -z_2))
যদি এই তিনটি সম্পর্ক ধরে থাকে তবে ক, বি, সি, ডি একটি ওরিয়েন্টেড স্কোয়ার তৈরি করে।
স্টার ব্লু দ্বারা উত্তর অনুরূপ
চারটি পয়েন্টের মধ্যে তিনটি বেছে নিন।
তাদের মধ্যে একটি সমকোণী প্রান্তের সন্ধান করুন : তিনটি ভেক্টরের যে কোনও একটির ডট পণ্য শূন্য কিনা তা পরীক্ষা করে। যদি পাওয়া না যায় তবে একটি বর্গক্ষেত্র নয়।
এই কোণটির সাথে সংলগ্ন কোণগুলি ঠিক কোণে রয়েছে কিনা তা পরীক্ষা করুন। যদি না হয় তবে একটি বর্গক্ষেত্র নয়।
তির্যকগুলি লম্ব হয় কিনা তা পরীক্ষা করে দেখুন : প্রথম এবং চতুর্থ প্রান্ত এবং অন্য দুটি অনুভূমিক (ত্রিভুজ) এর মধ্যে যদি ভেক্টরগুলির বিন্দু পণ্যটি শূন্য হয়, তবে এটি একটি বর্গক্ষেত্র।
আমি মনে করি আপনি এটি সহজ সংযোজন এবং বিয়োগফল এবং মিনিম / সর্বাধিক সন্ধানের মাধ্যমে এটি করতে পারেন। শর্তাদি (অন্যান্য ব্যক্তির চিত্রের সাথে মেলে):
যদি 4 পয়েন্টগুলি কেবল 2 x টি মান এবং 2 টি মানের সাথে ভাগ করে থাকে তবে আপনার স্তরের একটি বর্গক্ষেত্র রয়েছে।
অন্যথায়, আপনার পয়েন্টগুলি নিম্নলিখিতগুলি সন্তুষ্ট করে যদি আপনার একটি বর্গক্ষেত্র থাকে:
ব্যাখ্যা: লাইন বিভাগগুলির এসি এবং বিডি তাদের মিডপয়েন্টে দেখা উচিত। সুতরাং (Ax + Cx) / 2 হ'ল AC এর মিডপয়েন্ট এবং (Bx + Dx) / 2 হ'ল বিডির মিডপয়েন্ট। আমার প্রথম সমীকরণ পেতে এই সমীকরণের প্রতিটি পাশকে 2 দিয়ে গুণ করুন। দ্বিতীয় সমীকরণটি ওয়াই-মানগুলির জন্য একই জিনিস। ডায়মন্ড-শেপ (rhomboids) এই বৈশিষ্ট্যগুলি সন্তুষ্ট করবে, সুতরাং আপনার সমান দিক রয়েছে তা যাচাই করতে হবে - প্রস্থটি উচ্চতার সমান। এটি তৃতীয় সমীকরণ।
এখানে কিছু ভাল উত্তর রয়েছে, তবে প্রশ্নটি সহজ পদ্ধতির জন্য জিজ্ঞাসা করেছিল। আমি এটিকে কিছু তাড়াতাড়ি চিন্তাভাবনা দিয়েছিলাম এবং আমি এটি এটি করব।
আপনি বলতে পারেন যে চারটি পয়েন্ট কোনও বর্গের প্রতিনিধিত্ব করে (ঘোরানো হলেও), তবে চারটি পয়েন্টের গড় সন্ধান করে।
R = (A+B+C+D)/4
আপনার গড় একবার হয়ে গেলে, প্রতিটি পয়েন্ট এবং গড়ের মধ্যকার দূরত্ব চারটি পয়েন্টের জন্য একই হতে হবে the
if(dist(R,A) == dist(R,B) == dist(R,C) == dist(R,D) then
print "Is Square"
else
print "Is Not Square"
সম্পাদনা করুন:
আমার ভুল. ফর্ম পয়েন্টগুলি যদি একটি বৃত্তে থাকে তবে এটি কেবল আপনাকে জানায়। আপনি যদি পয়েন্টগুলির মধ্যে দূরত্বও পরীক্ষা করেন তবে এটি অবশ্যই একটি বর্গক্ষেত্র হতে হবে।
if(dist(R,A) == dist(R,B) == dist(R,C) == dist(R,D) AND
(dist(A,B) == dist(B,C) == dist(C,D) == dist(A,D) then
print "Is Square"
else
print "Is Not Square"
এটি ধরে নিয়েছে যে A, B, C, D পয়েন্টগুলি অতিক্রম করবে না (যেমন একটি বৈকল্পিক বাতাসের ক্রম রয়েছে)।
এটি নির্ধারিত মান অনুযায়ী কোনও উত্তর নয়, তবে আমি আশা করি এটি সহায়তা করে:
[নীচের লিঙ্ক থেকে অনুলিপি করা হয়েছে যাতে আপনার লিঙ্কটি খুলতে হবে না] পাইথন 76 76 টি অক্ষর
def S(A):c=sum(A)/4.0;return set(A)==set((A[0]-c)*1j**i+c for i in range(4))
ফাংশন এস জটিল সংখ্যার একটি তালিকা তার ইনপুট (এ) হিসাবে গ্রহণ করে। যদি আমরা কেন্দ্র এবং একটি বর্গক্ষেত্রের এক কোণ উভয়ই জানি তবে আমরা কোণটি কেন্দ্র বিন্দু (গ) এর চারপাশে 90,180 এবং 270 ডিগ্রি ঘুরিয়ে বর্গাকারটি পুনর্গঠন করতে পারি। জটিল প্লেনের আবর্তনের প্রায় 90 ডিগ্রি ঘোরার মাধ্যমে i দ্বারা পয়েন্টটি গুণ করে সম্পন্ন করা হয়। যদি আমাদের আসল আকৃতি এবং পুনর্গঠিত বর্গক্ষেত্রের একই পয়েন্ট থাকে তবে অবশ্যই এটি একটি বর্গক্ষেত্র হতে হবে।
এটি থেকে নেওয়া হয়েছিল: 4 পয়েন্ট একটি বর্গ গঠন করে কিনা তা নির্ধারণ করুন
আপনি যদি উত্তরটি পছন্দ করেন তবে আমি বলছি, ব্যক্তিকে ধন্যবাদ জানাতে কিছু মুহুর্ত বের করুন, বা তার উত্তরটি এই পৃষ্ঠায় আপ করুন।
বুনিয়াদি ধারণা (এটি আমি নতুন কিছু অবদান রাখছি কিনা এই প্রশ্নের উত্তর দেয়, যা আমি উত্তর দেওয়ার জন্য ক্লিক করলে বট জিজ্ঞাসা করেছিল):
আর-তে আমার সমাধানটি নীচে উপস্থাপন করা হয়েছে। আমি ধরে নিচ্ছি যে ঠিক চারটি পয়েন্ট রয়েছে এবং এটি যে সমস্যার বিবৃতি অনুসারে ইতিমধ্যে নির্ধারণ করা হয়েছে যে পয়েন্টগুলি অনন্য।
sumsq <- function(x) sum(x^2)
quadrances.xy <- function(xy) vapply(
as.data.frame(t(diff(xy)), optional=T), sumsq, 1)
"চতুষ্কোণ" এর আলোচনার জন্য নরম্যান ওয়াইল্ডবার্গারের কাজগুলি দেখুন, বিশেষত তার ইউটিউব ভিডিওগুলি ( রিয়েল ফিশ, রিয়েল নাম্বার, রিয়েল জবস এবং সিক।) এবং তাঁর বই Divশিক অনুপাত See
xy
ম্যাট্রিক্স এক ধরনের আর এর দ্বারা গৃহীত বোঝায় plot
, points
এবং lines
ফাংশন।
অ্যাপ্লিকেশন as.data.frame
হ'ল কলাম অনুসারে জিনিসগুলি আর করার জন্য একটি কৌশল।
optional=T
দফা নাম, যা যাহাই হউক না কেন ব্যবহার করা হয় না, অবলুপ্তি ঘটিয়েছে।
quadrances.xy..i2. <- function(xy, i2) vapply(
as.data.frame(i2, optional=T),
function(k) quadrances.xy(m[k,]),
1)
এটি নির্দিষ্ট পয়েন্টগুলির মধ্যে চতুর্ভুজগুলি গণনা করার জন্য একটি ফাংশন, যেখানে যুক্তির মাধ্যমে জোড় পয়েন্টগুলি নির্দিষ্ট করা হয় i2
। i2
প্রতীক একটি সূচক ম্যাট্রিক্স যা সূচক প্রতি এক কলাম, এবং আছে বোঝায় 2 কলাম প্রতি উপাদানের (ম্যাট্রিক্স একই ধরনের দ্বারা ফিরে combn
ফাংশন)।
quadrance.every.xy <- function(xy, .which=combn(nrow(xy), 2))
quadrances.xy..i2.(xy, .which)
কেবল .which
এটির কাছে প্রকাশ করার জন্য formals
এবং যা চলছে তা যোগাযোগ করার চেষ্টা করার জন্য একটি যুক্তি হিসাবে উপস্থাপন করা হয়েছে।
is.square.xy <- function(xy) {
qq <- sort(quadrance.every.xy(xy))
all(qq[2:4] == qq[1]) && # ALL SIDES (SHORT QUADRANCES) EQUAL
qq[5] == qq[6] # ALL DIAGONALS (LONG QUADRANCES) EQUAL
}
আমি বলেছিলাম "সরল" কোনও মাল্টলাইন ফাংশন অন্তর্ভুক্ত নেই। আপনাকে এই দুই-লাইনের ফাংশনটি ক্ষমা করতে হবে।
xy <- t(matrix(c(3,0, 7,3, 4,7, 0,4), ncol=4))
xy
# [,1] [,2]
# [1,] 3 0
# [2,] 7 3
# [3,] 4 7
# [4,] 0 4
is.square.xy(xy)
# [1] TRUE
নোট করুন যে চারটি বিষয় সম্পর্কে প্রশ্ন বাদে প্রথম চারটি ফাংশন তাদের নিজস্বভাবে কার্যকর।
চারটি পয়েন্ট ধরুন A = (কুড়াল, আই), বি = (বিএক্স, বাই), সি = (সিক্স, সাইক), ডি = (ডিএক্স, ডাই) এবং তারা এন্টি-ক্লকওয়াইজ ক্রম হিসাবে একটি বর্গাকার বিন্দু গঠন করে। আমরা পয়েন্টগুলি স্থানান্তরিত করি যাতে Ax (0, 0) বিক্স, সিএক্স এবং ডিএক্স থেকে কুঠারকে বিয়োগ করে এবং অ্যায় দ্বারা বাই, সাই, এবং ডাই থেকে বিয়োগ করে অক্ষ = অ্যায় = 0 নির্ধারণ করে।
অ্যান্টি-ক্লকওয়াইজ ক্রমক্রমে বিন্দু যদি কোনও বর্গক্ষেত্রের কোণে হয় তবে A এবং B দেওয়া হলে আমরা সি এবং ডি কোথায় রয়েছে তা গণনা করতে পারি: আমাদের (সিএক্স, সাই) = (বিএক্স - বাই, বিএক্স + বাই) এবং (dx, dy) = (-বি, বিএক্স)। সুতরাং আমরা সি এবং ডি যেখানে থেকে বর্গক্ষেত্রের দূরত্ব গণনা করি সেগুলি কোথায় হওয়া উচিত: errC = (cx - bx + বাই) ^ 2 + (সাই - বিএক্স - বাই) ^ 2, এবং এররডি = (ডিএক্স + বাই) ^ 2 + (ডাই - বিএক্স) ^ 2। আমরা এগুলি যুক্ত করি এবং এর দ্বারা বিসিটি (বিএক্স ^ 2 + বাই ^ 2) বিভক্ত করে এরর = (এররসি + এআরআরডি) / (বিএক্স ^ 2 + বাই ^ 2) প্রদান করে।
নিখুঁত বর্গক্ষেত্রের ফলাফলের ফলাফল 0 হবে, বা প্রায় একটি বর্গক্ষেত্রের জন্য যদি একটি ছোট সংখ্যা, এবং আমরা স্কোয়ারের পয়েন্টগুলি অনুবাদ, স্কেল বা ঘোরান তবে গোল গোল ত্রুটি বাদে সংখ্যাটি অপরিবর্তিত থাকবে। সুতরাং আমরা কতটা বর্গক্ষেত্রের আছে তা স্থির করতে ভুল ব্যবহার করতে পারি।
তবে আমরা পয়েন্টগুলির ক্রম জানি না। খ ও ডি এ থেকে একই দূরত্বে হওয়া উচিত; যদি আমরা এটি 2 এর বর্গমূল দিয়ে গুণ করি তবে এটি A থেকে C এর দূরত্ব হওয়া উচিত আমরা কোন বিন্দু সি তা নির্ধারণ করতে এটি ব্যবহার করি: distB = bx ^ 2 + কে ^ 2 দ্বারা গণ্য করুন, distD = dx ^ 2 + dy ^ 2। যদি ডিএসডি dist 1.5 ডিস্টবিবি হয়, তবে আমরা সি এবং ডি অদলবদল করব; যদি ডিএসবি ≥ 1.5 ডিলডিড থাকে তবে আমরা সি এবং বি স্যুইপ করব এখন সি ঠিক আছে।
কোনটি পয়েন্টগুলি বি এবং ডি, তাও আমরা নির্ধারণ করতে পারি: আমরা যদি অনুমান করি যে কোনটি বি এবং কোনটি ডি, তবে আমাদের গণনা ডিটিকে যেখানে সঠিক স্থান থেকে একেবারে বিপরীত স্থানে রাখে। সুতরাং যদি errD ≥ (bx ^ 2 + by ^ 2) হয়, তবে আমরা বি এবং ডি অদলবদল করি
এটি বি, সি এবং ডি সঠিকভাবে ব্যবস্থা করবে যদি আমাদের কাছে বর্গক্ষেত্র থাকে বা কমপক্ষে মোটামুটি একটি বর্গ থাকে। তবে যদি আমাদের মোটামুটি কোনও বর্গক্ষেত্র না থাকে তবে আমরা জানি ত্রুটির গণনা শেষে এটি প্রদর্শিত হবে।
সারাংশ:
যদি আমরা পয়েন্টগুলির ক্রম জানি তবে এটি স্পষ্টতই সরল করা যেতে পারে।
সমাধান ভাবনা মিডিয়ার অনুরূপ।
প্রথম ধাপ:
x = (A+B+C+D)/4
f=0
if(dist(x,A) == dist(x,B) == dist(x,C) == dist(x,D)
f=1
else
f=0
এই সম্পত্তিটি বর্গাকার অনুসরণ করে কারণ এটি চক্রযুক্ত। এই সম্পত্তি অনুসরণ করার জন্য এখন একটি চেনাশোনা। সুতরাং, এখন শুধু চেক
if(A.B==B.C==C.D==D.A==0)
f=1
else
f=0
if (f==1)
square
else
not square
এখানে এবি অর্থ এ এবং বি এর ডট পণ্য