title: Unity3d Rotate around a specific point over time
body: <p>I'm writing a function that slowly turns exactly 90 degreees over the course of a period of time.  So far everything is working fine,  I just need to figure out how to make it rotate around a point instead of rotation around the transforms center.</p>
  
  <pre><code>protected bool _isRotating = false;
  public IEnumerator RotateWithEasing(GameHelper.Axis axis, Vector3 isolatedAxisPoint, float inTime)
  {
      if(_isRotating)
      {
          yield break;
      }
  
      _isRotating = true;
  
      var degrees = this.GetDegreesFromAxis(axis);
  
      Quaternion fromAngle = transform.rotation;
      Quaternion toAngle = Quaternion.Euler(transform.eulerAngles + degrees);
      for (float t = 0f; t &lt; 1f; t += Time.deltaTime / inTime)
      {
          transform.rotation = Quaternion.Lerp(fromAngle, toAngle, t);
          yield return null;
      }
  
      _isRotating = false;
  }
  </code></pre>
  
  <p>Can anyone help point me in the right direction,  How can I modify this so it rotates around the specified isolatedAxisPoint?</p>