公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
635 浏览

我想用鼠标控制Locator的位置变化,同时直线也跟着变化,可是直线右端的Locator拖动一下后就无法再继续拖动了,怎么处理才能连贯的拖动

s1 = {1, 1}
s2 = {2, 8}
s3 = {3, 27}
Manipulate[
 Show[Plot[x^3, {x, 0, 5}], 
  Plot[3 x^2, {x, 0, 5}, PlotStyle -> {Dashed, Red}], 
  Graphics[Locator[Dynamic[s1, (s1 = {#[[1]], #[[1]]^3}) &]]], 
  Graphics[Locator[Dynamic[s2, (s2 = {#[[1]], #[[1]]^3}) &]]], 
  Graphics[Locator[Dynamic[s3, (s3 = {#[[1]], #[[1]]^3}) &]]], 
  Plot[(#[[2]]/#[[1]] &@(s1 - s2) (x - s1[[1]]) + s1[[2]]) // 
    Evaluate, {x, 0, 5}]], {n, 0, 5}]

 

问题关闭原因: 暂不深入讨论
分类:绘图 | 用户: mma-2-2-2 (1.3k 分)
已关闭 用户:mma-2-2-2
DynamicModule[{s1 = {1, 1}, s2 = {2, 8}, s3 = {3, 27}},
 LocatorPane[
  Dynamic[{s1, s2,
    s3}, ({s1, s2, s3} = {#[[1]], #[[1]]^3} & /@ #) &],
  Dynamic@
   Show[Plot[x^3, {x, 0, 5}],
    Plot[3 x^2, {x, 0, 5}, PlotStyle -> {Dashed, Red}],
    Plot[(#[[2]]/#[[1]] &@(s1 - s2) (x - s1[[1]]) + s1[[2]]), {x, 0,
      5}]
    ]
  ]
 ]

1个回答

0 投票
 
已采纳
ClearAll[s]
s[1] = {0, 0};
s[2] = {1., Sin[1.]};
s[3] = {2., Sin[2.]};
Manipulate[
Graphics[Table[
With[{i = i}, 
Locator[Dynamic[(s[i]), (s[i] = {#[[1]], Sin[#[[1]]]}) &]]], {i, 
1, n}], PlotRange -> {{-1, 10}, {-1, 1}}], {{n, 2}, 1, 6}]

 

用户: mma-2-2-2 (1.3k 分)
...