Cómo animar el cubo giratorio en C #?

votos
3

Me gustaría hacer algo como esto: un cubo giratorio en un formulario. No quiero usar ninguna biblioteca externa o dll, solo pure .NET 3.5 (sin directx). Y una construcción de cubo con líneas solamente. ¿Podría decirme cómo hacer esto?

No quiero usar bibliotecas externas porque no necesito> 100 MB de biblioteca para hacer esto, ¿verdad? Solo quiero animar un cubo giratorio hecho con líneas.

Publicado el 09/12/2008 a las 14:54
fuente por usuario
En otros idiomas...                            


6 respuestas

votos
5

Así es como haces un Cubo en GDI +

Dibujo C # 3D con GDI + rotación de Euler

http://www.vcskicks.com/3d-graphics-improved.html

C # 3D-Drawing Cube con sombreado

http://www.vcskicks.com/3d_gdiplus_drawing.html

Respondida el 09/12/2008 a las 16:01
fuente por usuario

votos
4

¿Asignación de estudio? Esto se puede hacer con algunas matemáticas 3D simples. Solo necesita comprender los conceptos básicos del álgebra matricial, las transformaciones 3D y la transformación de vistas 3D-> 2D. El tutorial de DirectX lo cubre, pero puede buscarlo en Google y obtendrá muchos otros tutoriales.

Agregado: Solo para aclarar: no sugiero usar DirectX ni nada. Puede hacer esto con las herramientas estándar de System.Drawing. Solo necesita comprender las matemáticas, y eso se explica en los tutoriales de DirectX.

Respondida el 09/12/2008 a las 15:20
fuente por usuario

votos
0

Necesitas una forma de representar puntos 3d. No hay una estructura lista para eso en .NET a menos que use directx o WPF.

Luego, con una matriz de rotación Euler estándar aplicada a los puntos, obtienes los puntos transformados. Si solo haces rotaciones puedes salirte con la matriz 3x3, pero si quieres la traducción, mejor utilizas matrices 4x4 y puntos homogéneos.

Después de esto, necesita una forma de proyectar esos puntos 3d al lienzo 2d. Dependiendo de si está utilizando perspectiva o proyección ortográfica, la matriz de proyección se verá un poco diferente.

Respondida el 09/12/2008 a las 16:17
fuente por usuario

votos
0

Suponiendo que está utilizando WPF para su GUI:

  1. Haga un PNG animado del cubo usando un programa de gráficos.
  2. Use el control APNG WPF para insertar la imagen en su GUI.

Esto proporcionará un tamaño de ensamblaje pequeño y un fondo transparente si es necesario.

Respondida el 09/12/2008 a las 16:08
fuente por usuario

votos
0

Puede intentar usar WPF y el código fuente de 3D Tools lanzado por el equipo de WPF.

3DTools

Respondida el 09/12/2008 a las 15:03
fuente por usuario

votos
-1

Mire en WPF en general, lo ayudará a hacer esto con unas cuantas líneas miserables de código. También puede alojar una ventana de WPF en Formularios.

http://msdn.microsoft.com/en-us/library/aa970268.aspx

Respondida el 09/12/2008 a las 15:22
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more