2015-12-03 3 views
0

Я ищу пример кода для 3D-поворота с использованием структуры Matrix3D на C#/WPF. На Stack Overflow вопрос Rotation Matrix given angle and point in X,Y,Z, второй ответ Джордан Arron Я думал, что я нашел то, что я искал, за исключением, что ссылки на члена _matrix, например,C# Matrix3D - что такое член «_matrix»?

var matrix = new Matrix3D(); 
matrix._matrix[1, 1] = Math.Cos(radians); 

... провал на второй линии " System.Windows.Media.Media3D.Matrix3D»не содержит определения для матрицы" (обратите внимание, что он говорит? „матрица“, а не „_matrix“ - почему)

Я вижу этот же синтаксис: matrix._matrix [j, k], используемые в других примерах в Интернете, например, https://www.simple-talk.com/dotnet/.net-framework/building-a-simple-3d-engine-with-silverlight/ ... но я не вижу член-матрицу в структуре, определяющей ition (https://msdn.microsoft.com/en-us/library/system.windows.media.media3d.matrix3d.aspx)

Что я здесь не так?

ответ

1

Я думаю, что вы можете перепутать два класса Matrix3D в отдельных пространствах имен: System.Windows.Media.Media3D и com.bodurov.LinesIn3D.Matrix3D

System.Windows.Media.Media3D не содержит член _matrix.

Смотрите исходный код здесь: https://msdn.microsoft.com/en-us/library/system.windows.media.media3d.matrix3d(v=vs.90).aspx

Документация: https://msdn.microsoft.com/en-us/library/system.windows.media.media3d.matrix3d.aspx

Однако ....

com.bodurov.LinesIn3D.Matrix3D действительно содержит член _matrix

См исходный код: https://vectorvisualizer.codeplex.com/SourceControl/latest#com.bodurov.LinesIn3D/Matrix3D.cs

Документация: https://www.simple-talk.com/dotnet/.net-framework/building-a-simple-3d-engine-with-silverlight/

+0

В ответе, на который я ссылался в исходной ссылке, плакат, который ответил ** конкретно **, ссылался (связан с) на версию MSDN Matrix3D, поэтому я был сбит с толку. Спасибо, что поняли это. Кстати, знаете ли вы хорошие примеры кода использования Matrix3D MSDN для вращения? – user316117

+0

Извините, я не знаю никаких хороших примеров. – openshac