Re: Re: Re: Visualization of a list of 3D points coordinates with a perspective
- To: mathgroup at smc.vnet.net
- Subject: [mg89364] Re: [mg89327] Re: [mg89321] Re: Visualization of a list of 3D points coordinates with a perspective
- From: DrMajorBob <drmajorbob at att.net>
- Date: Sat, 7 Jun 2008 02:58:31 -0400 (EDT)
- References: <g25nta$hu5$1@smc.vnet.net> <39600.1212644089509.JavaMail.root@m08> <200806061045.GAA24082@smc.vnet.net> <30714629.1212774123988.JavaMail.root@m08>
- Reply-to: drmajorbob at longhorns.com
WRI needs to work on Through's implementation, in that case. Natural usage
should be EFFICIENT, as well.
Bobby
On Fri, 06 Jun 2008 12:32:32 -0500, Syd Geraghty <sydgeraghty at mac.com>
wrote:
> Bobby & Jens,
>
> Regarding:-
>
>> Through is SO underutilised, don't you think? And why use Transpose then
>> Part, when Part does the job on its own?
>
>
> I thought you might be interested (and perhaps surprised as I was) to
> see that using Through & Part was so much slower!
>
> lst = Table[Table[RandomReal[{-5, 5}], {i, 3}], {x, 10^6}];
>
> Timing[{ymin, ymax} = Through[{Min, Max}@lst[[All, 2]]]]
>
> {0.186833, {-4.99997, 4.99999}}
>
> Timing[{ymin, ymax} = {Min[#], Max[#]} &[Transpose[lst][[2]]]]
>
> {0.059739, {-4.99997, 4.99999}}
>
>
> Both are very elegant but Bobby's seems much more intuitive to me but it
> is slower on large data sets.
>
> Cheers ... Syd
>
>
> Syd Geraghty B.Sc, M.Sc.
>
> sydgeraghty at mac.com
>
> My System
>
> Mathematica 6.0.2.1 for Mac OS X x86 (64 - bit) (March 13, 2008)
> MacOS X V 10.5.2
> MacBook Pro 2.33 Ghz Intel Core 2 Duo 2GB RAM
>
>
>
>
>
>
> On Jun 6, 2008, at 6:45 AM, DrMajorBob wrote:
>
>> Through is SO underutilised, don't you think? And why use Transpose then
>> Part, when Part does the job on its own?
>>
>> lst = {{3.30414, -2.86064, -2.54648}, {4.06572, 3.80403,
>> 1.68897}, {-1.72822, -2.03097, -4.1024}};
>> {ymin, ymax} = Through[{Min, Max}@lst[[All, 2]]]
>>
>> Graphics3D[{Hue[0.8*(#[[2]] - ymin)/(ymax - ymin)],
>> Sphere[#, 1/(2 + #[[2]] - ymin)]} & /@ lst]
>>
>> {-2.86064, 3.80403}
>>
>> Bobby
>>
>> On Wed, 04 Jun 2008 23:45:14 -0500, Jens-Peer Kuska
>> <kuska at informatik.uni-leipzig.de> wrote:
>>
>>> Hi,
>>>
>>> lst = {{3.30414, -2.86064, -2.54648}, {4.06572, 3.80403,
>>> 1.68897}, {-1.72822, -2.03097, -4.1024}};
>>>
>>> and
>>> {ymin, ymax} = {Min[#], Max[#]} &[Transpose[lst][[2]]]
>>> Graphics3D[
>>> {Hue[0.8*(#[[2]] - ymin)/(ymax - ymin)],
>>> Sphere[#, 1/(2 + #[[2]] - ymin)]} & /@ lst]
>>>
>>> Regards
>>> Jens
>>>
>>>
>>> Alexei Boulbitch wrote:
>>>> 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
>>>>
>>>
>>>
>>
>>
>>
>> --
>> DrMajorBob at longhorns.com
>>
>
>
--
DrMajorBob at longhorns.com
- References:
- Re: Re: Visualization of a list of 3D points coordinates with a perspective
- From: DrMajorBob <drmajorbob@att.net>
- Re: Re: Visualization of a list of 3D points coordinates with a perspective