Re: Visualization of a list of 3D points coordinates with a perspective

• To: mathgroup at smc.vnet.net
• Subject: [mg89324] Re: Visualization of a list of 3D points coordinates with a perspective
• From: "David Park" <djmpark at comcast.net>
• Date: Thu, 5 Jun 2008 00:45:47 -0400 (EDT)
• References: <g25nta\$hu5\$1@smc.vnet.net>

```Alexei,

This is an interesting graphical problem because it is often difficult to
see the relation between a set of points in a 3D plot. Of coursse, it helps
if one can rotate the plot and this is one advantage of a Mathematica
notebook over a static printed page.

You could implement your method by defining the rendered object as a pure
function and then mapping it onto the point set:

pointset = Array[RandomReal[{-10, 10}] &, {20, 3}];

Graphics3D[{ColorData["CoffeeTones"][
Rescale[Part[#, 2], {-10, 10}, {1, 0}]],
Sphere[#, Rescale[Part[#, 2], {-10, 10}, {.5, .1}]]} & /@
pointset,
Lighting -> "Neutral",
Axes -> True]

There is a question of whether this kind of 'coding' will be understood by
the viewer of the plot. If the size or color of the spheres related to the
'intensity' of the point I think it might be understood but it might be
misunderstood as 'perspective'.

Another method might be to give some additional 3D structure to the set of
points. This might be done by drawing lines to the projection of the points
on one of the planes.

Graphics3D[{GrayLevel[0.7], Line[{#, # {1, 1, 0} + {0, 0, -10}}],
AbsolutePointSize[5], Point[# {1, 1, 0} + {0, 0, -10}],
ColorData["CoffeeTones"][.5], Sphere[#, .3]} & /@ pointset,
Lighting -> "Neutral",
FaceGrids -> {{0, 0, -1}},
Axes -> True]

It would be interesting to see other ideas for giving visual structure to
such a set of 3D points.

--
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/

"Alexei Boulbitch" <Alexei.Boulbitch at iee.lu> wrote in message
news:g25nta\$hu5\$1 at smc.vnet.net...
> Dear MathGroup members,
>
> I have a list containing 3D coordinates of a number of points, like this
> one
> lst={{3.30414, -2.86064, -2.54648}, {4.06572, 3.80403,
>   1.68897}, {-1.72822, -2.03097, -4.1024}, ...}
>
> I would like to visualize them by plotting them. To plot them as a set
> of points may be trivially done by say, ListPointPlot3D. Alternatively,
> it may be visualized as a set of spheres with unit radius and centered
> in the points specified by the list, e.g. in the point {3.30414,
> -2.86064, -2.54648}, in {4.06572, 3.80403, 1.68897} etc.
>
> Now comes the question. I would like to do it in such a way that the
> size (and may be the color) of each point or sphere would depend upon
> one of the coordinates (say, y). In other words, the size and the of the
> first point specified by lst with y=-2.86064 would be smaller than that
> of the second point that has y=3.80403. The color or darkness may also
> depend upon y. This would give a feeling of a perspective.
>
> Do you have an idea of how to do this?
>
> Best, Alexei
>
> --
> Alexei Boulbitch, Dr., habil.
> Senior Scientist
> IEE S.A.
> Material Development,
> ZAE Weiergewan
> 11, rue Edmond Reuter,
> L-5326 Contern,
> Luxembourg
> Tel.: +352 2454-2566
> Fax:  +352 2454-3566
> e-mail: alexei.boulbitch at iee.lu
>
> --
> This e-mail may contain trade secrets or privileged, undisclosed or
> otherwise confidential information. If you are not the intended
> recipient and  have received this e-mail in error, you are hereby
> notified that any review, copying or distribution of it is strictly
> prohibited. Please inform us immediately and destroy the original