2 Stimmen

Einstellung der Schrittweite mit Locator und Manipulate in Mathematica

Gegeben ist dieser Mathematica-Code,

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

Wie stelle ich den Schrittabstand am Locator ein? Und wenn möglich, sie einschränken?

6voto

Heike Punkte 23774

Sie könnten etwas tun wie

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

was den Locator auf ein rechteckiges Gitter mit einem horizontalen Abstand von 0,4 und einem vertikalen Abstand von 0,5 beschränken würde. Der Bereich der Koordinaten für den Locator wird angegeben durch {xmin,ymin} = {-1,-1} y {xmax, ymax} = {1,1} .


Wenn Sie mehr Flexibilität wünschen, z. B. wenn Sie die Position des Locators auf ein nicht rechteckiges Gitter oder einen allgemeineren Koordinatensatz beschränken wollen, können Sie etwas wie folgt tun

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}]

0voto

Verbeia Punkte 4380

Le site Dokumentation Staaten:

Manipulate[expr, {u, umin, umax, du}]

erlaubt den Wert von u zu variieren zwischen umin y umax stufenweise du .

und

Manipulate[expr, {u, {u1, u2, u3,...}}]

ermöglicht u um diskrete Werte anzunehmen.

Einer dieser Ansätze sollte für Sie geeignet sein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X