This method calculates tangent of Cubic Bezier Curve. - Java java.lang

Java examples for java.lang:Math Curve

Description

This method calculates tangent of Cubic Bezier Curve.

Demo Code

/*/* w  w w  .j  ava 2s  . c  o m*/
 * Copyright 2012 Alex Usachev, thothbot@gmail.com
 * 
 * This file is part of Parallax project.
 * 
 * Parallax is free software: you can redistribute it and/or modify it 
 * under the terms of the Creative Commons Attribution 3.0 Unported License.
 * 
 * Parallax is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the Creative Commons Attribution 
 * 3.0 Unported License. for more details.
 * 
 * You should have received a copy of the the Creative Commons Attribution 
 * 3.0 Unported License along with Parallax. 
 * If not, see http://creativecommons.org/licenses/by/3.0/.
 */
//package com.java2s;

public class Main {
    /**
     * This method calculates tangent of Cubic Bezier Curve.
     * 
     * Puay Bing, thanks for helping with this derivative!
     * 
     * @param t  the value in range <0.0, 1.0>. The t in the 
     *          function for a linear Bezier curve can be 
     *          thought of as describing how far B(t) is from p0 to p3.
     * 
     * @param p0 the p0 Cubic Bezier Curve point.
     * @param p1 the p1 Cubic Bezier Curve point.
     * @param p2 the p2 Cubic Bezier Curve point.
     * @param p3 the p3 Cubic Bezier Curve point.
     * 
     * @return the tangent of Cubic Bezier Curve
     */
    public static double tangentCubicBezier(double t, double p0, double p1,
            double p2, double p3) {
        return -3.0 * p0 * (1.0 - t) * (1.0 - t) + 3.0 * p1 * (1.0 - t)
                * (1.0 - t) - 6.0 * t * p1 * (1.0 - t) + 6.0 * t * p2
                * (1.0 - t) - 3.0 * t * t * p2 + 3.0 * t * t * p3;
    }
}

Related Tutorials