放置一个滑块控件在冲浪情节?
8次浏览(过去30天)
显示旧的注释
有一种方法来实现一个滑块类型的控件为3D冲浪情节?我研究了uicontrol,但它显然只适用于用数字创建的情节。
有不同的实现方式吗?控件不一定是滑块;我想让用户能够输入20Hz-20kHz范围内的频率值,然后通过一段代码对该值进行计算并相应地更新冲浪图。
下面是我想要放置滑块的示例代码。尝试使用uicontrol会给我一个错误:surface不能是父对象。
绘制一个球体,其半径根据绘图上的滑块位置而变化
定义为球坐标
Theta = linspace(-,pi,73);
Theta = repmat(Theta,37,1);
Theta (:,1) = -1 * Theta (:,1);不是必须的,但它将最后一组点与第一个点连接起来,以提供一个光滑的表面
= linspace(- /2, /2,37)';
= repmat(Phi,1,73);
R = user_input*ones(size(theta));% user_input来自改变绘制球体半径的滑块
[x,y,z] = sph2cart(theta,phi,r);
冲浪(x, y, z)
0评论
接受的答案
沃尔特·罗伯森
2021年9月22日
您正在使用surf(),并且没有将一个轴句柄传递给surf()。
在这个组合中,surf()将使用gca()来查找当前的轴,而gca()将使用gcf(),后者将查找当前的“传统”图形(或根据需要创建一个)。Gcf()将永远不会尝试查找“当前”uifigfigure ()
因此,按照您的编程方式,surf()将始终以传统图形()显示。因此,您所担心的uicontrol只处理用figure()创建的图形,结果不是问题:您
是
将使用figure()创建的图形
如果你已经将所有这些都编程到ufigure()中,那么你将使用uislider()而不是uicontrol()