【问题标题】:C# Matrix3D - what is the "_matrix" member?C# Matrix3D - 什么是“_matrix”成员?
【发布时间】:2015-12-03 19:05:18
【问题描述】:

我正在寻找一些示例代码来使用 C#/WPF 的 Matrix3D 结构进行 3D 旋转。 在 Stack Overflow 问题 Rotation Matrix given angle and point in X,Y,Z,Jordan Arron 的第二个回答中,我想我找到了我正在寻找的东西,除了对 _matrix 成员的引用,例如,

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

...在第二行失败,显示“System.Windows.Media.Media3D.Matrix3D' does not contain a definition for matrix”(注意它说的是“matrix”,而不是“_matrix “——为什么?)

我在网络上的其他示例中也看到了相同的语法:matrix._matrix[j,k],例如,https://www.simple-talk.com/dotnet/.net-framework/building-a-simple-3d-engine-with-silverlight/ ...但我在结构定义中没有看到 _matrix 成员 (https://msdn.microsoft.com/en-us/library/system.windows.media.media3d.matrix3d.aspx)

我在这里做错了什么?

【问题讨论】:

    标签: c# wpf matrix 3d


    【解决方案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/

    【讨论】:

    • 在我在原始链接中引用的答案中,回答具体的发帖人引用(链接到)MSDN 的 Matrix3D 版本,这就是我感到困惑的原因。感谢您清除此问题。顺便说一句,您知道使用 MSDN 的 Matrix3D 进行旋转的任何好的代码示例吗?
    猜你喜欢
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多