五角形内に多角形面を描く

五角形内に多角形面を描く

私には 5 つのプロパティがあり、それらを五角形の軸に沿って視覚化するとよいと思いました。プロパティは 0 ~ 5 の整数値を取ることができます。これらを組み合わせると、五角形内の面が広がります。

これは私が望む画像の見た目です [Inkscape でマーカーを作成するのに永遠に時間がかかりました :-)] :

ここに画像の説明を入力してください

これまでのところ、次のものがあります:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}

\begin{document}

\begin{tikzpicture}
\newdimen\R
\R=4cm
\node[draw=black, minimum size=\R,regular polygon,regular polygon sides=5] (a) {};
\draw (a.center) -- (a.north)    node[above] {Property1};
\draw (a.center) -- (a.corner 5) node[right] {Property2};
\draw (a.center) -- (a.corner 4) node[right] {Property3};
\draw (a.center) -- (a.corner 3) node[left]  {Property4};
\draw (a.center) -- (a.corner 2) node[left]  {Property5};

\draw [thin,black!20] circle (\R) ;
\fill[red] circle (2pt);

% Trial/error for this example
%                              P1        P2           P3              P4             P5
\draw[fill=cyan, opacity=0.8] (0,1.5) -- (0.9,0.3) -- (0.55, -0.8) -- (-0.6,-0.8) -- (-1.4,0.45) -- cycle;

\end{tikzpicture}

\end{document}

その結果、次のようになります。

ここに画像の説明を入力してください

頂点にマーカーを描いて均等な間隔を空けるのが難しく、5つの整数値で与えられた多角形を塗りつぶすのも難しくて、

描くべきものがかなりあるので、上記をマクロにすると本当にいいと思います :-)

答え1

以下は手動実装ですpstricksそのため、LaTeX または XeLaTeX のいずれかでコンパイルします。

ここに画像の説明を入力してください

\documentclass{article}
\usepackage{pstricks}% http://tug.org/PSTricks/main.cgi/
\usepackage{multido,xcolor}% http://ctan.org/pkg/{multido,xcolor}

\newcommand{\proppoly}[6][]{
  \pspolygon[fillstyle=solid,fillcolor=cyan,opacity=0.8,#1]%
    (#2;90)(#3;162)(#4;234)(#5;306)(#6;18)% Property polygon
}

\begin{document}

\begin{pspicture}(-5,-5)(5,5)
  \SpecialCoor% Allow for polar coordinate specifications
  \psset{runit=3cm,linewidth=.5pt}
  \pscircle[linecolor=black!20](0,0){1.2}% Outer circle

  \psset{linecolor=black!50}
  \multido{\iA=1+1,\iB=90+72}{5}{
    \psline(0,0)(1;\iB)% Radial line outward
    \multido{\rC=0.2+0.2}{4}{%
      \rput{\number\numexpr\iB+90\relax}(\rC;\iB){\psline(-2pt,0)(2pt,0)}}% Ticks are 4pt in length
    \rput{0}(1.1;\iB){\iA}% Property #s
  }

  \pspolygon(1;90)(1;162)(1;234)(1;306)(1;18)% Outer pentagon

  \proppoly{0.8}{0.87654}{0.4765}{0.55}{0.314}
\end{pspicture}

\end{document}

\proppoly[<options>]{<p1>}{<p2>}{<p3>}{<p4>}{<p5>}オプションを使用して、プロパティ<p1>、、、<p2>の値を含むポリゴンをプロットします。<p3><p4><p5><options>

\proppoly複数のs を重ねて追加することもできます。

ここに画像の説明を入力してください

...
\proppoly{0.8}{0.87654}{0.4765}{0.55}{0.314}
\proppoly[fillcolor=green!30!yellow]{0.4}{0.5}{0.7}{0.9}{1}
\proppoly[fillcolor=red!70,opacity]{0.2}{0.3}{0.2}{0.3}{0.2}
...

関連情報