I currently create a cylinder out of a line consisting of a number of points. At each point, I take the perpendicular vector and a vector created from joining the point before and the point after. I then rotate the perpendicular vector around the other vector to create the bases of the cylinders, with all the bases being joined up to create 3d cylinder frame.

This seems fine, but when it is moved through 3d space, and the points twist and turn, the cylinder becomes distorted.

Can anyone either give me some advice or point me in the right direction, please?