Круги́ э́йлера — схема, с которой можно изобразить отношения между подмножествами, для наглядного представления. изобретены эйлером. используется в , логике, менеджменте и других прикладных направлениях. важный частный случай кругов эйлера — диаграммы эйлера — венна, изображающие все 2n комбинаций n свойств, то есть конечную булеву . при n=3 диаграмма эйлера — венна обычно изображается в виде трёх кругов с центрами в вершинах равностороннего треугольника и одинаковым радиусом, приблизительно равным длине стороны треугольника. при решении целого ряда леонард эйлер использовал идею изображения множеств с кругов. однако, этим методом еще до эйлера пользовался филосов и готфрид вильгельм лейбниц (1646—1716). но достаточно основательно развил этот метод сам л. эйлер. методом кругов эйлера пользовался и эрнст шрёдер (1841—1902) в книге « логики» . особенного расцвета графические методы достигли в сочинениях логика джонa венна (1843—1923), подробно изложившего их в книге «символическая логика» , изданной в лондоне в 1881 году. поэтому такие схемы иногда называют диаграммы эйлера — венна.
Робот:
var canvas = document.getElementById('cl');
var ctx = canvas.getContext('2d');
ctx.fillStyle = 'orange';
ctx.fillRect(25, 0, 10, 10);
ctx.fillStyle = 'blue';
ctx.fillRect(27, 2, 2, 2);
ctx.fillRect(31, 2, 2, 2);
ctx.fillStyle = 'purple';
ctx.fillRect(29, 10, 2, 5);
ctx.fillStyle = 'black';
ctx.fillRect(15, 15, 30, 2);
ctx.fillStyle = 'grey';
ctx.fillRect(22.5, 15, 15, 20);
ctx.fillStyle = 'green';
ctx.fillRect(22.5, 35, 2, 15);
ctx.fillRect(35.5, 35, 2, 15);
Стикмэн:
ctx.fillStyle = 'black';
ctx.strokeRect(25, 50, 10, 10);
ctx.fillStyle = 'blue';
ctx.fillRect(29, 60, 2, 28);
ctx.beginPath();
ctx.lineWidth="2";
ctx.strokeStyle="black";
ctx.moveTo(29,70);
ctx.lineTo(40,62);
ctx.stroke();
ctx.beginPath();
ctx.lineWidth="2";
ctx.strokeStyle="black";
ctx.moveTo(30,70);
ctx.lineTo(20,62);
ctx.stroke();
ctx.beginPath();
ctx.lineWidth="2";
ctx.strokeStyle="black";
ctx.moveTo(30,86);
ctx.lineTo(20,95);
ctx.stroke();
ctx.beginPath();
ctx.lineWidth="2";
ctx.strokeStyle="black";
ctx.moveTo(29,86);
ctx.lineTo(40,95);
ctx.stroke();
И да,надеюсь ты разбираешься в Javascript`е и знаешь что как.