Hacer graficos en movimientos

Iniciado por Meta, 21 Agosto 2011, 12:19 PM

0 Miembros y 1 Visitante están viendo este tema.

Meta

Hola:

Quiero hacer una cosa en programación como curiosidad. Puede que se maneje menor con GDI+. Se trata de hacer la misma acción con dibujos vectoriales a GDI+ o otra tecnología como muestra el vídeo a parit del 5 segundos.

Ver vídeo
[youtube=425,350]http://www.youtube.com/watch?v=M_5GddFrzjI[/youtube]

Por lo que veo, hay que seguir una velocidad constante en el círculo con el punto que da vueltas. Las otras bolas o puntos, simplemente siguen con su variable X e Y las coordenadas del punto circulante.

¿Complicado?

Para mi lo es. Ni se como empezar.

Usando un Form1, luego a diburjar un círculo que luego pongo aquí, lo que no se es como hacer girar el punto del círculo, me imagino con un timer por medio.

Un saludo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Keyen Night

#1
Complicado no, sino que vas a necesitar de mucha matemática, sobre todo con el movimiento circular, esto lo vistes en física cuando estabas en bachillerato al menos te debes acordar de los nombres XD "Movimiento Circular Uniforme" y "Aceleración y Fuerza Centrípeta", busca información al respecto y la velocidad parece ser 0-1-0 osea que comienza en 0 acelera a 1 y vuelve a caer a 0, claro los números son ejemplos de valores. Esto quiere decir que no es uniforme sino más bien Variado el movimiento.

Aquí está muy bien explicado:
http://www.rena.edu.ve/cuartaEtapa/fisica/Tema4b.html
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

raul338

Con un timer, un contador, y el evento Paint del contenedor :D

Meta

Estoy en ello.

Quiero hacer sea como sea esto.



Por ahora me sale esto. ;)



Código (csharp) [Seleccionar]
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace movimiento_armonico_simple
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }

       private void pictureBox1_Paint(object sender, PaintEventArgs e)
       {
           Graphics graphicsObj = e.Graphics;
           
           // Círculo.
           Pen myPen = new Pen(System.Drawing.Color.Gray, 1);
           Rectangle myRectangle = new Rectangle(115, 50, 250, 250);
           graphicsObj.DrawEllipse(myPen, myRectangle);

           using (Pen p = new Pen(Color.Gray, 5))
           {
               //Horizontal
               graphicsObj.DrawLine(p, myRectangle.X, myRectangle.Top + (myRectangle.Height / 2), myRectangle.Right, myRectangle.Top + (myRectangle.Height / 2));
               //Vertical
               graphicsObj.DrawLine(p, myRectangle.X + (myRectangle.Width / 2), myRectangle.Top, myRectangle.X + (myRectangle.Width / 2), myRectangle.Bottom);
           }
       }
   }
}
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/