none
WPF 3D效果问题 续 RRS feed

  • 问题

  • 我在网上下了例子,看到有一个3DTool的动态库,里面貌似有好几个控件,比如TrackballDecorator,Interactive3DDecorator,Trackport3D不知道都有什么用.

    另外我现在想实现的功能是

    比如我有两个四方形的立方体A和B. A在屏幕中间.B在A的右边(或左边,无所谓),要求是,A原地立体的旋转,B和A距离不变,围绕A旋转.

    这样的一个3D效果,求思路


    Hero
    2011年10月8日 9:12

答案

  • TrackballDecorator,Interactive3DDecorator,Trackport3D 这些都是与鼠标操作和3D物体展现有关。

    “比如我有两个四方形的立方体A和B. A在屏幕中间.B在A的右边(或左边,无所谓),要求是,A原地立体的旋转,B和A距离不变,围绕A旋转."

    可以这么设计,动态计算改变B物体的每个点的坐标值,让他们的坐标值以同样一个圆方程来运行改变。

    然后你可以简单的用代码控制。

    这里我知道又有一个很好用的库,可以来帮助我们开发设计3D在WPf里面的: http://www.odewit.net/ArticleList.aspx?key=Wpf3D&lang=en

    项目下载:http://perspective.codeplex.com/

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 HeroHua0509 2011年10月13日 3:39
    2011年10月10日 10:15
    版主

全部回复

  • TrackballDecorator,Interactive3DDecorator,Trackport3D 这些都是与鼠标操作和3D物体展现有关。

    “比如我有两个四方形的立方体A和B. A在屏幕中间.B在A的右边(或左边,无所谓),要求是,A原地立体的旋转,B和A距离不变,围绕A旋转."

    可以这么设计,动态计算改变B物体的每个点的坐标值,让他们的坐标值以同样一个圆方程来运行改变。

    然后你可以简单的用代码控制。

    这里我知道又有一个很好用的库,可以来帮助我们开发设计3D在WPf里面的: http://www.odewit.net/ArticleList.aspx?key=Wpf3D&lang=en

    项目下载:http://perspective.codeplex.com/

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 HeroHua0509 2011年10月13日 3:39
    2011年10月10日 10:15
    版主
  • 其实很简单....Y轴偏移一下 然后按照Y轴来旋转也可以达到效果

    哎,走了很多弯路


    Hero
    2011年10月13日 3:39
  • 您好。

                                                                                                                                                        

    <RotateTransform3D d:EulerAngles="180,-314,90">
    <RotateTransform3D.Rotation>
    <AxisAngleRotation3D Axis="-0.677,-0.677,0.287" Angle="212.078"/>
    </RotateTransform3D.Rotation>
    </RotateTransform3D>

    这个物体在三维世界里可不是相对坐标刚好是正放的。 现在怎么根据X轴旋转212度,怎么求取 Rotation3D 的Axis的轴点,这是在blend里旋转自动产生的。现要我想代码里计算出来。从而达到自由控制模型。

    2012年9月27日 5:09
  • 你好,

    我是去年有个项目里用到了3D ,一下过了大半年没用了.忘光光了,实在不好意思.

    我的复习一下先


    与我交流:点击这里给我发消息

    2012年9月27日 5:25