c#小球下落以及反弹可以控制

在二维面上画一个跳动的皮球,。要求:可以控制皮球的起跳高度、暂停,以及跳动角度。(1)创建图形界面,自行设计坐标,并在其中绘制皮球,皮球的尺寸自行设置(设置成可修改);(2)应能设置皮球的起跳高度(控制落地速度);(3)应能设置角度,控制皮球的水平位移速度(设置成可修改);(4)自行设置皮球的动能损失(即,下一次弹起高度);(5)可随时暂停和启动。 麻烦您再看看 这个那? c#程序设计

WPF的可以么,画个球作为usercontrol。
代码改编自微软示例代码库,如还不满足需要可自行在下面下载并修改。
// Copyright © Microsoft Corporation. All Rights Reserved.
// This code released under the terms of the
// Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)

链接:https://pan.baidu.com/s/1-PVntcANWbemhI2MfhlKVQ
提取码:9e88


/// </summary>
/// <param name="translation_control">需动画的组件</param>
/// <param name="mode">模式:0-弹性,2-惯性</param>
/// <param name="orientation">方向:0-正向,1-反向</param>
/// <param name="axis">轴:0-左右,1-上下</param>
/// <param name="delay">延时</param>
/// <param name="_begin">开始动画位置</param>
/// <param name="_end">结束动画位置</param>
/// <param name="amplitude">振幅</param>
/// <param name="suppression">硬度</param>
public void Translation(FrameworkElement translation_control, int mode, int orientation, int axis, double delay, double _begin, double _end, double amplitude = 8, double suppression = 3)
 
 
 
/// </summary>
/// <param name="main">在哪个Grid内</param>
/// <param name="width">组件宽度</param>
/// <param name="height">组件高度</param>
/// <param name="direction">方向:0-横向,1-纵向</param>
/// <param name="rotate_control">组件</param>
/// <param name="begin_angel">起始角度</param>
/// <param name="timeDelay">延时</param>
public CushionRotate(Grid main, double width, double height, int direction, UserControl rotate_control, double begin_angel, double timeDelay)
 
/// </summary>
/// <param name="mode">模式:0-弹性,1-惯性</param>
/// <param name="amplitude">振幅</param>
/// <param name="suppression">硬度</param>
public void Rotate(int mode, double amplitude = 8, double suppression = 3)