SketchPad

Some web space to sketch, doodle and make notes. Made using these tools. See more of my work here.

Daily Sketches

Sketch 2015-05-04

        void ofApp::setupAnim() {
    
    done = false;
    numArcs = 8;
    
    for(int i = 0; i < numArcs; i++) {
        ofxShape arc;
        arcs.push_back(arc);
        ofxAnimatableFloat arcPosition;
        arcPositions.push_back(arcPosition);
        ofxAnimatableFloat arcRotation;
        arcRotations.push_back(arcRotation);
    }
    
    for(int i = 0; i < numArcs; i++) {
        arcPositions.at(i).setRepeatType(PLAY_ONCE);
        arcPositions.at(i).setCurve(SWIFT_GOOGLE);
        arcPositions.at(i).reset((width * 2) + (width * 0.2));
        arcPositions.at(i).animateTo(width * 0.5);
        arcPositions.at(i).setDuration(1.25);
        
        arcRotations.at(i).setRepeatType(PLAY_ONCE);
        arcRotations.at(i).setCurve(SWIFT_GOOGLE);
        arcRotations.at(i).animateFromTo(180, 0);
        arcRotations.at(i).setDuration(1.25);
        
        arcs.at(i).setupHollowArc(60, (i + 1) * 10, (i + 1) * 35, 180);
        arcs.at(i).setBlur(2);
        arcs.at(i).positionX(arcPositions.at(i).val());
        arcs.at(i).positionY(height * 0.5);
        
        //Set colors
        if(i % 3 == 0) arcs.at(i).setColor(ofColor(4,   110, 171));
        if(i % 3 == 1) arcs.at(i).setColor(ofColor(195, 62,  31));
        if(i % 3 == 2) arcs.at(i).setColor(ofColor(52,  189, 129));
        
        shapeSystem.add(arcs.at(i));
    }
}

void ofApp::updateAnim(){
    bool allFinished = true;
    
    if(!done) {
        for(int i = 0; i < numArcs; i++) {
            if(ofGetFrameNum() > (i * 7)) {
                arcPositions.at(i).update(1.0f/framerate);
                arcs.at(i).positionX(arcPositions.at(i).val());
        
                arcRotations.at(i).update(1.0f/framerate);
            
                if(i % 2 == 0) {
                    arcs.at(i).rotateZ(arcPositions.at(i).val());
                }
            
                if(i % 2 == 1) {
                    arcs.at(i).rotateZ(arcPositions.at(i).val() + 180);
                }
            }
        
            if(!arcPositions.at(i).hasFinishedAnimating()) {
                allFinished = false;
            }
        }
    }
    
    if(allFinished) {
        for(int i = 0; i < numArcs; i++) {
            arcPositions.at(i).setRepeatType(PLAY_ONCE);
            arcPositions.at(i).setCurve(SWIFT_GOOGLE);
            arcPositions.at(i).animateTo(width * 3);
        }
    }
    
    shapeSystem.update();
}

void ofApp::drawAnim() {
    ofBackground(0, 0, 0);
    ofEnableAlphaBlending();
    ofEnableBlendMode(OF_BLENDMODE_ADD);
    shapeSystem.draw();
    ofDisableBlendMode();
    ofDisableAlphaBlending();
    
    if(ofGetFrameNum() == 68) {
        renderGif();
    }
}
    

Things roll in. Things roll out.

Daily sketch