Re: How to convert a flat scan of a 3D object, into a 3D picture in cylindrical coordinates?
- To: mathgroup at smc.vnet.net
- Subject: [mg47659] Re: How to convert a flat scan of a 3D object, into a 3D picture in cylindrical coordinates?
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Wed, 21 Apr 2004 05:22:57 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <c62jc9$rcf$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi, I can't look at your Exel sheet on my SGI but mat = Import["Abe3D.txt", "Table"]; {n, m} = Dimensions[mat]; toCylinder[{i_, j_}, r_] := Module[{phi}, phi = 2Pi*(j - 1)/(m - 1); {r*Cos[phi], r*Sin[phi], 70(n - i)/n} ] toPolygons[pnts_] := Module[{l = pnts, l1 = Map[RotateLeft, pnts], mesh}, mesh = {l, l1, RotateLeft[l1], RotateLeft[l]}; mesh = Map[Drop[#, -1] &, mesh, {1}]; mesh = Map[Drop[#, -1] &, mesh, {2}]; mesh = Map[ Polygon[Reverse[#]] &, Transpose[ Flatten[#, 1] & /@ mesh ] ] // Flatten ] mesh = MapIndexed[toCylinder[#2, #1] &, mat, {2}]; Show[Graphics3D[toPolygons[mesh], ViewPoint -> {-2.618, -1.871, 1.046}]] Should produce your 3d Lincolm data. You can use MathGL3d or the RealTime Graphics package to rotate it in Mathematica. Regards Jens Gilmar Rodr?guez Pierluissi wrote: > > Please; double-click the following internet links: > > http://www.tilmarlily.netfirms.com/download/Abe3D.txt > http://www.tilmarlily.netfirms.com/download/Abe3D.xls > > to download: > > (1.) the text file: "Abe3D.txt" and, > (2.) an Excel spreadsheet: "Abe3D.xls". > > The file "Abe3D.txt" is data obtained by scanning the surface of a > bust of Abraham Lincoln. This file contains a 95 X 73 array of > values. Each line of longitude was smoothened using a cubic spline, > and the whole array can be used to draw a (rough) 3D picture of the > bust. > You can view this picture by opening the spreadsheet Abe3D.xls, > and opening the Excel chart in it. Notice that the image of "Abe" > (for short) > is flat; i.e. similar to a Mercator map of the World. My question is: > How can I build a 3D picture of Abe, using cylindrical coordinates, > so that the new picture looks like the real bust of Abe, and a person > can rotate the picture of the bust in 3D? > Thank you for your help!