posts - 52,  comments - 33,  trackbacks - 2
  Sunday, June 15, 2008

¿Como nos pueden ayudar los Senos y Cosenos en nuestras aplicaciones Silverlight o Windows Presentation Foundation?

675px-Sin_Cos_Tan_Cot_unit_circle_svgnbsp;

Imaginemos que tenemos una elipse y queremos que realice un movimiento circular. Utilizando las funciones trigonométricas Seno y Coseno de un ángulo dado podemos obtener el punto X e Y de la circunferencia imaginaria por donde queremos mover nuestra elipse.

Un ejemplo sencillo y que tal vez no tenga mucho sentido, pero que se puede ver el concepto del que estamos hablando:

    public partial class Window1 : Window
    {
        DispatcherTimer _timer;
        double _angle = 0;
        public Window1()
        {
            InitializeComponent();
            this._timer = new DispatcherTimer();
            this._timer.Interval = new TimeSpan(10000000);
            this._timer.Tick += new EventHandler(this.timer_Completed);
            this._timer.Start();
        }
        private void timer_Completed(object sender, EventArgs e)
        {
            double newX = Math.Sin(_angle) * 10;
            double newY = Math.Cos(_angle) * 10;
            Canvas.SetTop(elli, newY) ;
            Canvas.SetLeft(elli, newX);
            _angle++;
            if (_angle > 360)
                _angle = 0;
        }
    }