Open In App

Fabric.js easeInOutSine() Method

In games or animations, there are many moving objects which can move them from point A to B in a linear fashion, but after applying an easing, or easing function, it can make it look more natural. An easing function says how animation performs in progress. In this way, a straight motion can take an interesting shape.

Easing functions specify the rate of change of a parameter over time. It is whose equations which make something move slowly at the start and speed up, or slow down near the end. The most common set of easing equations come from Robert Penner’s book and webpage.



The easeInOutSine() method is used for sinusoidal easing in and out.

Syntax:



easeInOutSine(t, b, c, d)

Parameters: This method accepts four parameter as mentioned above and described below:

Return Value: This method returns the eased position of the object i.e., the position of the object at a specific time.

Example 1:




<!DOCTYPE html>
<html>
  
<head>
    <!-- Adding the FabricJS library -->
    <script src=
    </script>
</head>
  
<body>
    <script type="text/javascript">
  
        // Initializing easeInOutSine() function
        function easeInOutSine(t, b, c, d) {
            return -c / 2 * (Math.cos(
                Math.PI * t / d) - 1) + b;
        }
  
        // Calling the easeInOutSine() function
        // over the specified parameter values
        console.log(fabric.util.ease
            .easeInOutSine(1, 2, 3, 4));
    </script>
</body>
  
</html>

Output:

2.4393398282201786

Example 2:




<!DOCTYPE html>
<html>
  
<head>
    <!-- Adding the FabricJS library -->
    <script src=
    </script>
</head>
  
<body>
    <script type="text/javascript">
  
        // Initializing easeInOutSine() function
        function easeInOutSine(t, b, c, d) {
            return -c / 2 * (Math.cos(
                Math.PI * t / d) - 1) + b;
        }
  
        // Initializing the parameters
        // with its values
        var t = 5;
        var b = 10;
        var c = 40;
        var d = 12;
  
        // Calling the easeInOutSine() function
        // over the specified parameter values
        console.log(fabric.util.ease
            .easeInOutSine(t, b, c, d));
    </script>
</body>
  
</html>

Output:

24.823619097949585

Article Tags :