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
查看全文
相关阅读:
C#:新邮件监听及搜索
PHPexcel导入数据的时候出现object解决方法
selectpage选择订单的时候,订单数量和金额会动态改变
三、变量的简述
TP框架where条件和whereOr条件同时使用
一.OS运行机制
二.进制简述
1.go语言入门
C# Redis学习系列二:Redis基本设置
C# Redis学习系列一:Redis的认识、下载、安装、使用
原文地址:https://www.cnblogs.com/zhouyinhui/p/762365.html
最新文章
POJ 3207 Ikki's Story IV
P4782 【模板】2-SAT 问题
P2272 [ZJOI2007]最大半连通子图
CF1137C Museums Tour
CF280C Game on Tree
POJ 2154 Color
P4980 【模板】Polya定理
POJ 2409 Let it Bead
POJ 1286 Necklace of Beads
P4363 [九省联考2018]一双木棋chess
热门文章
P4238 【模板】多项式求逆
P4491 [HAOI2018]染色
第九章:获取终端信息(类型、平台、版本等)
angularjs string format
配置python环境使用tushare股票数据
基于log4net自定义异步logging组件
mac下安装ionic
WPF调用Win Form
.NET平台下使用C#连接各种数据库
使用codedom自动生成代码
Copyright © 2011-2022 走看看