2

I works between science and geobiology in France and I would like to create custom dowsing charts which would looks like the exemples above : Circle dowsing chart

Those charts are for longer text and they have to be in the axis of each portion of circle and starting from the outer side of the center for the left half center and staring from the center for the right half center to be readeable... If you have any idea for this, it could be really good !

On the left side, there is some index for dowsing from a dowsing chart to one other and a title permit to have some reference to link those chart together.

Actually I am not really skilled in programming and I am a simple user of latex, so i might need help to start with this. Maybe anyone have in mind some clues / exemples to look on to get this working with TikZ.

In my mind I would like to enter a list of terms, and that the TikZ script automatic split into angle angle sections with automation.

Thanks a lot !

with

2

The answer is pretty much like the one to your previous question: use pics (even though in this case this is not as advantageous as in the previous one). And the same complaint: if you provide us with the texts, you will get much more answers and more positive feedback. I made some texts up.

On the bright side, there is none cute aspect. One needs to autorotate the texts depending on the rotation angle. Here this is done in a transformed pic. (TikZ of course offers this automatically in sloped texts.)

\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[pics/pft/.style={code={
 \def\pv##1{\pgfkeysvalueof{/tikz/pft/##1}}
 \draw[pic actions] (\pv{alpha}:\pv{r}) -- (\pv{alpha}:\pv{R}) to[out=-90,in=150] 
 (0:\pv{R}+\pv{dR})  to[out=-150,in=90]
  (-\pv{alpha}:\pv{R}) -- (-\pv{alpha}:\pv{r}) -- cycle;
 \pgfgettransformentries{\tmpa}{\tmpb}{\tmpc}{\tmpd}{\tmp}{\tmp}%
 \pgfmathtruncatemacro{\itest}{(\tmpd<0 ? -1 :1)}
 \path  (0:\pv{R}) node[scale=\itest,anchor={90-90*\itest},transform shape,node font=\sffamily] {#1}; 
 }},pft/.cd,r/.initial=0.1,alpha/.initial=5,R/.initial=4,dR/.initial=0.3]
 \path foreach \X [count=\Y] in 
  {fox,marmot,cat,koala,bear,duck,mouse,%
  anteater,rhino,hippo,lion,tiger,%
  fox,marmot,cat,koala,bear,duck,mouse,%
  anteater,rhino,hippo,lion,tiger,
  fox,marmot,cat,koala,bear,duck,mouse,%
  anteater,rhino,hippo,lion,tiger}
  {(0,0)pic[anchor=west,rotate=160-\Y*10] {pft={\X}}
  \ifnum\Y<13
   (165-\Y*10:4.6) node[font=\sffamily\bfseries]{\Y}
  \fi
  };
 \fill circle[radius=0.2cm]; 
\end{tikzpicture}
\end{document}

enter image description here

Maybe I was to optimistic about TikZ ability to avoid upside down automatically. It works, but one still has to help out when setting the anchor.

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{shadings}
\begin{document}
\begin{tikzpicture}
\begin{scope}[pft/.cd,r/.initial=0.1,alpha/.initial=4.5,R/.initial=4,dR/.initial=0.3]
 \def\pv#1{\pgfkeysvalueof{/tikz/pft/#1}}
 \draw[shading=color wheel,fill opacity=0.2] 
  (155:\pv{r})
  foreach \Y in {1,...,36}
   { --
   (160-\Y*10+\pv{alpha}:\pv{r}) -- (160-\Y*10+\pv{alpha}:\pv{R}) 
    to[out=160-\Y*10-90,in=160-\Y*10+150] 
  (160-\Y*10:\pv{R}+\pv{dR})  to[out=160-\Y*10-150,in=160-\Y*10+90]
   (160-\Y*10-\pv{alpha}:\pv{R}) -- (160-\Y*10-\pv{alpha}:\pv{r})
   } -- cycle;
 \path
  foreach \X [count=\Y] in 
   {fox,marmot,cat,koala,bear,duck,mouse,%
   anteater,rhino,hippo,lion,tiger,%
   fox,marmot,cat,koala,bear,duck,mouse,%
   anteater,rhino,hippo,lion,tiger,
   fox,marmot,cat,koala,bear,duck,mouse,%
   anteater,rhino,hippo,lion,tiger}
   { (160-\Y*10:\pv{r})-- (160-\Y*10:\pv{R}) 
    node[pos=1,sloped,anchor={90-90*ifthenelse(cos(160-\Y*10)<0,-1,1)},font=\sffamily]{\X}
  \ifnum\Y<13
   (165-\Y*10:4.6) node[font=\sffamily\bfseries]{\Y}
  \fi
   } -- cycle;   
 \fill circle[radius=0.2cm];
\end{scope} 
\end{tikzpicture}
\end{document}

enter image description here

Interested in fancier versions thereof? Then see here.

All the other stuff can be done with either the folding or shapes.geometric library.

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}[nodes={draw=gray,node font=\bfseries\sffamily},
    rp/.style={regular polygon,regular polygon sides=#1}]
 \path node[rp=8,minimum size=8em](6gon) {Potency}
 foreach \X [count=\Y] in {6P,12C,30C,200C,1M}
 {(6gon.225-45*\Y) node[rp=5,anchor=south,rotate=135-45*\Y,minimum size=5.2em]{\X}};
 \path (8,0) node[star,star points=7,minimum
 size=14em,fill=gray!50,rotate=360/14](S) {} 
 foreach \X [count=\Y,evaluate=\Y as \Z using {int(1+Mod(2-\Y,7))}]  in {Cream,Beer,Wine,Whiskey}
 {(S.outer point \Z) -- (S.center) 
 node[pos=0.1,sloped,anchor={90-sign(\Z-2.5)*90},draw=none]{\X}}
 (S.center) node[star,star points=7,minimum size=7em/2,rotate=360/14]{};
\end{tikzpicture}
\end{document}

enter image description here

| improve this answer | |
  • 1
    Thank you so much ! Do you have any idea how could I mix all those diagrams in a same page ? Light is with you ! – zaord Mar 20 at 11:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.