Есть ли C# 3D Graphics Library, которая может помочь мне рассчитать 2D-положение 3D-объекта в пространстве?

Моя цель состоит в том, чтобы я поместил некоторые объекты в трехмерное пространство и вызвал Render(), тогда эта библиотека могла бы сообщить мне положение рендеринга на 2-м экране каждого объекта.

Или как движок 3D-игр, но я хочу взять на себя часть рендеринга, я хочу визуализировать эти объекты самостоятельно.

Может кто-нибудь мне помочь?

2 ответа

Решение

Что насчет XNAMath? Это должно быть достаточно хорошо, чтобы удовлетворить все ваши потребности. Фактически это теперь часть DirectX SDK.

Изменить: Если вы хотите получить практическое представление о геометрии для компьютерной графики, вот обширная книга, которая охватывает все темы. И независимо от того, какую графику вы разрабатываете, игру, демо-версию или что-то еще, математика везде одинакова.

Может быть полезна любая библиотека, поддерживающая матричные операции, но я рекомендую вам использовать Managed DirectX. Он имеет много полезных функций, особенно для 3D-графики.

После выбора библиотеки создайте правильную матрицу вида и матрицу проекции, используя ее. Умножьте две матрицы в матрицу, а затем умножьте матрицу с позицией в 3D(центр объекта или некоторой вершины). Результирующий вектор будет указывать положение объекта на 2D-экране. Это стандартный конвейер трехмерной графики, вы можете найти много ссылок, используя ключевое слово.

Другие вопросы по тегам