如何设置Controller以显示或隐藏操作的图形组件?
Manipulate[Graphics[
{Pink, Disk[{1, 1}, r],
Green, Disk[{2, 2}, r]}],
{{r, 0.5, Style["Radius", Black, 16]}, 0.5, 5, 1,
Appearance -> "Labeled"}]例如,在上面,如何设置控制器显示或不显示绿色圆圈?

-解决方案:
Manipulate[Graphics[{
If[thePink,
{Pink, Disk[{1, 1}, r]}],
If[theGreen,
{Green, Disk[{2, 2}, r]}]
}
],
{{r, 0.5, Style["Radius", Black, 16]}, 0.5, 5, 1,
Appearance -> "Labeled"},
{{thePink, True, "Pink"}, {True, False}},
{{theGreen, False, "Green"}, {True, False}}]

发布于 2011-06-07 21:44:44
你不能把绿球“藏起来”。
所显示的是操作表达式计算的结果。操作如下:
操纵表达式,control_variables
当任何控件变量(动态)发生更改时,将重新计算表达式并显示其结果。因此,当您移动滑块时,您正在更改一个变量值,因此表达式将被重新计算并显示其输出。
若要“隐藏”任何内容,则需要更改表达式不输出绿色球。因此,您需要添加一些控制变量(例如复选框),如果设置,则更改表达式以不显示绿色球。简单的逻辑测试就行了。例如
Manipulate[
Graphics[{Pink, Disk[{1, 1}, r], Green, If[show, Disk[{2, 2}, r]],
Sequence[]}], {{r, 0.5, "Radius"}, 0.5,
5}, {{show, True, "Show Green Circle?"}, {True, False}}]编辑:
WOw,谢谢西蒙,当我看到你的编辑时,我正准备粘贴一个你所做的事情的例子。谢谢。几乎和你的密码一样。这里最好粘贴它:)
Manipulate[Graphics[
{ Pink,Disk[{1,1},r],
If[on,{Green,Disk[{2,2},r]}]
}] ,
{{r,0.5,"Radius"},0.5,5},
{{on,False,"show green ball"},{True,False}}
]发布于 2011-06-07 21:57:36
也许:
Manipulate[
Graphics[{Pink, Disk[{1, 1}, r], Opacity[o],
Green, Disk[{2, 2}, r]}],
{{r, 0.5, "Radius"}, 0.5, 5},
{{o, 0.5, "Opacity"}, 0, 1}]https://stackoverflow.com/questions/6271809
复制相似问题