চিত্র:Symmetrical 5-set Venn diagram.svg
testwiki থেকে
পরিভ্রমণে চলুন
অনুসন্ধানে চলুন
এই SVG ফাইলের জন্য এই PNG প্রাকদর্শনের আকার: ৫১২ × ৫১২ পিক্সেল। অন্যান্য আকারসমূহ: ২৪০ × ২৪০ পিক্সেল | ৪৮০ × ৪৮০ পিক্সেল | ৭৬৮ × ৭৬৮ পিক্সেল | ১,০২৪ × ১,০২৪ পিক্সেল | ২,০৪৮ × ২,০৪৮ পিক্সেল।
মূল ফাইল (এসভিজি ফাইল, সাধারণত ৫১২ × ৫১২ পিক্সেল, ফাইলের আকার: ৪ কিলোবাইট)
এই ফাইলটি উইকিমিডিয়া কমন্স থেকে আগত এবং অন্যান্য প্রকল্পে ব্যবহৃত হতে পারে। সেখানে থাকা ফাইলটির বিবরণ পাতার বিবরণ নিচে দেখানো হলো।
সারাংশ
| বিবরণSymmetrical 5-set Venn diagram.svg |
English: Radially-symmetrical five-set Venn diagram devised by Branko Grünbaum |
| তারিখ | |
| উৎস | নিজের কাজ |
| লেখক | Cmglee |
| SVG genesis InfoField |
Python script to optimise for maximum area of the smallest regions
#!/usr/bin/env python
import math
class Ellipse:
def __init__(self, x,y, rx,ry):
self.x = x
self.y = y
self.rx = rx
self.ry = ry
class Matrix:
def __init__(self, ellipse):
self.half_width = max(int(math.ceil(ellipse.rx + ellipse.x) + 1),
int(math.ceil(ellipse.ry + ellipse.y) + 1))
self.half_height = self.half_width
self.width = self.half_width * 2
self.height = self.half_height * 2
self.cells = [[0 for x in range(self.width)] for y in range(self.height)]
def display(self):
codes = '0123456789abcdefghijklmnopqrstuvwxyz'
print('\n'.join([''.join([codes[self.cells[y][x]] for x in range(self.width)])
for y in range(self.height)]))
def draw_ellipse(self, i_bit, ellipse, angle):
mask_bit = (1 << i_bit)
sin_angle = math.sin(math.radians(angle))
cos_angle = math.cos(math.radians(angle))
for matrix_y in range(self.height):
for matrix_x in range(self.width):
cell_x_unrotated = matrix_x - self.half_width
cell_y_unrotated = matrix_y - self.half_height
cell_x = sin_angle * cell_y_unrotated + cos_angle * cell_x_unrotated
cell_y = cos_angle * cell_y_unrotated - sin_angle * cell_x_unrotated
cell_dx = float(cell_x - ellipse.x) / ellipse.rx
cell_dy = float(cell_y - ellipse.y) / ellipse.ry
# print('%3d%3d | %4d%4d | %6.2f%6.2f | %6.2f %d' %
# (matrix_x,matrix_y, cell_x,cell_y, cell_dx,cell_dy,
# cell_dx * cell_dx + cell_dy * cell_dy,cell_dx * cell_dx + cell_dy * cell_dy > 1))
if (cell_dx * cell_dx + cell_dy * cell_dy <= 1): self.cells[matrix_y][matrix_x] |= mask_bit
def draw_ellipses(self, ellipse):
for i_ellipse in range(5): self.draw_ellipse(i_ellipse, ellipse, i_ellipse * 72)
def count_regions(self):
counts = [0 for code in range(1 << 5)]
for matrix_y in range(self.height):
for matrix_x in range(self.width):
counts[self.cells[matrix_y][matrix_x]] += 1
area_all = self.width * self.height
area_min = area_all
area_non0 = area_all - counts[0]
for i_count in range(len(counts)):
if (area_min > counts[i_count]): area_min = counts[i_count]
if (True):
# if (area_min > 0):
bar = ''.join(['%-5d+----' % i for i in range(99)]).replace(' ','-')[1:]
ppm = 1e6 * area_min / area_non0
print('x:%2d y:%2d rx:%2d ry:%2d ppm:%4.0f %s' %
(ellipse.x,ellipse.y, ellipse.rx,ellipse.ry, ppm, bar[:int(ppm / 100 + 0.5)]))
"""
ellipse = Ellipse(9,14, 40,80)
ellipse = Ellipse(7,16, 42,78)
ellipse = Ellipse(5,12, 46,70)
ellipse = Ellipse(5,14, 37,64)
ellipse = Ellipse(5,12, 40,65)
ellipse = Ellipse(5,12, 41,66)
ellipse = Ellipse(10,24, 82,132)
matrix = Matrix(ellipse)
matrix.draw_ellipses(ellipse)
matrix.display()
matrix.count_regions()
"""
model_x = 20; half_range_x = 1; step_x = 1
model_y = 46; half_range_y = 1; step_y = 1
model_rx = 166; half_range_rx = 1; step_rx = 1
model_ry = 264; half_range_ry = 1; step_ry = 1
for x in range(-half_range_x , half_range_x + 1, step_x ):
for y in range(-half_range_y , half_range_y + 1, step_y ):
for rx in range(-half_range_rx, half_range_rx + 1, step_rx):
for ry in range(-half_range_ry, half_range_ry + 1, step_ry):
ellipse = Ellipse(model_x + x,model_y + y, model_rx + rx,model_ry + ry)
matrix = Matrix(ellipse)
matrix.draw_ellipses(ellipse)
matrix.count_regions()
# """
লাইসেন্স প্রদান
আমি, এই কাজের স্বত্বাধিকারী, এতদ্দ্বারা আমি এই কাজকে নিম্ন বর্ণিত লাইসেন্সের আওতায় প্রকাশ করলাম:
এই ফাইলটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন-শেয়ার অ্যালাইক ৩.০ আনপোর্টেড লাইসেন্সের আওতায় লাইসেন্সকৃত।
- আপনি স্বাধীনভাবে:
- বণ্টন করতে পারেন – এ কাজটি অনুলিপি, বিতরণ এবং প্রেরণ করতে পারেন
- পুনঃমিশ্রণ করতে পারেন – কাজটি অভিযোজন করতে পারেন
- নিম্নের শর্তাবলীর ভিত্তিতে:
- স্বীকৃতিপ্রদান – আপনাকে অবশ্যই যথাযথ স্বীকৃতি প্রদান করতে হবে, লাইসেন্সের একটি লিঙ্ক সরবরাহ করতে হবে এবং কোনো পরিবর্তন হয়েছে কিনা তা নির্দেশ করতে হবে। আপনি যেকোনো যুক্তিসঙ্গত পদ্ধতিতে এটি করতে পারেন। কিন্তু এমন ভাবে নয়, যাতে প্রকাশ পায় যে লাইসেন্সধারী আপনাকে বা আপনার এই ব্যবহারের জন্য অনুমোদন দিয়েছে।
- একইভাবে বণ্টন – আপনি যদি কাজটি পুনঃমিশ্রণ, রুপান্তর, বা এর ওপর ভিত্তি করে নতুন সৃষ্টিকর্ম তৈরি করেন, তবে আপনাকে অবশ্যই আপনার অবদান একই লাইসেন্স বা একই রকমের লাইসেন্সের আওতায় বিতরণ করতে হবে।
ক্যাপশন
এই ফাইলটি কী উপস্থাপন করছে তার এক লাইন ব্যাখ্যা যোগ করুন
এই ফাইলে চিত্রিত আইটেমগুলি
যা চিত্রিত করে
কিছু মানের উইকিউপাত্ত আইটেম নেই
৩,৭৮৩ বাইট
image/svg+xml
1923f53c5107a980952aed5109955ad64aaee627
ফাইলের ইতিহাস
যেকোনো তারিখ/সময়ে ক্লিক করে দেখুন ফাইলটি তখন কী অবস্থায় ছিল।
| তারিখ/সময় | সংক্ষেপচিত্র | মাত্রা | ব্যবহারকারী | মন্তব্য | |
|---|---|---|---|---|---|
| বর্তমান | ০১:১৭, ১৬ এপ্রিল ২০১৯ | ৫১২ × ৫১২ (৪ কিলোবাইট) | wikimediacommons>Cmglee | Improve optimisation and rendering. |
ফাইলের ব্যবহার
নিম্নলিখিত পাতাটি এই ফাইল ব্যবহার করে: