Perspective from Bergson

On X/Twitter, I saw a drawing by toshᴉzumi. It’s pretty complex, well made, I like it very much. I had a few thoughts how I would adjust it a bit to my taste. toshᴉzumi shared the code, so I played a bit with it. What I was doing:

  • Using styles for repeated designs (colored nodes, arrows)
  • font=\scriptsize instead of \scriptsize in node text for lineskip
  • Sharper arrow tips
  • symmetric bent arrows
  • cone in the middle of the plane
  • text below plane aligned
  • bottom texts and top texts aligned
  • sans serif font is used because I really prefer it for diagrams

I did some manual tweaks for the look I liked, just to have it quickly done because the evening is already late.

This is the result – click on it to zoom it bigger:

The original source is on Github. And this is the modified code:

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{shapes,positioning,fit}
\usetikzlibrary{calc}	%for centerarc
\tikzset{
    container/.style={
        draw, rectangle, dashed, inner sep=0.75em
    }
}
\renewcommand*{\familydefault}{\sfdefault}
\tikzset{>=stealth,
      memory/.style = {fill=cyan!10, text width=56, node distance=155},
   cognitive/.style = {fill=yellow!30, text width=65},
  phenomenal/.style = {fill=cyan!5, text width=55, node distance=165},
     explain/.style = {fill=magenta!10, text width=60,font=\scriptsize},
       small/.style = {fill=yellow!40, text width=50,font=\scriptsize},
       arrow/.style = {->, ultra thick, opacity=.8}}
\fontsize{1em}{1.1em}\selectfont

\begin{document}
	%from Bergson - Matter and Memory, p. 211 (fig. 3)
	\begin{tikzpicture}[every node/.append style = {rectangle, text centered}]
	%parallelogram
	\draw[very thick] (3.25,1.75)--(-2,1.75)--(-3.5,-1.75)--(1.75,-1.75)--cycle;
	\draw[ultra thick,white] (-0.54,1.75)--(0.55,1.75);
	\draw[very thick,dashed,gray] (-0.54,1.75)--(0.55,1.75);

	%triangle
	\draw[very thick] (0,0)--(-2.25,7.5);	%leftwards line
	\draw[very thick] (0,0)--( 2.25,7.5);	%rightward line
	
	%ellipses
	\draw[very thick] (0,7.5) ellipse (2.25cm and 0.75cm);
	\draw[very thick] (0,5.0) ellipse (1.5cm and 0.375cm);
	\draw[very thick] (0,2.5) ellipse (0.75cm and 0.1875cm);
	
	%labels
	\node (S) at (0,-0.3)	{S};
	\node at (3.5,1.75) {P};
	\node (A) at (-2.5,7.5) {A};	\node (Ap) at (-1.85,5)	{A$'$};
	\node (App) at (-1.2,2.5) {A$''$};
	\node (B) at ( 2.5,7.5) {B};	\node (Bp)  at ( 1.85,5)	{B$'$};
	\node (Bpp)  at ( 1.2,2.5) {B$''$};
	\node (V) at ( 0,7.5) {};	\node (Vp)  at (0,5)	{};
	\node (Vpp)  at (0,2.5) {};
	\node[below=1.5 of S.center, xshift=-0.9cm] {Bergson's Cone of Memory (1896)};

%%%%%%% modified %%%%%%%%

	\node[rectangle, fill=gray!10, text width=75, align=left,
	  below left=0.15 and 0.1 of S.south, font=\scriptsize]
	    (Body) {the image of the \textbf{body} \\
	    the present perception \\ the sensori-motor state};
	    %% \\ the present perception\\ the sensori-motor state
	\draw[thin] (S)--(Body);	%B to 


	%Sense

	\node[memory, right of=V]  (LTM){Long-Term Store};
	\node[text width=56, below= 0 of LTM] (){permanent};
	\node[memory, right of=Vp] (STM){Short-Term Store};
	\node[text width=56, below= 0 of STM] {15–30\,s};
	\node[memory, right of=Vpp](SenM) {Sensory Registar};
	\node[text width=56, below= 0 of SenM] (Decay){10–100\,ms };
	\node[memory, right of=S, node distance=155](Input)	{Sensory Input};
	\node[container, fit=(LTM) (Input)] (Msys) {};
	\node[above=-0.12 of Msys,align=center] (MS) {Memory System\\\vphantom{M}};
	\node[below=1.1 of Input.center, text width=80] () {Atkinson \& Shiffrin (1968)};
	

	%edge to sense
	\draw[thin] (B)--(LTM);	%B to 
	\draw[thin] (Bp)--(STM);	%B' to 
	\draw[thin] (Bpp)--(SenM);	%B' to 
	\draw[thin] (S)--(Input);	%S to 

%%%%%%%

	%Varela's Time WIndow
	\node[phenomenal, right of=LTM] (Narrative) 	{Narrative};
	\node[rectangle, fill=cyan!5, text width=55, right of=STM,
	  node distance=165] (Cognition) {Cognition};
	\node[phenomenal, right of=SenM] (Nowness) 	{``Nowness''};
	\node[phenomenal, right of=Input] (Now)	 {Now};
	\node[explain] at ($(Narrative)!.5!(Cognition)$) (NT)
	  {descriptive-narrative assessments \par \tiny (the '10' scale) };
	\node[explain] at ($(Nowness)!.5!(Cognition)$)
	  {relaxation time for large-scale integration \par \tiny (the '1' scale) };
	\node[explain]at ($(Now)!.5!(Nowness)$) (ET)
	  {basic or elementary events \par \tiny (the '1/10' scale) };
	\node[container, fit=(Narrative) (Now)] (TS) {};
%	\node[above=0 of Ssys] {Self System};
	\node[text width=80, right of=MS, node distance=165]
	  {Phenomenal Timescales};
	\node[below=1.1 of Now.center, text width=80]
	  {\vphantom{V}\\Varela (1999)};


	%edge to timescale
	\draw[thin] (LTM)--(Narrative) node[midway] (T1){};	%B to 
	\draw[thin] (STM)--(Cognition) node[midway] (T2){};	%B' to 
	\draw[thin] (SenM)--(Nowness) node[midway] (T3){};	%B' to 
	\draw[thin] (Input)--(Now) node[midway] (T4){};	%B' to 
%
%%%%%%%%%
%
	%ICS
	\node[cognitive] at ($(T1)!.5!(T2)$) (PS) {Propositional Meaning Subsystem};
	\node[cognitive] at ($(T2)!.5!(T3)$) 	(IS)  {Implicational Meaning Subsystem};
	\node[cognitive] at ($(T3)!.5!(T4)$)	(BS) {\vphantom{B}\\Body-State\\\vphantom{S}};
	\node[text width=65, above=0.00 of T1] {Interacting Cognitive Subsystems};
	\node[text width=75, below=1.1 of T4.center] {Teasdale \& Barnard (1993)};

	\draw [->,thick] (PS) to [bend left=50] node[below] {} (IS);
	\draw [->,thick] (IS) to [bend left=50] node[below] {} (PS);
	\node[rectangle, text width=50] at ($(IS)!.5!(PS)$) {cognitive loop};
	\draw [->,thick] (IS) to [bend left=50] node[below] {} (BS);
	\draw [->,thick] (BS) to [bend left=50] node[below] {} (IS);
	\node[rectangle, text width=50] at ($(BS)!.5!(IS)$) {sensory loop};
%
%
	%Self
	\node[rectangle, fill=cyan!10, text width=66, right of=Narrative, node distance=165] (Nself) 	{Narrative Self};
	\node[rectangle, fill=cyan!10, text width=66, right of=Cognition, node distance=165] (Sawa)		{Self-Consciousness};
	\node[rectangle, fill=cyan!10, text width=66, right of=Nowness, node distance=165] (Mself) 	{Minimal Self};
	\node[rectangle, fill=blue!80, text width=66, right of=Now, node distance=165,text=white] (Non)		{Non-Self};
	\node[container, fit=(Nself) (Mself)] (Ssys) {};
	\node[above=0.41 of Ssys] {Self System};
	\node[rectangle, fill=magenta!10, text width=50, font=\scriptsize] at ($(Sawa)!.5!(Nself)$) (SI) {sense of identity};
	\draw[->,ultra thick,opacity=1.0,magenta!10,line width=3]  (SI)--(Nself) node [midway] () {};
	\node[small] at ($(Sawa)!.5!(Mself)$) (IB) {intentional binding};
	\draw[->,ultra thick,opacity=1.0,yellow!40,line width=3]  (IB)--(Mself) node [midway] () {};
	\node[small] at ($(Mself)!.5!(Non)$) (MI) {multimodal integration};
	\draw[->,ultra thick,opacity=1.0,yellow!40,line width=3]  (MI)--(Mself) node [midway] () {};
	\node[below=1.1 of Non.center, text width=80] {\vphantom{G}\\Gallagher (2002)};
%
	%edge to self
	\draw[thin] (Narrative)--(Nself) node[midway] (E1){};	%B to 
	\draw[thin] (Cognition)--(Sawa) node[midway] (E2){};	%B' to 
	\draw[thin] (Nowness)--(Mself) node[midway] (E3){};	%B' to 
	\draw[thin] (Now)--(Non) node[midway] (E4){};	%B' to 
	\node[below=1.1 of E4.center, text width=80] {Erikson (1968), Beck (1979)};

	%Decentering/Identify
	\coordinate[left=0.25 of E1]   (P2);
	\coordinate[left=0.25 of E3]   (P1);
	\coordinate[left=0.25 of E4]   (P0);
	\coordinate[right=0.25 of E1]  (P4);
	\coordinate[right=0.25 of E3]  (P3);
	\coordinate[right=0.25 of E4]  (P02);
	\draw[arrow,teal,line width=4]  (P2)--(P1) node [midway] (P5) {};
	\draw[arrow,teal,densely dashed]  (P1)--(P0) node [midway]  {};
	\draw[arrow,purple,line width=4]  (P3)--(P4) node [midway] (P6) {};
	\draw[arrow,purple,densely dashed]  (P02)--(P3) node [midway]  {};
	\node [rectangle, fill=teal,text=white]  at ($(E1)!0.5!(E3)+(0,-1)$) {Decentering};
	\node [rectangle, fill=purple,text=white]  at ($(E1)!0.5!(E3)+(0,1)$) {Self-Identify};
	\end{tikzpicture}
\end{document}

Click on “Run LaTeX here” to get it as a PDF.

Learning TikZ is challenging but really rewarding. A good book can help learning the basics quickly, such as TikZによるLaTeXグラフィックス.