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

luminos 2011-12-09 07:41:17
我想做一个能从串口里面读取传感器传入的现实单摆的角度,然后能在WPF上模拟的3D动画,目前已经做出了3D模型和简单动画,但是没法动态修改AxisAngleRotation3D里的Angle值,它只能简单地从From到To……求高人帮忙改改。程序如下~

假定我在C#里,传入的角度值是nowangle,目的就是想,让AxisAngleRotation3D的Angle值一直和nowangle保持一致,该怎么写呢?

C#代码:

public partial class MainWindow : Window
{
public double nowangle;
public Storyboard sb1 = new Storyboard();
public DoubleAnimation da1 = new DoubleAnimation();
public MainWindow()
{
this.InitializeComponent();
getanimation();
sb1.Begin();

}
private void getanimation() {
#region
da1.SetValue(Storyboard.TargetNameProperty, "rotation");
da1.SetValue(Storyboard.TargetPropertyProperty, new PropertyPath(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>
<Viewport3D ClipToBounds="False" Margin="56,0,62,13">
<Viewport3D.Camera>
<PerspectiveCamera FieldOfView="60" LookDirection="0,0,-230" Position="0,-80,230" UpDirection="0,1,0"/>
</Viewport3D.Camera>

<ModelVisual3D x:Name="World">

<ModelVisual3D.Transform>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D
x:Name="rotation"
Axis="0,0,1"
Angle="0"
/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
</ModelVisual3D.Transform>

<ModelVisual3D x:Name="DirectionalLightContainer">
<ModelVisual3D.Content>
<DirectionalLight x:Name="DirectionalLight" Color="White" Direction="-120,-150,-230">
</DirectionalLight>
</ModelVisual3D.Content>
</ModelVisual3D>

<ModelVisual3D x:Name="RootGeometryContainer">

<ModelVisual3D x:Name="Sphere01">
<ModelVisual3D.Content>
<GeometryModel3D x:Name="DefaultMaterial" d:Bounds="-10,-110,-10,20,20,20">
<GeometryModel3D.Geometry>
<MeshGeometry3D Normals="..." TriangleIndices="..."/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial Brush="Red"/>
</GeometryModel3D.Material>
</GeometryModel3D>
</ModelVisual3D.Content>
</ModelVisual3D>

<ModelVisual3D x:Name="Cylinder01">
<ModelVisual3D.Content>
<GeometryModel3D x:Name="DefaultMaterial1" d:Bounds="-0.5,-100,-0.49210000038147,1,100,0.984800010919571">
<GeometryModel3D.Geometry>
<MeshGeometry3D Normals="..." TriangleIndices="..."/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial Brush="Brown"/>
</GeometryModel3D.Material>
</GeometryModel3D>
</ModelVisual3D.Content>
</ModelVisual3D>

</ModelVisual3D>
</ModelVisual3D>

</Viewport3D>
</Grid>
...全文
176 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
luminos 2011-12-09
  • 打赏
  • 举报
回复
求救!
内容概要:本文围绕基于混沌系统与DNA编码的彩色图像加密解密体系展开研究,提出了一种多层级、高复杂度的复合加密方法。该方法深度融合混沌系统的伪随机遍历特性与DNA编码的高维并行处理能力,对彩色图像RGB三通道像素信息实施双重混淆与扩散操作,显著增强了加密算法的安全性与抗攻击能力。研究系统性地构建了完整的加密-解密流程,并重点针对实际传输环境中常见的高斯噪声、椒盐噪声及多种裁剪攻击(包括小面积、中面积、边缘与中心区域裁剪)进行了详尽的鲁棒性测试。实验结果表明,该算法不仅具备极高的密钥敏感性与安全性,而且在遭受不同程度噪声干扰或局部数据丢失后,仍能有效恢复出具有清晰结构与可用信息的解密图像,展现出卓越的容错性与实用性。; 适合人群:具备一定图像处理、信息安全或密码学基础知识的科研人员、研究生及从事多媒体安全传输开发的工程技术人员。; 使用场景及目标:①应用于军事通信、医疗影像保护、数字版权管理等对安全性要求极高的图像传输与存储场景;②为新型图像加密算法的设计提供创新思路,并为算法的抗干扰性能评估建立系统化测试体系,推动复合加密技术向工程化、实用化发展。; 阅读建议:建议读者结合Matlab代码实现,复现文中所述的加密流程与抗干扰测试,深入理解混沌序列生成、DNA编码规则映射、像素扩散机制等关键步骤,并可通过调整参数或引入新的攻击类型来进一步拓展算法的性能分析。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧