Как анимировать вращающийся куб в C #?

голоса
3

Я хотел бы сделать что-то вроде этого: вращающийся куб в форме. Я не хочу, чтобы использовать любую внешнюю библиотеку или DLL, только чистый .NET 3.5 (без DirectX). И куб построить только с линиями. Не могли бы вы сказать мне, как это сделать?

Я не хочу, чтобы использовать внешние библиотеки, потому что не нужно> 100 MB библиотеки, чтобы сделать эту вещь правильно? Я только хочу, чтобы анимировать вращающийся куб, сделанный с помощью линий.

Задан 09/12/2008 в 14:54
источник пользователем
На других языках...                            


6 ответов

голоса
5

Это, как вы идете о создании куба в GDI +

C # 3D Чертеж с GDI + Эйлера вращения

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

C # 3D-рисования куба с затенения

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

Ответил 09/12/2008 в 16:01
источник пользователем

голоса
4

Назначение Исследование? Это может быть сделано с некоторой простой 3D математикой. Вам просто нужно понять основы алгебры матриц, 3D преобразования, и 3D-> 2D зрения трансформации. DirectX учебник охватывает это, но вы можете Google для него , и вы получите много других учебников.

Добавлено: Просто чтобы прояснить - я не предлагаю использовать DirectX или что - нибудь. Вы можете сделать это с помощью стандартных инструментов System.Drawing. Вам просто нужно понять математику, и это объясняется в учебниках DirectX.

Ответил 09/12/2008 в 15:20
источник пользователем

голоса
0

Вам нужен способ представления 3D-очков. Там нет готовой структуры для этого в .NET, если вы не используете DirectX или WPF.

Затем с помощью стандартной матрицы вращения Euler применяется к точкам вы получите преобразованные точки. Если вы только ротация вы можете уйти с матрицей 3х3, но если вы хотите перевод вам лучше использовать матрицы 4x4 и однородные точки.

После этого вам нужен способ, чтобы спроецировать эти 3d указывает на 2d холст. В зависимости от того, используется ли перспектива или ортогональной проекции матрица проекции будет выглядеть несколько иначе.

Ответил 09/12/2008 в 16:17
источник пользователем

голоса
0

Предполагая, что вы используете WPF для GUI:

  1. Сделать анимированный PNG куба с помощью графической программы.
  2. Используйте APNG WPF управления , чтобы вставить изображение в графическом интерфейсе.

Это даст небольшой размер сборки и прозрачный фон, если это необходимо.

Ответил 09/12/2008 в 16:08
источник пользователем

голоса
0

Вы можете попробовать использовать WPF и 3D Tools исходный код выпущен командой WPF.

3DTools

Ответил 09/12/2008 в 15:03
источник пользователем

голоса
-1

Посмотрите в WPF в целом, это поможет вам сделать это с помощью нескольких жалких строк кода. Вы также можете разместить окно WPF в формах.

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

Ответил 09/12/2008 в 15:22
источник пользователем

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