let polarToCartesian centerX centerY radius angleInDegrees = let angleInRadians = (angleInDegrees -. 90.0) *. Js.Math._PI /. 180.0 in ( centerX +. (radius *. Js.Math.cos angleInRadians), centerY +. (radius *. Js.Math.sin angleInRadians) ) let describe x y radius startAngle endAngle = let startX, startY = polarToCartesian x y radius endAngle in let endX, endY = polarToCartesian x y radius startAngle in let largeArcFlag = if endAngle -. startAngle <= 180.0 then "0" else "1" in [| "M"; Js.Float.toString startX; Js.Float.toString startY; "A"; Js.Float.toString radius; Js.Float.toString radius; "0"; largeArcFlag; "0"; Js.Float.toString endX; Js.Float.toString endY; |] |> Js.Array.joinWith " "