To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

File:Symmetrical 5-set Venn diagram.svg

From Wikipedia, the free encyclopedia

Original file(SVG file, nominally 512 × 512 pixels, file size: 4 KB)

 
W3C-validity not checked.

Summary

Description
Radially-symmetrical five-set Venn diagram devised by Branko Grünbaum
Source Own work
Author Cmglee

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()
# """

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

File history

Click on a date/time to view the file as it appeared at that time.

(newest | oldest) View (newer 10 | ) (10 | 20 | 50 | 100 | 250 | 500)
Date/TimeThumbnailDimensionsUserComment
current00:17, 16 April 2019Thumbnail for version as of 00:17, 16 April 2019512 × 512 (4 KB)CmgleeImprove optimisation and rendering.
12:47, 14 October 2016Thumbnail for version as of 12:47, 14 October 2016512 × 512 (4 KB)CmgleeOptimise for maximum area of the smallest regions.
00:35, 11 April 2011Thumbnail for version as of 00:35, 11 April 2011746 × 742 (3 KB)AnonMoosadjusting margins
22:09, 11 March 2011Thumbnail for version as of 22:09, 11 March 2011512 × 512 (3 KB)CmgleeUse defs to make opaque lines.
21:49, 11 March 2011Thumbnail for version as of 21:49, 11 March 2011512 × 512 (3 KB)CmgleeExplicitly specify font size.
21:42, 11 March 2011Thumbnail for version as of 21:42, 11 March 2011512 × 512 (1 KB)CmgleeMake transparent fill attribute of ellipses.
21:40, 11 March 2011Thumbnail for version as of 21:40, 11 March 2011512 × 512 (1 KB)CmgleeAdd opaque lines.
21:37, 11 March 2011Thumbnail for version as of 21:37, 11 March 2011512 × 512 (1,017 bytes)CmgleeUse fill with hex codes and opacity instead of fill with rgba codes.
21:34, 11 March 2011Thumbnail for version as of 21:34, 11 March 2011512 × 512 (1,010 bytes)CmgleeTemporarily remove text to check if ellipses work.
21:33, 11 March 2011Thumbnail for version as of 21:33, 11 March 2011512 × 512 (3 KB)CmgleeConvert CSS styles to attributes.
(newest | oldest) View (newer 10 | ) (10 | 20 | 50 | 100 | 250 | 500)
The following pages on the English Wikipedia use this file (pages on other projects are not listed):

Global file usage

The following other wikis use this file:

Metadata

Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.