首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Mathematica中使用Locator和Manipulate设置步长

在Mathematica中使用Locator和Manipulate设置步长
EN

Stack Overflow用户
提问于 2011-08-25 04:57:37
回答 2查看 1.1K关注 0票数 2

有了这个数学代码,

代码语言:javascript
运行
复制
Manipulate[Graphics[Line[{{0, 0}, p}], PlotRange -> 2], {{p, {1, 1}}, Locator}]

如何在定位器上设置步长距离?如果可能的话,约束他们?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-25 05:21:15

你可以这样做

代码语言:javascript
运行
复制
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}指定。

如果你想要更多的灵活性,例如,你想把定位器的位置限制在一个非矩形的晶格或者一组更通用的坐标上,你可以这样做

代码语言:javascript
运行
复制
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}]
票数 6
EN

Stack Overflow用户

发布于 2011-08-25 05:20:34

documentation声明:

代码语言:javascript
运行
复制
Manipulate[expr, {u, umin, umax, du}]

允许u的值在步骤du中的umin和umax之间变化。

代码语言:javascript
运行
复制
Manipulate[expr, {u, {u1, u2, u3,...}}]

允许u取离散值。

这些方法中的一种应该对您有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7182171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档