By definition, a tropical surface in $\mathbb R^3$ is the set of points $(x,y,z)$ where the maximum $f=\max(f_1,f_2,\dots,f_n)$ is attained at least twice, here $f_i$ stand for some linear functions of the type $a+ix+jy+kz, a\in \mathbb R,i,j,k\in\mathbb Z$.
The most basic example is a tropical plane, which is given by $f=\max(x,y,z,0)$. It is easy to see that the set of points which we interested in, is $\{(x,y,z)|x=y\geq \max(z,0)$ or $x=z\geq \max(y,0)$ or$ ... x=0\geq \max(y,z)...\}$, so it is a union of six hyperplanes.
One can use an equivalent definition: the tropical surface is the set of points where $f$ is not smooth (or, equivalently, not linear).
Here is the question: given $f_1,f_2,\dots$ of the above form we need to draw the set where $f=\max(f_1,f_2,\dots,f_n)$ is not smooth. In principle, one can elaborate all all the possible inequalities ($f_1=f_2\geq f_i$ for all $i$ etc), but there should be more elegant way to do that. Could you help me?
Added: the simplest way, proposed by belisarius Apr 13 at 16:12, seems to be
fns[u_, v_, w_] := {u, v, w, 0}; k = 20;
RegionPlot3D[First@Differences[Sort[fns[u, v, w]][[1 ;; 2]]] == 0,
{u, -k, k}, {v, -k, k}, {w, -k, k}, PlotPoints -> 50]
but it draws only a part of all points (for the function $\min(x,y,z,0)$ attained twice), without the points $(0,a,b),(a,0,b),(a,b,0)$ with $a,b>0$. How could that be?
fns[u_, v_, w_] := {u, v, w, 0}; k = 20; RegionPlot3D[ First@Differences[Sort[fns[u, v, w]][[1 ;; 2]]] == 0, {u, -k, k}, {v, -k, k}, {w, -k, k}, PlotPoints -> 50]
$\endgroup$