[quote=“MostlyHarmless, post:1, topic:49121”]…the datapoints that I have are measured from the center of the cylinder to the outside wall. When I try to plot these by using my measurements as the x axis, manually entering the z axis for height, and entering the radian from which it was taken as the y, they come out as individual lines on the grid, instead of arranged in a circle, and you know, cylinder-y…

[/quote] So, you have a set of values for each Z value which approximate to a circle.

Each value has a ‘radius’ dimension [that is NOT a X value] and an ‘angle’ in radians [that is NOT a Y value]

All of the radius/angle pairs relate to a common ‘center’ - let’s assume it’s [0,0,z]

To find the X and Y values corresponding to a pair you need to do some calculating - think of a ‘vector’.

I’d use something to make a vector along the X axis and then rotate the vector by the angle and then clone the center along the vector…

Iterating each radius/angle pair and their Z value…

```
vector = center.offset(X_AXIS, radius)
tran = Geom::Transformation.rotation(center, Z_AXIS, angle)
vector.transform!(tran)
point = center.clone.offset(vector)
```

The ‘point’ is now set correctly at [x,y,z] for that radius/angle pair and its Z.

You then need to do something with that collection of points - perhaps saved as an array of points per Z.

e.g. add a cpoint at each one, or if the angles are consistently made at each Z you can form a triangular face using

**points[0][0], points[0][1], points[1][0]**

for the up tri, and for the matching down tri

**points[1][0], points[1][1], points[0][1]**

It just needs some careful collecting and iterations