/// <summary> /// Rotaciona o poligono ++ /// </summary> /// <param name="degreeFactor"></param> public void Rotate(double degreeFactor) { var translX = this.Bbox.centerX; var translY = this.Bbox.centerY; var originTrans = new Transformacao4D(); originTrans.atribuirTranslacao(translX, translY, 0); var rotationTrans = new Transformacao4D(); rotationTrans.atribuirRotacaoZ(Transformacao4D.DEG_TO_RAD * degreeFactor); var initialPositionTrans = new Transformacao4D(); initialPositionTrans.atribuirTranslacao(-translX, -translY, 0); var result = originTrans.transformMatrix(rotationTrans); result = result.transformMatrix(initialPositionTrans); this.transformacao = result.transformMatrix(this.transformacao); this.UpdateBBox(); }
public void rotacaoZ(double angulo) { matrizTmpRotacao.atribuirRotacaoZ(Transformacao4D.DEG_TO_RAD * angulo); matriz = matrizTmpRotacao.transformMatrix(matriz); }