zoukankan
html css js c++ java
WPF与缓动(四) 弧形缓动
WPF与缓动(四) 弧形缓动
周银辉
弧形缓动就是其缓动曲线为一段圆弧, 如何我们假设圆弧上的点的斜率为速度的话,那么可以想像其速度的变化多么具有戏剧性, 其加速或减速来得很突然, 与5次缓动差不多.
参考以下代码:
//
圆形缓动
protected
override
double
GetCurrentValueCore(
double
defaultOriginValue,
double
defaultDestinationValue, AnimationClock animationClock)
{
double
from
=
(
this
.From
==
null
?
defaultDestinationValue:(
double
)
this
.From);
double
to
=
(
this
.To
==
null
?
defaultOriginValue:(
double
)
this
.To);
double
delta
=
to
-
from;
double
value
=
animationClock.CurrentProgress.Value;
double
t
=
value
*
this
.Duration.TimeSpan.Ticks;
double
d
=
this
.Duration.TimeSpan.Ticks;
//
加速
//
return delta * (1-Math.Sqrt(1-(t/=d)*t)) + from;
//
减速
//
return delta * Math.Sqrt(1 - (t = t / d - 1) * t) + from;
//
先加速,后减速
if
((t
/=
(d
/
2
))
<
1
)
{
return
delta
/
2
*
(
1
-
Math.Sqrt(
1
-
t
*
t))
+
from;
}
return
delta
/
2
*
(Math.Sqrt(
1
-
(t
-=
2
)
*
t)
+
1
)
+
from;
}
下载Demo
查看全文
相关阅读:
auto-sklearn案例解析二
auto-sklearn案例解析二
auto-sklearn案例解析一
auto-sklearn案例解析一
auto-sklearn简介
auto-sklearn简介
auto-sklearn手册
auto-sklearn手册
观念
JDBC总结
原文地址:https://www.cnblogs.com/zhouyinhui/p/762365.html
最新文章
python之路--jQuery
dom 事件主要内容
python之路--BOM和DOM
python之路--JavaScript
python之路--前端CSS
python之路--初识html前端
python之路--触发器, 储存过程, 事务
python之路--MySQL权限管理 数据备份还原
servlet之servlet容器(一)
ajax(异步的javascript和xml的通信)
热门文章
JAVA学习路线
django之Session、Cookie
django之model多表操作
django之model建立数据库表
mysql常用命令
二叉树展开为链表
合并K个排序链表
合并两个有序链表
sklearn中的分类决策树
sklearn中的分类决策树
Copyright © 2011-2022 走看看