c# – 如何在ILCube中保持形状
发布时间:2020-12-15 07:46:10 所属栏目:百科 来源:网络整理
导读:我想用ILNumerics绘制一些3D表面.我注意到,如果我旋转它,ILCube不会保持表面的形状,这是因为它试图使立方体适合ILPanel.但是,如果我使用ILCamera,它会保持形状,但周围没有立方体.这是一个例子, private void ilPanel1_Load(object sender,EventArgs e){ var
我想用ILNumerics绘制一些3D表面.我注意到,如果我旋转它,ILCube不会保持表面的形状,这是因为它试图使立方体适合ILPanel.但是,如果我使用ILCamera,它会保持形状,但周围没有立方体.这是一个例子,
private void ilPanel1_Load(object sender,EventArgs e) { var scene = new ILScene(); ILArray<float> A = ILSpecialData.torus(0.75f,0.25f); var sf = new ILSurface(A); var pc = new ILPlotCube(); pc.TwoDMode = false; scene.Add(pc); pc.Add(sf); sf.Colormap = Colormaps.Jet; var cb = new ILColorbar(); cb.Location = new PointF(1,.1f); sf.Children.Add(cb); ilPanel1.Scene = scene; } 结果是 并为ILCamera private void ilPanel1_Load(object sender,0.25f); var sf = new ILSurface(A); var cam = scene.Camera; cam.Add(sf); sf.Colormap = Colormaps.Jet; var cb = new ILColorbar(); cb.Location = new PointF(1,.1f); sf.Children.Add(cb); ilPanel1.Scene = scene; } 结果是 有没有办法让ILCube保持表面的形状?或者在表面周围添加一个立方体到ILCamera?谢谢. 解决方法
绘图立方体当前不支持等轴纵横比.但是自己添加它是相当简单的.
对于您的示例,绘图立方体(圆环面)的内容沿Z轴拉伸,因为环面沿Z的延伸小于X或Y方向.因此,绘图多维数据集选择拉伸内容以提供更好的细节. 为了显示没有扭曲的圆环,确保绘图立方体的轴范围等于所有方向: pc.Limits.Set(new Vector3(-1,-1,-1),new Vector3(1,1,1)); 请参阅此处的交互式示例:http://ilnumerics.net/ilcc.php?ilc=i63fb4c 缺点:每次修改绘图立方体的内容时(即添加/删除/更改数据),您都必须调整“限制”设置. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |