在Mathematica中结合定位器操作的句法

时间:2011-08-16 21:56:03

标签: syntax wolfram-mathematica

我很难理解以下表达式的语法:

Manipulate[  Graphics[Line[{{0, 0}, p}], PlotRange -> 2], {{p, {1, 1}}, Locator}]

根据documentation of Manipulate语法如下:

Manipulate[expr, {u, u_min, u_max}]
Manipulate[expr, {u, u_min, u_max, du}]
Manipulate[expr, {{u, u_init}, u_min, u_max, ...}]
Manipulate[expr, {{u, u_init, u_lbl}, u_min, u_max, ...}]
Manipulate[expr, {u, {u_1, u_2,...}}]

Locator应该像这样工作:

Locator[{x, y}]
Locator[Dynamic[pos]]
Locator[{x, y}, obj]
Locator[{x, y}, None]

我认为{{p, {1, 1}}, Locator}映射到Manipulate[expr, {{u, u_init}, ...}] 其中u_init{1, 1},但是我有一个无参数Locator 期望最低价值。

在上述语法描述中扮演定位器的角色是什么?

1 个答案:

答案 0 :(得分:2)

作为documentation for Manipulate州(在“更多信息”框中):

 {u,Locator}          a locator in a graphic
     

在{u,Locator}形式中,u的值是给出x和y坐标的列表。坐标指的是expr中的第一个图形,或者指向expr的每个方向的0到1的范围。

     

表单{{u,{{x1,y1},{x2,y2},...}},Locator}为每个{xi, yi}设置一个定位器,并生成u的值是所有的清单。

     

选项设置LocatorAutoCreate指定应为未点击现有定位器的点击添加新定位器。 Alt + Click删除定位器。

     

{{u,{}},Locator,LocatorAutoCreate-> All}以没有定位器开头,但允许创建定位器。