Re: Picking out pieces of a list
- To: mathgroup at smc.vnet.net
- Subject: [mg76076] Re: Picking out pieces of a list
- From: Hatto von Aquitanien <abbot at AugiaDives.hre>
- Date: Wed, 16 May 2007 05:19:09 -0400 (EDT)
- References: <f26nc2$42l$1@smc.vnet.net> <f29c20$po4$1@smc.vnet.net>
CKWong wrote:
> I don't know if this qualifies as "tighter", but it doesn't require
> the function m.
>
> Table[ Flatten[{lst[[i]], Reverse[lst[[Mod[i + 1, Length@lst, 1]]]]},
> 1], {i, Length@lst}] //TableForm
Well, I left my question intentionally somewhat vague in order to see how
other people might approach the general problem. So I can't complain that
your reply didn't provide the answer I was looking for.
I consolidated my code along the lines you suggested and got this:
Join[lst[[#]], Reverse@lst[[Mod[# + 1, Length@lst, 1]]]] & /@
Range@Length@lst // MatrixForm
There is nothing wrong with that approach. What I was fishing for is a way
to grab all four points for each Polygon in one pts[[(*what goes here?*)]].
Here's the drawing code using the modifications based on your suggestions.
R3[\[Theta]_, r_: 1.0, p_: {0, 0, 0}] :=
r {0, Cos@\[Theta], Sin@\[Theta]} + p
r1 = 1.0;
r2 = 0.8;
\[CapitalDelta]x = 0.5;
p1 = {\[CapitalDelta]x, 0, 0};
p2 = {0, 0, 0};
pts = {R3[#, r1, p1], R3[#, r2, p2]} & /@
Range[-\[Pi], \[Pi], \[Pi]/20];
Graphics3D[{Opacity[.3]
, EdgeForm[]
, {Line[#], Polygon[#]} &@pts[[All, 1]]
, Polygon[#] &@pts[[All, 2]]
, Polygon@
Join[pts[[#]], Reverse@pts[[Mod[# + 1, Length@pts, 1]]]] & /@
Range@Length@pts}]
--
http://www.dailymotion.com/video/x1ek5w_wtc7-the-smoking-gun-of-911-updated
http://911research.wtc7.net
http://vehme.blogspot.com
Virtus Tutissima Cassis