public static Shape CylinderR(int n, double lineLn = 1, double lineR = 0.1, int m = 2) => ( (Surfaces.Cylinder(n, m) + Surfaces.Circle(n, 2) + Surfaces.CircleM(n, 2).Move(0, 0, m - 1)) .Scale(lineR, lineR, lineLn / (m - 1)) ).Normalize();
public static Shape ArrowR(int n, double lineLn = 1, double lineR = 0.01, double arrowLn = 0.05, double arrowR = 0.02) => ( ( (Surfaces.Cylinder(n, 2) + Surfaces.Circle(n, 2)).Scale(lineR, lineR, lineLn) + (Surfaces.Circle(n, 2) + Surfaces.ConeM(n, 2).Move(0, 0, 1)).Scale(arrowR, arrowR, arrowLn).Move(0, 0, lineLn) ) ).Normalize();