%!TEX pdflatex

\documentclass[french,a4paper,11pt]{article}
\usepackage{babel}
\usepackage[margin=1.5cm]{geometry}
\usepackage[table,svgnames]{xcolor}
\usepackage{tikz}
\usepackage{simplekv}
\usepackage{pgf}

\setKVdefault[cerclesCouleurs]{
	R		= red,
	G		= ForestGreen,
	B		= blue,
	RG		= Yellow,
	RB		= Magenta,
	GB		= Cyan,
	RGB		= White,
	nomR	= Rouge,
	nomG	= Vert,
	nomB	= Bleu,
	nomRG	= Jaune,
	nomGB	= Cyan,
	nomBR	= Magenta,
	nomRGB	= Blanc,
	synthese= additive,
	systeme = RGB
}

\newcommand{\CerclesCouleurs}[1][]{
	\restoreKV[cerclesCouleurs] %paramètres par défaut
	\setKV[cerclesCouleurs]{#1} % lecture des paramètres passés à la macro et remplacement des valeurs
	\pgfmathparse{1}\let\varR\pgfmathresult
	\pgfmathparse{1/2}\let\varA\pgfmathresult
	\pgfmathparse{1/3}\let\varB\pgfmathresult
	\pgfmathparse{\varB-\varA*sqrt(3)}\let\varC\pgfmathresult
	\begin{tikzpicture}
		%cercles complets
		\filldraw[draw=none,{\useKV[cerclesCouleurs]{G}}] (-\varA,\varB) circle (\varR); %Gauche
		\filldraw[draw=none,{\useKV[cerclesCouleurs]{B}}] (\varA,\varB) circle (\varR); %Droite
		\filldraw[draw=none,{\useKV[cerclesCouleurs]{R}}] (0,\varC) circle (\varR); %Bas
		%intersection BG
		\begin{scope}
			\clip (-\varA,\varB) circle (\varR); %Gauche
			\fill[draw=none,{\useKV[cerclesCouleurs]{RG}}] (0,\varC) circle (\varR); %Bas
		\end{scope}
		%intersection RB
		\begin{scope}
			\clip (\varA,\varB) circle (\varR); %Droite
			\fill[draw=none,{\useKV[cerclesCouleurs]{RB}}] (0,\varC) circle (\varR); %Bas
		\end{scope}
		%intersection GB
		\begin{scope}
			\clip (\varA,\varB) circle (\varR); %Droite
			\fill[draw=none,{\useKV[cerclesCouleurs]{GB}}] (-\varA,\varB) circle (\varR); %Gauche
		\end{scope}
		%les trois
		\begin{scope}
			\clip (\varA,\varB) circle (\varR); %Droite
			\clip (-\varA,\varB) circle (\varR); %Gauche
			\fill[draw=none,{\useKV[cerclesCouleurs]{RGB}}] (0,\varC) circle (\varR); %Bas
		\end{scope}
		\draw[dashed] (-\varA,\varB) circle (\varR); %gauche
		\draw[dashed] (\varA,\varB) circle (\varR); %droite
		\draw[dashed] (0,\varC) circle (\varR); %bas
		%projecteur central
		\draw[] (-\varR/4,\varC-2*\varR) -- (\varR/4,\varC-2*\varR) -- (\varR/4,\varC-3*\varR) -- (-\varR/4,\varC-3*\varR) -- cycle; %l=0.5 L=0.8
		\draw[dashed] (-\varR/4,\varC-2*\varR) -- (-0.92,-0.92); %spot gauche
		\draw[dashed] (\varR/4,\varC-2*\varR) -- (0.92,-0.92); %spot droit
		%projecteur gauche
		\draw[] (-2.97,2.05)--(-3.22,1.61)--(-2.36,1.11)--(-2.11,1.55)--cycle; 	
		\draw[dashed] (-2.11,1.55) -- (-0.37,1.32); %spot gauche
		\draw[dashed] (-2.36,1.11) -- (-1.29,-0.28); %spot droit
		%projecteur droit
		\draw[] (2.11,1.55) -- (2.36,1.11) -- (3.22,1.61) -- (2.97,2.05) -- cycle; 		
		\draw[dashed] (2.11,1.55) -- (0.37,1.32); %spot gauche
		\draw[dashed] (2.36,1.11) -- (1.29,-0.28); %spot droit
		%nom des couleurs
		\node (R) at (-0.46,-1.13) {} ;
		\node (R1) at (-1.5,-2.5) {\useKV[cerclesCouleurs]{nomR}} ; \draw (R) -- (R1) ;
		\node (G) at (-0.75,0.96) {} ;
		\node (G1) at (-1.4,1.9) {\useKV[cerclesCouleurs]{nomG}} ; \draw (G) -- (G1) ;
		\node (B) at (1.2,0.17) {} ;
		\node (B1) at (2.9,0) {\useKV[cerclesCouleurs]{nomB}} ; \draw (B) -- (B1) ;
		\node (C) at (0,0.7) {} ;
		\node (C1) at (0.3,1.9) {\useKV[cerclesCouleurs]{nomGB}} ; \draw (C) -- (C1) ;
		\node (M) at (0.6,-0.3) {} ;
		\node (M1) at (2.5,-2) {\useKV[cerclesCouleurs]{nomBR}} ; \draw (M) -- (M1) ;
		\node (Y) at (-0.6,-0.4) {} ;
		\node (Y1) at (-2,-1) {\useKV[cerclesCouleurs]{nomRG}} ; \draw (Y) -- (Y1) ;
		\node at(0,0) {\useKV[cerclesCouleurs]{nomRGB}} ;
		\node at (2.2,-2.9) {\textbf{{Synthèse}}};
		\node at (2.2,-3.3) {\textbf{\useKV[cerclesCouleurs]{synthese}}};
		\node at (-1.4,-3.3) {\textbf{\useKV[cerclesCouleurs]{systeme}}};
	\end{tikzpicture}
}
\begin{document}

\CerclesCouleurs[]\hfill
\CerclesCouleurs[%
	R		= cyan,
	G		= magenta,
	B		= yellow,
	RG		= Blue,
	RB		= ForestGreen,
	GB		= Red,
	RGB		= Black,
	nomR	= Cyan,
	nomG	= Magenta,
	nomB	= Jaune,
	nomRG	= Bleu,
	nomGB	= Rouge,
	nomBR	= Vert,
	nomRGB	= Noir,
	synthese=soustractive,
	systeme =CMY]
%	
\end{document}