- UID
- 394660
- 主题
- 注册时间
- 2014-6-2
- 在线时间
- 小时
- 最后登录
- 1970-1-1
签到天数: 34 天 [LV.5]常住居民I
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?点击注册
x
本帖最后由 xjl19910 于 2017-3-3 11:05 编辑
研究了很多天矩阵的算法,算是知道了一点心得。
1.坐标轴和我们的数学坐标轴是不一样的,这里的Y轴是向下的!这点尤其重要
2.翻转和平移都可以实现实例【Rainmeter中文手册第四版】中的图形变换。
矩阵
[MeterBG]
Meter=Image
W=200
H=200
SolidColor=255,255,255,128
[MeterSquare]
Meter=Image
W=50
H=50
X=75
Y=75
SolidColor=0,0,0
TransformationMatrix=-1;0;0;1;250;0
变化矩阵
3.矩阵变换公式的推导过程
由于第四版本的教程没有提出来详细的推导过程,心痒难耐,在此把过程给大家演示一遍,如有错误欢迎指证。
附带逆时针旋转矩阵推导公式
4.给出顺时针旋转的矩阵变换代码,顺便提示一下,下面自动换行的自己在编辑的时候改成一行。
[Rainmeter]
Update=1000
[MeterBG]
Meter=Image
W=220
H=220
SolidColor=255,255,255,128
[MeasureSinAngle]
Measure=Calc
Formula=SIN((Counter%360)/360*2*PI)
[MeasureCosAngle]
Measure=Calc
Formula=COS((Counter%360)/360*2*PI)
[MeasureTX]
Measure=Calc
Formula=110-MeasureCosAngle*110+MeasureSinAngle*110
[MeasureTY]
Measure=Calc
Formula=110-MeasureSinAngle*110-MeasureCosAngle*110
[MeterSquare]
Meter=Image
X=60
Y=60
W=100
H=100
SolidColor=0,0,0
DynamicVariables=1
TransformationMatrix=[MeasureCosAngle]; [MeasureSinAngle]; -[MeasureSinAngle]; [MeasureCosAngle]; [MeasureTX]; [MeasureTY]
5.上面代码有个问题时间长了发现图形的旋转并不完美,旋转一定时间图形就变成畸形的了。有待查找问题!还是使用手册中的代码,仅仅需要把SIN的measure加一个负号就可以实现顺时针和逆时针的切换。(相比于上面的代码多了一个Measure)
[Rainmeter]
Update=1000
[MeterBG]
Meter=Image
W=220
H=220
SolidColor=255,255,255,128
[MeasureSinAngle]
Measure=Calc
Formula=-SIN((Counter%360)/360*2*PI)
[MeasureNegSinAngle]
Measure=Calc
Formula=-(MeasureSinAngle)
[MeasureCosAngle]
Measure=Calc
Formula=COS((Counter%360)/360*2*PI)
[MeasureTX]
Measure=Calc
Formula=110-MeasureCosAngle*110-MeasureSinAngle*110
[MeasureTY]
Measure=Calc
Formula=110-MeasureNegSinAngle*110-MeasureCosAngle*110
[MeterSquare]
Meter=Image
X=60
Y=60
W=100
H=100
SolidColor=0,0,0
DynamicVariables=1
TransformationMatrix=[MeasureCosAngle]; [MeasureNegSinAngle]; [MeasureSinAngle]; [MeasureCosAngle]; [MeasureTX]; [MeasureTY]
|
评分
-
查看全部评分
|