title: UIBezierPath Creating Triangle,Square,Circle Swift
body: <p>I am attempting to create three shapes: a Circle, Square &amp; Triangle. I have created the circle &amp; square, but am unable to create the triangle. My biggest issue is to keep all three shapes in the center of the screen. The circle and square are fine, but when I attempt to make the triangle it does not work. I am also trying to make the triangle look like a "play button" so that the "tip" of the triangle is facing to the right. Here is the code.</p>
  
  <pre><code>func trainglePathWithCenter(center: CGPoint, side: CGFloat) -&gt; UIBezierPath {
      let path = UIBezierPath()
  
      let startX = center.x - side / 2
      let startY = center.y - side / 2
  
     path.move(to: CGPoint(x: startX, y: startY))
      path.addLine(to: CGPoint(x: startX, y: startY - side))
      path.addLine(to: CGPoint(x: startX + side, y: startY + side/2))
      path.close()
  
      return path
  }
  
  
  func circlePathWithCenter(center: CGPoint, radius: CGFloat) -&gt; UIBezierPath {
      let circlePath = UIBezierPath()
      circlePath.addArc(withCenter: center, radius: radius, startAngle: -CGFloat(M_PI), endAngle: -CGFloat(M_PI/2), clockwise: true)
      circlePath.addArc(withCenter: center, radius: radius, startAngle: -CGFloat(M_PI/2), endAngle: 0, clockwise: true)
      circlePath.addArc(withCenter: center, radius: radius, startAngle: 0, endAngle: CGFloat(M_PI/2), clockwise: true)
      circlePath.addArc(withCenter: center, radius: radius, startAngle: CGFloat(M_PI/2), endAngle: CGFloat(M_PI), clockwise: true)
      circlePath.close()
      return circlePath
  }
  
  func squarePathWithCenter(center: CGPoint, side: CGFloat) -&gt; UIBezierPath {
      let squarePath = UIBezierPath()
      let startX = center.x - side / 2
      let startY = center.y - side / 2
  
      squarePath.move(to: CGPoint(x: startX, y: startY))
  
      squarePath.addLine(to: squarePath.currentPoint)
      squarePath.addLine(to: CGPoint(x: startX + side, y: startY))
      squarePath.addLine(to: squarePath.currentPoint)
      squarePath.addLine(to: CGPoint(x: startX + side, y: startY + side))
      squarePath.addLine(to: squarePath.currentPoint)
      squarePath.addLine(to: CGPoint(x: startX, y: startY + side))
      squarePath.addLine(to: squarePath.currentPoint)
      squarePath.close()
      return squarePath
  
  }
  </code></pre>
  
  <p>Where am I going wrong with the geometry for the triangle?</p>