# How to tilt an ellipse

I want to tilt an ellipse I’m drawing with ofDrawEllipse(), slightly to the right, but I can’t make it work. I though that ofRotateDeg() would do the trick, but this function rotates the whole coordinates system, and the ellipse moves in the 3D space. All I want is to make it spin slightly so it tilts a bit. Not sure if I make my point clear.

Hi,
Not sure if I get it, but is this example useful?

``````#include "ofApp.h"

void ofApp::setup(){
ofSetFrameRate(60);
ofSetWindowShape(400, 400);
ofNoFill();
}

void ofApp::update(){

}

void ofApp::draw(){
ofBackground(0);
ofPushMatrix();
ofTranslate(ofGetWidth()*0.5, ofGetHeight()*0.5);

if(ofGetFrameNum() % (180*3) < 180){
} else if(ofGetFrameNum() % (180*3) < (180*2)){
} else{
}

ofDrawEllipse(0, 0, ofGetWidth()*0.4, ofGetWidth()*0.6);
ofPopMatrix();
}
``````

Where the trick is to first call ofTranslate() before ofRotateDeg().
If you want to tilt around another axis then the center axis, you have to change ofTranslate(), like this for example:

``````void ofApp::draw(){
ofBackground(0);
ofPushMatrix();
ofTranslate(ofGetWidth()*0.5, ofGetHeight()*0.5 + (ofGetWidth()*0.6*0.5)); // Add half height of ellipse

if(ofGetFrameNum() % (180*3) < 180){
} else if(ofGetFrameNum() % (180*3) < (180*2)){
The first example did it, thanks! The trick was indeed the use of `ofTranslate()` prior to `ofRotateDeg()`, something that I was sort of aware of, but the detail was that the X and Y coordinates of the position I wanted the ellipse to be drawn at had to go to `ofTranslate()` and `ofRotateDeg()` must take 0s for these two arguments. Exactly like you proposed.