as chris and ned observed, you may indeed want to do your
analysis before bringing your data into dx, and we probably
ought to take the rest of this discussion off-line, but as
a parting shot, just for grins here's a square bagel picture.
(cut the following text and run it with 'dx -script'). it probably
doesn't have the correct axis of symmetry, but you get the idea.
nancy
grid = Construct([0,5], [0.35,1], [20,4]);
pos = Mark(grid, "positions");
comp = Compute("[$0.y * cos($0.x), $0.y * sin($0.x)]", pos);
warp = Unmark(comp);
ser = CollectSeries(warp, 0.0, warp, 4.0);
threeD = Stack(ser);
lines = ShowConnections(threeD);
cam = AutoCamera(lines, "off-right");
image = Render(lines, cam);
Display(image);