Como animar girando cubo em C #?

votos
3

Eu gostaria de fazer algo como isto: um cubo girando em um formulário. Eu não quero usar qualquer biblioteca externa ou dll, apenas pura .NET 3.5 (sem DirectX). E um cubo construir com apenas linhas. Você poderia me dizer como fazer isso?

Eu não quero usar bibliotecas externas, porque eu não preciso> 100 MB biblioteca para fazer isso certo? Quero apenas para animar um cubo giratório feito com linhas.

Publicado 09/12/2008 em 14:54
fonte usuário
Em outras línguas...                            


6 respostas

votos
5

Isto é como você vai fazer um cubo no GDI +

C # 3D Desenho com GDI + Euler Rotação

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

C # 3D-Desenho Cubo com sombreamento

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

Respondeu 09/12/2008 em 16:01
fonte usuário

votos
4

Atribuição de estudo? Isso pode ser feito com alguma matemática 3D simples. Você só precisa entender os conceitos básicos de álgebra matricial, transformações 3D, e 3D-> 2D vista transformação. O tutorial DirectX cobre isso, mas você pode google para ele e você vai começar a abundância de outros tutoriais.

Adicionado: Só para esclarecer - Eu não estou sugerindo usar DirectX ou qualquer coisa. Você pode fazer isso com ferramentas System.Drawing padrão. Você só precisa entender a matemática, e que é explicado nos tutoriais DirectX.

Respondeu 09/12/2008 em 15:20
fonte usuário

votos
0

Você precisa encontrar uma maneira para representar pontos 3D. Não há estrutura pronta para isso no .NET menos que você use DirectX ou WPF.

Em seguida, com uma matriz de rotação Euler padrão aplicada aos pontos que você conseguir os pontos transformados. Se você só fazer rotações você pode sair com matriz 3x3, mas se você quiser tradução que melhor uso matrizes 4x4 e pontos homogêneos.

Após isso, você precisa encontrar uma maneira de projetar esses pontos 3d para a tela 2D. Dependendo se você está usando perspectiva ou projeção ortográfica a matriz de projeção vai olhar um pouco diferente.

Respondeu 09/12/2008 em 16:17
fonte usuário

votos
0

Supondo que você está usando WPF para o seu GUI:

  1. Faça um PNG animada do cubo usando um programa gráfico.
  2. Use o WPF Controle APNG para inserir a imagem em sua GUI.

Isto irá proporcionar um tamanho pequeno de montagem e fundo transparente, se necessário.

Respondeu 09/12/2008 em 16:08
fonte usuário

votos
0

Você pode tentar usar WPF eo código-fonte Ferramentas 3D lançado pela equipe WPF.

3DTools

Respondeu 09/12/2008 em 15:03
fonte usuário

votos
-1

Olhe para WPF em geral, ele irá ajudá-lo a fazer isso com algumas linhas míseros de código. Você também pode hospedar uma janela WPF em Formulários.

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

Respondeu 09/12/2008 em 15:22
fonte usuário

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