鉴于此 Mathematica 代码,
Manipulate[Graphics[Line[{{0, 0}, p}], PlotRange -> 2], {{p, {1, 1}}, Locator}]
如何在定位器上设置步距?如果可能的话,约束他们?
鉴于此 Mathematica 代码,
Manipulate[Graphics[Line[{{0, 0}, p}], PlotRange -> 2], {{p, {1, 1}}, Locator}]
如何在定位器上设置步距?如果可能的话,约束他们?
你可以做类似的事情
Manipulate[
Graphics[Line[{{0, 0}, p}],
PlotRange -> 2], {{p, {1, 1}}, {-1, -1}, {1, 1}, {0.4, 0.5}, Locator}]
这会将定位器限制为水平间距为 0.4,垂直间距为 0.5 的矩形晶格。定位器的坐标范围由{xmin,ymin} = {-1,-1}
和指定{xmax, ymax} = {1,1}
。
如果您想要更大的灵活性,例如您想将定位器的位置限制为非矩形晶格或更通用的坐标集,您可以执行类似的操作
Manipulate[
With[{tab = RandomReal[{-1, 1}, {40, 2}]},
LocatorPane[Dynamic[p, (p = Nearest[tab, #][[1]]) &],
Graphics[{Line[{{0, 0}, Dynamic[p]}], {Red, Point /@ tab}}, PlotRange -> 2]]],
{{p, {1, 1}}, ControlType -> None}]
该文档指出:
Manipulate[expr, {u, umin, umax, du}]
允许u的值在umin和umax之间变化,步长为du。
和
Manipulate[expr, {u, {u1, u2, u3,...}}]
允许您采用离散值。
其中一种方法应该适合您。