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
查看全文
相关阅读:
分布式日志收集系统: Facebook Scribe之日志收集方案
20111030 19:37 杨辉三角形 (java)
pku acm 1833 排列
俞敏洪郑大演讲经典语句
自己在inode客户端的大量问题(不断更新中)(20120223 21:24 )
智力测验:硬币问题
windows up可以更新但是无法上网的一天挣扎
hdu1754 I Hate It
acm算法资源网站
pku3041 Asteroids
原文地址:https://www.cnblogs.com/zhouyinhui/p/762365.html
最新文章
RadioGroup变为按钮工具条
C# Windows Api的一些方法 封装 以及 常用参数 .
数据库设计相关
用C#实现Web代理服务器
.net中装箱的几种情况
SQL Server 自增字段重置与清空数据库中所有表数据的方法
手动将Apache注册为系统服务(转)
用C#实现SOCKS5代理服务
数据库设计原则
数据库性能优化详解
热门文章
c#中结构体和类的比较
Facebook之Thrift简介
分布式日志收集系统: Facebook Scribe之配置文件
nginx1.02+php+piwik+centos5.4构建网站统计系统
我的找工作之路
基于ArcGIS10.0和Oracle10g的空间数据管理平台十四(C#开发)元数据库库管理
分布式日志收集系统:Facebook Scribe之配置文件
第一章 Hadoop启动Shell启动脚本分析基于hadoop0.20.2cdh3u1
分布式日志收集系统: Facebook Scribe之结构及源码分析
总结2011年的工作,展望2012年
Copyright © 2011-2022 走看看