如何动态修改AxisAngleRotation里的角度值?

问题描述

我想做一个能从串口里面读取传感器传入的现实单摆的角度,然后能在WPF上模拟的3D动画,目前已经做出了3D模型和简单动画,但是没法动态修改AxisAngleRotation3D里的Angle值,它只能简单地从From到To……求高人帮忙改改。程序如下~假定我在C#里,传入的角度值是nowangle,目的就是想,让AxisAngleRotation3D的Angle值一直和nowangle保持一致,该怎么写呢?C#代码:publicpartialclassMainWindow:Window{publicdoublenowangle;publicStoryboardsb1=newStoryboard();publicDoubleAnimationda1=newDoubleAnimation();publicMainWindow(){this.InitializeComponent();getanimation();sb1.Begin();}privatevoidgetanimation(){#regionda1.SetValue(Storyboard.TargetNameProperty,"rotation");da1.SetValue(Storyboard.TargetPropertyProperty,newPropertyPath(AxisAngleRotation3D.AngleProperty));da1.From=rotation.Angle;da1.To+=nowangle;//da1.Duration=TimeSpan.FromSeconds(0.5);//da1.AutoReverse=true;//da1.RepeatBehavior=RepeatBehavior.Forever;sb1.Children.Add(da1);this.Resources.Add("Storyboard",sb1);#endregion}}

XAML:<Grid><Viewport3DClipToBounds="False"Margin="56,0,62,13"><Viewport3D.Camera><PerspectiveCameraFieldOfView="60"LookDirection="0,0,-230"Position="0,-80,230"UpDirection="0,1,0"/></Viewport3D.Camera><ModelVisual3Dx:Name="World"><ModelVisual3D.Transform><RotateTransform3D><RotateTransform3D.Rotation><AxisAngleRotation3Dx:Name="rotation"Axis="0,0,1"Angle="0"/></RotateTransform3D.Rotation></RotateTransform3D></ModelVisual3D.Transform><ModelVisual3Dx:Name="DirectionalLightContainer"><ModelVisual3D.Content><DirectionalLightx:Name="DirectionalLight"Color="White"Direction="-120,-150,-230"></DirectionalLight></ModelVisual3D.Content></ModelVisual3D><ModelVisual3Dx:Name="RootGeometryContainer"><ModelVisual3Dx:Name="Sphere01"><ModelVisual3D.Content><GeometryModel3Dx:Name="DefaultMaterial"d:Bounds="-10,-110,-10,20,20,20"><GeometryModel3D.Geometry><MeshGeometry3DNormals="..."TriangleIndices="..."/></GeometryModel3D.Geometry><GeometryModel3D.Material><DiffuseMaterialBrush="Red"/></GeometryModel3D.Material></GeometryModel3D></ModelVisual3D.Content></ModelVisual3D><ModelVisual3Dx:Name="Cylinder01"><ModelVisual3D.Content><GeometryModel3Dx:Name="DefaultMaterial1"d:Bounds="-0.5,-100,-0.49210000038147,1,100,0.984800010919571"><GeometryModel3D.Geometry><MeshGeometry3DNormals="..."TriangleIndices="..."/></GeometryModel3D.Geometry><GeometryModel3D.Material><DiffuseMaterialBrush="Brown"/></GeometryModel3D.Material></GeometryModel3D></ModelVisual3D.Content></ModelVisual3D></ModelVisual3D></ModelVisual3D></Viewport3D></Grid>

解决方案

解决方案二:
求救!

时间: 2024-10-23 09:15:47

如何动态修改AxisAngleRotation里的角度值?的相关文章

如何利用js动态修改object的param的值,然后重新加载

问题描述 <divstyle="width:720px;height:700px;float:left;z-index:-9999;"><objectid="obj_today"name="CountXaml"data="data:application/x-silverlight-2,"type="application/x-silverlight-2"width="100%&

动态修改DOM 里面的 id 属性的弊端分析_javascript技巧

在IE当中,修改id属性对将来的DOM操作没什么不符合标准的影响,你仍然可以通过document.getElementById()找到该元素,然后在CSS支持上就有问题了,id修改后并不会自动去重新匹配CSS规则,因此id修改后不会体现出应有的样式. 因此,进行DOM编程时应该避免修改id属性,如果需要动态改变匹配的CSS规则,就改变class属性吧.我碰到这个问题时也就是尝试通过修改id属性修改唯一匹配某个CSS过滤器的元素,结果发现修改后在IE中完全没有修改,之后改为用class属性实现同样

javascript动态修改Li节点值的方法

 这篇文章主要介绍了javascript动态修改Li节点值的方法,涉及针对li节点的操作技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了javascript动态修改Li节点值的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Cont

java-怎么动态修改jqgrid editoptions的值,哪位大神知道啊

问题描述 怎么动态修改jqgrid editoptions的值,哪位大神知道啊 比方说jqgrid 生成的下拉框有10条选项,我想在让它触发一个事件显示前5条选项,触发另一个事件显示后5条,怎么做?

修改UIView的默认Layer后,修改View的值会动态修改Layer的值

修改UIView的默认Layer后,修改View的值会动态修改Layer的值 效果图: 如上图所示,当我们修改了一个UIView的子类中的Layer内置类型时(如上图中我们将CALayer直接替换成了CAGradientLayer类),会直接作用到其内置的Layer当中. 我们可以用这个特性将Layer封装到View当中,然后直接修改view就能达到我们想要实现的目的. 源码: // // AlphaView.h // YXMWeather // // Created by XianMingYo

android工程文件的res文件下的xml文件中color标签的值如何动态修改

问题描述 android工程文件的res文件下的xml文件中color标签的值如何动态修改 请问给位前辈,如果想动态修改android的strings.xml文件中的color属性java代码该怎莫写呀!?请大家指点一下!是修改传入新值,不是获取. 解决方案 在values下面新建一个叫做color.xml的文件内容如下颜色都是16进制的,你可以通过颜色表来查询. <?xml version="1.0" encoding="utf-8" ?> #FFFF

用JS动态改变表单form里的action值属性的两种方法_javascript技巧

方法1: <form id="form1" name="form1" method="post" action="../news/index.asp"> <table width="100%" height="43" border="0" cellpadding="0" cellspacing="0">

ize onst #-MarshalAs里的SizeConst可以动态修改吗?

问题描述 MarshalAs里的SizeConst可以动态修改吗? Socket通信中,客户端是C++写的,将结构体转出字符的形式,传过来.有字符串字段,但是长度是不定的. 服务端是C#,接收结构体 public struct PROTOCOL_SEND_CHAT_MESS { public UInt32 protocolId; public UInt32 nextTest; public bool isTest; [MarshalAs(UnmanagedType.ByValTStr, Size

javascript动态修改Li节点值的方法_javascript技巧

本文实例讲述了javascript动态修改Li节点值的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html>  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>