<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Blogs - JackIsJack</title>
		<link>https://www.developpez.net/forums/blogs/17960-jackisjack/</link>
		<description>Developpez.com, le Club des Développeurs et IT Pro</description>
		<language>fr</language>
		<lastBuildDate>Mon, 13 Apr 2026 00:20:18 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.jpg</url>
			<title>Forum du club des développeurs et IT Pro - Blogs - JackIsJack</title>
			<link>https://www.developpez.net/forums/blogs/17960-jackisjack/</link>
		</image>
		<item>
			<title>Tween de contrôles VB.NET, animations, courbes de Bézier, transitions non-linéaires</title>
			<link>https://www.developpez.net/forums/blogs/17960-jackisjack/b974/tween-controles-vb-net-animations-courbes-bezier-transitions-non-lineaires/</link>
			<pubDate>Tue, 22 Dec 2015 17:59:21 GMT</pubDate>
			<description>Bonjour, 
 
Un exemple : 
 
 ...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
Un exemple :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code vb.net :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:96px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br /></div></td><td valign="top"><pre style="margin: 0">        <span style="color: #0000ff;">Dim</span> MonTimer <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">New</span> TimerAnimation
&nbsp;
        MonTimer.Transition<span class="br0">&#40;</span>Me.PictureBox1, <span style="color: #FF0000;">&quot;Left&quot;</span>, TimerAnimation.TypeTransition.easeInElastic, <span style="color: #cc66cc;">400</span>, <span style="color: #cc66cc;">500</span>, <span style="color: #cc66cc;">1000</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #808080;">' La propri&eacute;t&eacute; 'Left' de l'objet 'Picturebox1' va &ecirc;tre modifi&eacute; de la valeur 400 &agrave; la valeur 500, en 1000 millisecondes (1 seconde), de fa&ccedil;on 'easeInElastic'</span></pre></td></tr></table></pre>
</div><br />
La classe à importer :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code vb.net :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br />138<br />139<br />140<br />141<br />142<br />143<br />144<br />145<br />146<br />147<br />148<br />149<br />150<br />151<br />152<br />153<br />154<br />155<br />156<br />157<br />158<br />159<br />160<br />161<br />162<br />163<br />164<br />165<br />166<br />167<br />168<br />169<br />170<br />171<br />172<br />173<br />174<br />175<br />176<br />177<br />178<br />179<br />180<br />181<br />182<br />183<br />184<br />185<br />186<br />187<br />188<br />189<br />190<br />191<br />192<br />193<br />194<br />195<br />196<br />197<br />198<br />199<br />200<br />201<br />202<br />203<br />204<br />205<br />206<br />207<br />208<br />209<br />210<br />211<br />212<br />213<br />214<br />215<br />216<br />217<br />218<br />219<br />220<br />221<br />222<br />223<br />224<br />225<br />226<br />227<br />228<br />229<br />230<br />231<br />232<br />233<br />234<br />235<br />236<br />237<br />238<br />239<br />240<br />241<br />242<br />243<br />244<br />245<br />246<br />247<br />248<br />249<br />250<br />251<br />252<br />253<br />254<br />255<br />256<br />257<br />258<br />259<br />260<br />261<br />262<br />263<br />264<br />265<br />266<br />267<br />268<br />269<br />270<br />271<br />272<br />273<br />274<br />275<br />276<br />277<br />278<br />279<br />280<br />281<br />282<br />283<br />284<br />285<br />286<br />287<br />288<br />289<br />290<br />291<br />292<br />293<br />294<br />295<br />296<br />297<br />298<br />299<br />300<br />301<br />302<br />303<br />304<br />305<br />306<br />307<br />308<br />309<br />310<br />311<br />312<br />313<br />314<br />315<br />316<br />317<br />318<br />319<br />320<br />321<br />322<br />323<br />324<br />325<br />326<br />327<br />328<br />329<br />330<br />331<br />332<br />333<br />334<br />335<br />336<br />337<br />338<br />339<br />340<br />341<br />342<br />343<br />344<br />345<br />346<br />347<br />348<br />349<br />350<br />351<br />352<br />353<br />354<br />355<br />356<br />357<br />358<br />359<br />360<br />361<br />362<br />363<br />364<br />365<br />366<br />367<br />368<br />369<br />370<br />371<br />372<br />373<br />374<br />375<br />376<br />377<br />378<br />379<br />380<br />381<br />382<br />383<br />384<br />385<br />386<br />387<br />388<br />389<br />390<br />391<br />392<br />393<br />394<br />395<br />396<br />397<br />398<br />399<br />400<br />401<br />402<br />403<br />404<br />405<br />406<br />407<br />408<br />409<br />410<br />411<br />412<br />413<br />414<br />415<br />416<br />417<br />418<br />419<br />420<br />421<br />422<br />423<br />424<br />425<br />426<br />427<br />428<br />429<br />430<br />431<br />432<br />433<br />434<br />435<br />436<br />437<br />438<br />439<br />440<br />441<br />442<br />443<br />444<br />445<br />446<br />447<br />448<br />449<br />450<br />451<br />452<br />453<br />454<br />455<br />456<br />457<br />458<br />459<br />460<br />461<br />462<br />463<br />464<br />465<br />466<br />467<br />468<br />469<br />470<br />471<br />472<br />473<br />474<br />475<br />476<br />477<br />478<br />479<br />480<br />481<br />482<br />483<br />484<br />485<br />486<br />487<br />488<br />489<br />490<br />491<br />492<br />493<br />494<br />495<br />496<br />497<br />498<br />499<br />500<br />501<br />502<br />503<br />504<br />505<br />506<br />507<br />508<br />509<br />510<br />511<br />512<br />513<br />514<br />515<br />516<br />517<br />518<br />519<br />520<br />521<br />522<br />523<br />524<br />525<br />526<br />527<br />528<br />529<br />530<br />531<br />532<br />533<br />534<br />535<br />536<br />537<br />538<br />539<br />540<br />541<br />542<br />543<br />544<br />545<br />546<br />547<br />548<br />549<br />550<br />551<br />552<br />553<br />554<br />555<br />556<br />557<br />558<br />559<br />560<br />561<br />562<br />563<br />564<br />565<br />566<br />567<br />568<br />569<br />570<br />571<br />572<br />573<br />574<br />575<br />576<br />577<br />578<br />579<br />580<br />581<br />582<br />583<br />584<br />585<br />586<br />587<br />588<br />589<br />590<br />591<br />592<br />593<br />594<br />595<br />596<br />597<br />598<br />599<br />600<br />601<br />602<br />603<br />604<br />605<br />606<br />607<br />608<br />609<br />610<br />611<br />612<br />613<br />614<br />615<br />616<br />617<br />618<br />619<br />620<br />621<br />622<br />623<br />624<br />625<br />626<br />627<br />628<br />629<br />630<br />631<br />632<br />633<br />634<br />635<br />636<br />637<br />638<br />639<br />640<br />641<br />642<br />643<br />644<br />645<br />646<br />647<br />648<br />649<br />650<br />651<br />652<br />653<br />654<br />655<br />656<br />657<br />658<br />659<br />660<br />661<br />662<br />663<br />664<br />665<br />666<br />667<br />668<br />669<br />670<br />671<br />672<br />673<br />674<br />675<br />676<br />677<br />678<br />679<br />680<br />681<br />682<br />683<br />684<br />685<br />686<br />687<br />688<br />689<br />690<br />691<br />692<br />693<br />694<br />695<br />696<br />697<br />698<br />699<br />700<br />701<br />702<br />703<br />704<br />705<br />706<br />707<br />708<br />709<br />710<br />711<br />712<br />713<br />714<br />715<br />716<br />717<br />718<br />719<br />720<br />721<br />722<br />723<br />724<br />725<br />726<br />727<br />728<br />729<br />730<br />731<br />732<br />733<br />734<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Class</span> TimerAnimation
    <span style="color: #0000ff;">Inherits</span> Timer
&nbsp;
    <span style="color: #0000ff;">Private</span> _Objet <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>
    <span style="color: #0000ff;">Private</span> _NomPropriete <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
    <span style="color: #0000ff;">Private</span> _Type <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
    <span style="color: #0000ff;">Private</span> _Debut <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>
    <span style="color: #0000ff;">Private</span> _Fin <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>
    <span style="color: #0000ff;">Private</span> _Duree <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span> <span style="color: #808080;">' Exprim&eacute;e en millisecondes</span>
    <span style="color: #0000ff;">Private</span> _ActionParSeconde <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
    <span style="color: #0000ff;">Private</span> NombreIteration <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>
    <span style="color: #0000ff;">Private</span> IterationEnCours <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>
    <span style="color: #0000ff;">Private</span> Change <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Debut<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>
&nbsp;
        <span style="color: #0000ff;">Get</span>
            <span style="color: #0000ff;">Return</span> _Debut
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span>
        <span style="color: #0000ff;">Set</span><span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> value <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span><span class="br0">&#41;</span>
            _Debut = value
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Fin<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>
&nbsp;
        <span style="color: #0000ff;">Get</span>
            <span style="color: #0000ff;">Return</span> _Fin
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span>
&nbsp;
        <span style="color: #0000ff;">Set</span><span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> value <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span><span class="br0">&#41;</span>
&nbsp;
            _Fin = value
&nbsp;
            Change = _Fin - _Debut
&nbsp;
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Duree<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>
&nbsp;
        <span style="color: #0000ff;">Get</span>
            <span style="color: #0000ff;">Return</span> _Duree
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span>
        <span style="color: #0000ff;">Set</span><span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> value <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span><span class="br0">&#41;</span>
&nbsp;
            _Duree = value
&nbsp;
            NombreIteration = Math.Round<span class="br0">&#40;</span>_Duree / _ActionParSeconde, <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> ActionParSeconde<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>
&nbsp;
        <span style="color: #0000ff;">Get</span>
            <span style="color: #0000ff;">Return</span> _ActionParSeconde
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span>
&nbsp;
        <span style="color: #0000ff;">Set</span><span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> value <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span><span class="br0">&#41;</span>
&nbsp;
            _ActionParSeconde = value
&nbsp;
            Me.Interval = _ActionParSeconde
&nbsp;
            NombreIteration = Math.Round<span class="br0">&#40;</span>_Duree / _ActionParSeconde, <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> <span style="color: #0000ff;">Type</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> TypeTransition
&nbsp;
        <span style="color: #0000ff;">Get</span>
            <span style="color: #0000ff;">Return</span> _Type
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span>
&nbsp;
        <span style="color: #0000ff;">Set</span><span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> value <span style="color: #0000ff;">As</span> TypeTransition<span class="br0">&#41;</span>
            _Type = value
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Objet<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>
&nbsp;
        <span style="color: #0000ff;">Get</span>
            <span style="color: #0000ff;">Return</span> _Objet
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span>
&nbsp;
        <span style="color: #0000ff;">Set</span><span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> value <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span><span class="br0">&#41;</span>
&nbsp;
            _Objet = value
&nbsp;
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> NomPropriete<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
&nbsp;
        <span style="color: #0000ff;">Get</span>
            <span style="color: #0000ff;">Return</span> _NomPropriete
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span>
&nbsp;
        <span style="color: #0000ff;">Set</span><span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> value <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span><span class="br0">&#41;</span>
&nbsp;
            _NomPropriete = value
&nbsp;
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span>
&nbsp;
    <span style="color: #0000ff;">Sub</span> Transition<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> m_objet <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, <span style="color: #0000ff;">ByVal</span> m_NomPropriete <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>, <span style="color: #0000ff;">ByVal</span> m_Type <span style="color: #0000ff;">As</span> TypeTransition, <span style="color: #0000ff;">ByVal</span> m_Debut <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>, <span style="color: #0000ff;">ByVal</span> m_Fin <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span>, <span style="color: #0000ff;">ByVal</span> m_Duree <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span><span class="br0">&#41;</span>
&nbsp;
        Me.Objet = m_objet
        Me.NomPropriete = m_NomPropriete
        Me.Type = m_Type
        Me.Debut = m_Debut
        Me.Fin = m_Fin
        Me.Duree = m_Duree
&nbsp;
        <span style="color: #0000ff;">AddHandler</span> Me.Tick, <span style="color: #0000ff;">AddressOf</span> ActualiserPropriete
&nbsp;
        Me.Start<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> ActualiserPropriete<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
        Me.Actualiser<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
        CallByName<span class="br0">&#40;</span>_Objet, _NomPropriete, CallType.Set, Me.Easing<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Sub</span> <span style="color: #0000ff;">New</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #808080;">' Par d&eacute;faut </span>
        ActionParSeconde = <span style="color: #cc66cc;">20</span>
        IterationEnCours = <span style="color: #cc66cc;">0</span>
        Me.Enabled = <span style="color: #0000ff;">True</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Sub</span> Actualiser<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
        IterationEnCours = IterationEnCours + <span style="color: #cc66cc;">1</span>
&nbsp;
        t = Me.IterationEnCours / Me.NombreIteration
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
    <span style="color: #0000ff;">Function</span> Easing<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">If</span> IterationEnCours &gt; NombreIteration <span style="color: #0000ff;">Then</span>
&nbsp;
            Me.Stop<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        Easing = EasingFunctions<span class="br0">&#40;</span>_Type, t, Debut, Change, <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Enum</span> TypeTransition
        easeInBack
        easeInBounce
        easeOutBounce
        easeInOutBounce
        easeInCirc
        easeInCubic
        easeInElastic
        easeInExpo
        easeInOutBack
        easeInOutCirc
        easeInOutCubic
        easeInOutElastic
        easeInOutExpo
        easeInOutQuad
        easeInOutQuart
        easeInOutQuint
        easeInOutSine
        easeInQuad
        easeInQuart
        easeInQuint
        easeInSine
        easeOutBack
        easeOutCirc
        easeOutCubic
        easeOutElastic
        easeOutExpo
        easeOutQuad
        easeOutQuart
        easeOutQuint
        easeOutSine
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Enum</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> EasingFunctions<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> mode <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>, <span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">Select</span> <span style="color: #0000ff;">Case</span> <span class="br0">&#40;</span>mode<span class="br0">&#41;</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInBack
&nbsp;
                EasingFunctions = easeInBack<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInBounce
&nbsp;
                EasingFunctions = easeInBounce<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeOutBounce
&nbsp;
                EasingFunctions = easeOutBounce<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInOutBounce
&nbsp;
                EasingFunctions = easeInOutBounce<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInCirc
&nbsp;
                EasingFunctions = easeInCirc<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInCubic
                EasingFunctions = easeInCubic<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInElastic
&nbsp;
                EasingFunctions = easeInElastic<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInExpo
&nbsp;
                EasingFunctions = easeInExpo<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInOutBack
                EasingFunctions = easeInOutBack<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInOutCirc
&nbsp;
                EasingFunctions = easeInOutCirc<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInOutCubic
&nbsp;
                EasingFunctions = easeInOutCubic<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInOutElastic
&nbsp;
                EasingFunctions = easeInOutElastic<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInOutExpo
                EasingFunctions = easeInOutExpo<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInOutQuad
&nbsp;
                EasingFunctions = easeInOutQuad<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInOutQuart
&nbsp;
                EasingFunctions = easeInOutQuart<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInOutQuint
&nbsp;
                EasingFunctions = easeInOutQuint<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInOutSine
&nbsp;
                EasingFunctions = easeInOutSine<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInQuad
&nbsp;
                EasingFunctions = easeInQuad<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInQuart
&nbsp;
                EasingFunctions = easeInQuart<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInQuint
&nbsp;
                EasingFunctions = easeInQuint<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeInSine
&nbsp;
                EasingFunctions = easeInSine<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeOutBack
&nbsp;
                EasingFunctions = easeOutBack<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeOutCirc
&nbsp;
                EasingFunctions = easeOutCirc<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeOutCubic
&nbsp;
                EasingFunctions = easeOutCubic<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeOutElastic
&nbsp;
                EasingFunctions = easeOutElastic<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeOutExpo
&nbsp;
                EasingFunctions = easeOutExpo<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeOutQuad
&nbsp;
                EasingFunctions = easeOutQuad<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeOutQuart
&nbsp;
                EasingFunctions = easeOutQuart<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeOutQuint
&nbsp;
                EasingFunctions = easeOutQuint<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> TypeTransition.easeOutSine
&nbsp;
                EasingFunctions = easeOutSine<span class="br0">&#40;</span>t, b, c, d<span class="br0">&#41;</span>
                <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
&nbsp;
            <span style="color: #0000ff;">Case</span> <span style="color: #0000ff;">Else</span>
&nbsp;
                EasingFunctions = <span style="color: #cc66cc;">-1</span>
&nbsp;
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Select</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInQuad<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = t / d
        easeInQuad = c * t * t + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeOutQuad<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = t / d
        easeOutQuad = -c * t * <span class="br0">&#40;</span>t - <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInOutQuad<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = <span style="color: #cc66cc;">2</span> * t / d
&nbsp;
        <span style="color: #0000ff;">If</span> t &lt; <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">Then</span>
            <span style="color: #808080;">'</span>
            easeInOutQuad = <span class="br0">&#40;</span>c / <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> * t * t + b
&nbsp;
        <span style="color: #0000ff;">Else</span>
&nbsp;
            t = t - <span style="color: #cc66cc;">1</span>
&nbsp;
            easeInOutQuad = -c / <span style="color: #cc66cc;">2</span> * <span class="br0">&#40;</span>t * <span class="br0">&#40;</span>t - <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> - <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> + b
&nbsp;
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInCubic<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = t / d
        easeInCubic = c * <span class="br0">&#40;</span>t<span class="br0">&#41;</span> * t * t + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeOutCubic<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = <span class="br0">&#40;</span>t / d<span class="br0">&#41;</span> - <span style="color: #cc66cc;">1</span>
&nbsp;
        easeOutCubic = c * <span class="br0">&#40;</span>t * t * t + <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInOutCubic<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = <span style="color: #cc66cc;">2</span> * t / d
        <span style="color: #0000ff;">If</span> <span class="br0">&#40;</span>t &lt; <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
            easeInOutCubic = c / <span style="color: #cc66cc;">2</span> * t * t * t + b
        <span style="color: #0000ff;">Else</span>
            t = t - <span style="color: #cc66cc;">2</span>
            easeInOutCubic = c / <span style="color: #cc66cc;">2</span> * <span class="br0">&#40;</span>t * t * t + <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInQuart<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = t / d
        easeInQuart = c * t * t * t * t + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeOutQuart<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = t / d - <span style="color: #cc66cc;">1</span>
        easeOutQuart = -c * <span class="br0">&#40;</span><span class="br0">&#40;</span>t * t * t * t<span class="br0">&#41;</span> - <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInOutQuart<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = <span style="color: #cc66cc;">2</span> * t / d
&nbsp;
        <span style="color: #0000ff;">If</span> <span class="br0">&#40;</span>t &lt; <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
            easeInOutQuart = c / <span style="color: #cc66cc;">2</span> * t * t * t * t + b
        <span style="color: #0000ff;">Else</span>
            t = t - <span style="color: #cc66cc;">2</span>
            easeInOutQuart = -c / <span style="color: #cc66cc;">2</span> * <span class="br0">&#40;</span>t * t * t * t - <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInQuint<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = t / d
        easeInQuint = c * t * t * t * t * t + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeOutQuint<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = t / d - <span style="color: #cc66cc;">1</span>
        easeOutQuint = c * <span class="br0">&#40;</span>t * t * t * t * t + <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInOutQuint<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = <span style="color: #cc66cc;">2</span> * t / d
        <span style="color: #0000ff;">If</span> <span class="br0">&#40;</span>t &lt; <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
            easeInOutQuint = c / <span style="color: #cc66cc;">2</span> * t * t * t * t * t + b
        <span style="color: #0000ff;">Else</span>
            t = t - <span style="color: #cc66cc;">2</span>
            easeInOutQuint = c / <span style="color: #cc66cc;">2</span> * <span class="br0">&#40;</span>t * t * t * t * t + <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInSine<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        easeInSine = -c * Math.Cos<span class="br0">&#40;</span><span class="br0">&#40;</span>t / d<span class="br0">&#41;</span> * <span class="br0">&#40;</span>Math.PI / <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span><span class="br0">&#41;</span> + c + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeOutSine<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        easeOutSine = c * Math.Sin<span class="br0">&#40;</span>t / d * <span class="br0">&#40;</span>Math.PI / <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span><span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInOutSine<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        easeInOutSine = -c / <span style="color: #cc66cc;">2</span> * <span class="br0">&#40;</span>Math.Cos<span class="br0">&#40;</span>Math.PI * t / d<span class="br0">&#41;</span> - <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInExpo<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">If</span> t = <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">Then</span>
            easeInExpo = b
        <span style="color: #0000ff;">Else</span>
            easeInExpo = c * Math.Pow<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">10</span> * <span class="br0">&#40;</span>t / d - <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeOutExpo<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">If</span> t = d <span style="color: #0000ff;">Then</span>
            easeOutExpo = b + c
        <span style="color: #0000ff;">Else</span>
            easeOutExpo = c * <span class="br0">&#40;</span>-Math.Pow<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">-10</span> * t / d<span class="br0">&#41;</span> + <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInOutExpo<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">If</span> t = <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">Then</span>
            easeInOutExpo = b
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        <span style="color: #0000ff;">If</span> t = d <span style="color: #0000ff;">Then</span>
            easeInOutExpo = b + c
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        t = <span style="color: #cc66cc;">2</span> * t / d
        <span style="color: #0000ff;">If</span> t &lt; <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">Then</span>
            easeInOutExpo = c / <span style="color: #cc66cc;">2</span> * Math.Pow<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">10</span> * <span class="br0">&#40;</span>t - <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">Else</span>
            t = t - <span style="color: #cc66cc;">1</span>
            easeInOutExpo = c / <span style="color: #cc66cc;">2</span> * <span class="br0">&#40;</span>-Math.Pow<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">-10</span> * t<span class="br0">&#41;</span> + <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInCirc<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = t / d
        easeInCirc = -c * <span class="br0">&#40;</span>Math.Sqrt<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span> - <span class="br0">&#40;</span>t * t<span class="br0">&#41;</span><span class="br0">&#41;</span> - <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeOutCirc<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = t / d - <span style="color: #cc66cc;">1</span>
        easeOutCirc = c * Math.Sqrt<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span> - <span class="br0">&#40;</span>t * t<span class="br0">&#41;</span><span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInOutCirc<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        t = <span style="color: #cc66cc;">2</span> * t / d
        <span style="color: #0000ff;">If</span> t &lt; <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">Then</span>
            easeInOutCirc = -c / <span style="color: #cc66cc;">2</span> * <span class="br0">&#40;</span>Math.Sqrt<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span> - t * t<span class="br0">&#41;</span> - <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">Else</span>
            t = t - <span style="color: #cc66cc;">2</span>
            easeInOutCirc = c / <span style="color: #cc66cc;">2</span> * <span class="br0">&#40;</span>Math.Sqrt<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span> - t * t<span class="br0">&#41;</span> + <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInElastic<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> s <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = <span style="color: #cc66cc;">1.70158</span>
        <span style="color: #0000ff;">Dim</span> p <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = <span style="color: #cc66cc;">0</span>
        <span style="color: #0000ff;">Dim</span> a <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = c
&nbsp;
        <span style="color: #0000ff;">If</span> t = <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">Then</span>
            easeInElastic = b
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        t = t / d
        <span style="color: #0000ff;">If</span> t = <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">Then</span>
            easeInElastic = b + c
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        p = d * <span style="color: #cc66cc;">0.3</span>
&nbsp;
        <span style="color: #0000ff;">If</span> <span class="br0">&#40;</span>a &lt; Math.Abs<span class="br0">&#40;</span>c<span class="br0">&#41;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
            a = c
            s = p / <span style="color: #cc66cc;">4</span>
        <span style="color: #0000ff;">Else</span>
            s = p / <span class="br0">&#40;</span><span style="color: #cc66cc;">2</span> * Math.PI<span class="br0">&#41;</span> * Math.Asin<span class="br0">&#40;</span>c / a<span class="br0">&#41;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        t = t - <span style="color: #cc66cc;">1</span>
        easeInElastic = -<span class="br0">&#40;</span>a * Math.Pow<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">10</span> * t<span class="br0">&#41;</span> * Math.Sin<span class="br0">&#40;</span><span class="br0">&#40;</span>t * d - s<span class="br0">&#41;</span> * <span class="br0">&#40;</span><span style="color: #cc66cc;">2</span> * Math.PI<span class="br0">&#41;</span> / p<span class="br0">&#41;</span><span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeOutElastic<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> s <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = <span style="color: #cc66cc;">1.70158</span>
        <span style="color: #0000ff;">Dim</span> p <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = <span style="color: #cc66cc;">0</span>
        <span style="color: #0000ff;">Dim</span> a <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = c
&nbsp;
        <span style="color: #0000ff;">If</span> t = <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">Then</span>
            easeOutElastic = b
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        t = t / d
        <span style="color: #0000ff;">If</span> t = <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">Then</span>
            easeOutElastic = b + c
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        p = d * <span style="color: #cc66cc;">0.3</span>
&nbsp;
        <span style="color: #0000ff;">If</span> <span class="br0">&#40;</span>a &lt; Math.Abs<span class="br0">&#40;</span>c<span class="br0">&#41;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
            a = c
            s = p / <span style="color: #cc66cc;">4</span>
        <span style="color: #0000ff;">Else</span>
            s = p / <span class="br0">&#40;</span><span style="color: #cc66cc;">2</span> * Math.PI<span class="br0">&#41;</span> * Math.Asin<span class="br0">&#40;</span>c / a<span class="br0">&#41;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        easeOutElastic = a * Math.Pow<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">-10</span> * t<span class="br0">&#41;</span> * Math.Sin<span class="br0">&#40;</span><span class="br0">&#40;</span>t * d - s<span class="br0">&#41;</span> * <span class="br0">&#40;</span><span style="color: #cc66cc;">2</span> * Math.PI<span class="br0">&#41;</span> / p<span class="br0">&#41;</span> + c + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInOutElastic<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> s <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = <span style="color: #cc66cc;">1.70158</span>
        <span style="color: #0000ff;">Dim</span> p <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = <span style="color: #cc66cc;">0</span>
        <span style="color: #0000ff;">Dim</span> a <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = c
&nbsp;
        <span style="color: #0000ff;">If</span> t = <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">Then</span>
            easeInOutElastic = b
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        t = <span style="color: #cc66cc;">2</span> * t / d
        <span style="color: #0000ff;">If</span> t = <span style="color: #cc66cc;">2</span> <span style="color: #0000ff;">Then</span>
            easeInOutElastic = b + c
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Function</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        p = d * <span style="color: #cc66cc;">0.3</span> * <span style="color: #cc66cc;">1.5</span>
&nbsp;
        <span style="color: #0000ff;">If</span> <span class="br0">&#40;</span>a &lt; Math.Abs<span class="br0">&#40;</span>c<span class="br0">&#41;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
            a = c
            s = p / <span style="color: #cc66cc;">4</span>
        <span style="color: #0000ff;">Else</span>
            s = p / <span class="br0">&#40;</span><span style="color: #cc66cc;">2</span> * Math.PI<span class="br0">&#41;</span> * Math.Asin<span class="br0">&#40;</span>c / a<span class="br0">&#41;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        <span style="color: #0000ff;">If</span> t &lt; <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">Then</span>
            t = t - <span style="color: #cc66cc;">1</span>
            easeInOutElastic = <span style="color: #cc66cc;">-0.5</span> * <span class="br0">&#40;</span>a * Math.Pow<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">10</span> * t<span class="br0">&#41;</span> * Math.Sin<span class="br0">&#40;</span><span class="br0">&#40;</span>t * d - s<span class="br0">&#41;</span> * <span class="br0">&#40;</span><span style="color: #cc66cc;">2</span> * Math.PI<span class="br0">&#41;</span> / p<span class="br0">&#41;</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">Else</span>
            t = t - <span style="color: #cc66cc;">1</span>
            easeInOutElastic = a * Math.Pow<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">-10</span> * t<span class="br0">&#41;</span> * Math.Sin<span class="br0">&#40;</span><span class="br0">&#40;</span>t * d - s<span class="br0">&#41;</span> * <span class="br0">&#40;</span><span style="color: #cc66cc;">2</span> * Math.PI<span class="br0">&#41;</span> / p<span class="br0">&#41;</span> * <span style="color: #cc66cc;">0.5</span> + c + b
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInBack<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> s <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
        s = <span style="color: #cc66cc;">1.70158</span>
        t = t / d
        easeInBack = c * t * t * <span class="br0">&#40;</span><span class="br0">&#40;</span>s + <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> * t - s<span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeOutBack<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> s <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
        s = <span style="color: #cc66cc;">1.70158</span>
        t = t / d - <span style="color: #cc66cc;">1</span>
        easeOutBack = c * <span class="br0">&#40;</span>t * t * <span class="br0">&#40;</span><span class="br0">&#40;</span>s + <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> * t + s<span class="br0">&#41;</span> + <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInOutBack<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> s <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
        s = <span style="color: #cc66cc;">1.70158</span>
&nbsp;
        t = <span style="color: #cc66cc;">2</span> * t / d
&nbsp;
        <span style="color: #0000ff;">If</span> t &lt; <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">Then</span>
            s = s * <span style="color: #cc66cc;">1.525</span>
            easeInOutBack = c / <span style="color: #cc66cc;">2</span> * <span class="br0">&#40;</span>t * t * <span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span>s<span class="br0">&#41;</span> + <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> * t - s<span class="br0">&#41;</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">Else</span>
            t = t - <span style="color: #cc66cc;">2</span>
            easeInOutBack = c / <span style="color: #cc66cc;">2</span> * <span class="br0">&#40;</span><span class="br0">&#40;</span>t<span class="br0">&#41;</span> * t * <span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span>s<span class="br0">&#41;</span> + <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> * t + s<span class="br0">&#41;</span> + <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> + b
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInBounce<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        easeInBounce = c - easeOutBounce<span class="br0">&#40;</span>d - t, <span style="color: #cc66cc;">0</span>, c, d<span class="br0">&#41;</span> + b
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeOutBounce<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">If</span> <span class="br0">&#40;</span>t / d<span class="br0">&#41;</span> &lt; <span class="br0">&#40;</span><span style="color: #cc66cc;">1</span> / <span style="color: #cc66cc;">2.75</span><span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
&nbsp;
            t = t / d
&nbsp;
            easeOutBounce = c * <span class="br0">&#40;</span><span style="color: #cc66cc;">7.5625</span> * t * t<span class="br0">&#41;</span> + b
&nbsp;
        <span style="color: #0000ff;">ElseIf</span> t &lt; <span class="br0">&#40;</span><span style="color: #cc66cc;">2</span> / <span style="color: #cc66cc;">2.75</span><span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
&nbsp;
            t = t - <span class="br0">&#40;</span><span style="color: #cc66cc;">1.5</span> / <span style="color: #cc66cc;">2.75</span><span class="br0">&#41;</span>
&nbsp;
            easeOutBounce = c * <span class="br0">&#40;</span><span style="color: #cc66cc;">7.5625</span> * t * t + <span style="color: #cc66cc;">0.75</span><span class="br0">&#41;</span> + b
&nbsp;
        <span style="color: #0000ff;">ElseIf</span> t &lt; <span class="br0">&#40;</span><span style="color: #cc66cc;">2.5</span> / <span style="color: #cc66cc;">2.75</span><span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
&nbsp;
            t = t - <span class="br0">&#40;</span><span style="color: #cc66cc;">2.25</span> / <span style="color: #cc66cc;">2.75</span><span class="br0">&#41;</span>
            easeOutBounce = c * <span class="br0">&#40;</span><span style="color: #cc66cc;">7.5625</span> * t * t + <span style="color: #cc66cc;">0.9375</span><span class="br0">&#41;</span> + b
&nbsp;
        <span style="color: #0000ff;">Else</span>
&nbsp;
            t = t - <span class="br0">&#40;</span><span style="color: #cc66cc;">2.625</span> / <span style="color: #cc66cc;">2.75</span><span class="br0">&#41;</span>
&nbsp;
            easeOutBounce = c * <span class="br0">&#40;</span><span style="color: #cc66cc;">7.5625</span> * t * t + <span style="color: #cc66cc;">0.984375</span><span class="br0">&#41;</span> + b
&nbsp;
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> easeInOutBounce<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> t <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> b <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>, <span style="color: #0000ff;">ByVal</span> d <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span>
&nbsp;
        <span style="color: #0000ff;">If</span> t &lt; d / <span style="color: #cc66cc;">2</span> <span style="color: #0000ff;">Then</span>
            easeInOutBounce = easeInBounce<span class="br0">&#40;</span>t * <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, c, d<span class="br0">&#41;</span> * <span style="color: #cc66cc;">0.5</span> + b
        <span style="color: #0000ff;">Else</span>
            easeInOutBounce = easeOutBounce<span class="br0">&#40;</span>t * <span style="color: #cc66cc;">2</span> - d, <span style="color: #cc66cc;">0</span>, c, d<span class="br0">&#41;</span> * <span style="color: #cc66cc;">0.5</span> + c * <span style="color: #cc66cc;">0.5</span> + b
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Class</span></pre></td></tr></table></pre>
</div><br />
PS : Toutes les fonctions ont été traduites du javascript. Merci à l'auteur des fonctions javascript, Robert Penners.</blockquote>

]]></content:encoded>
			<dc:creator>JackIsJack</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/17960-jackisjack/b974/tween-controles-vb-net-animations-courbes-bezier-transitions-non-lineaires/</guid>
		</item>
	</channel>
</rss>
