这个示例主要是让我们能更加直观的观察到三角函数角边之间的关系。使用一个动画让小球围绕圆心运动,动态画出当前小球位置
与圆心之间产生的直角三角形、角度并展示出当前角度、弧度、当前角度的正弦、余弦、以及坐标值。 效果截图如下:
当前示例包含了以下几个对象
1.Ball:小球、围绕圆心做圆周旋转运动。
2.RightTriangle:为容器。承载Ball,并控制动画、动态绘制图形。示例中动态汇总图形主要是使用了Polyline对象,使用一系列连接的线来绘制图形。比如直角三角形,根据小球
的位置(角度),以及半径的值计算出另外两个直角边的大小,然后分别将三角形的顶点坐标传入到Polyline对象。
Ball对象
Ball对象并无主要逻辑,只是显示了自身坐标位置,其自身主要受容器控制。代码如下
Ball.xaml.cs代码:
>
Ball.xaml.cs代码:
, Y);
}
}
RightTriangle 对象
容器。承载Ball,控制动画、动态绘制直角三角形、角度图形、直角标识。示例中动态汇总图形主要是使用了Polyline对象,使用一系列连接的线来绘制图形。直角三角形的绘制:根据小球
的位置(角度),以及半径的值计算出另外两个直角边的大小,然后分别将三角形的顶点坐标传入到Polyline对象。角度的绘制则是每次都记录角度的坐标将每次的坐标添加到Polyline对象中。
RightTriangle.xaml代码:
>
RightTriangle.xaml.cs代码:
//弧度累加
SinAngle += RotateSpeed;
MoveTimer.Begin();
}
}
代码完成.
运行效果演示地址:点击查看
总结:主要是更加只管的展示了三角函数边角关系以及三角函数的运用。下面这个图或许会让你有更多想法:
【注:本文技术论点源于《Foundation Silverlight 3 Animation》,个人理解可能存在差异,请参考原著】