Использование чистых функций в качестве координат в Wolfram Mathematica - PullRequest
0 голосов
/ 12 апреля 2020

Кто-нибудь знает, как использовать чистые функции в Locator в Wolfram Mathematica? Например, если бы у меня был простой фрагмент кода, подобный следующему:

Graphics[
 Locator[
  Dynamic[fill, (fill = #) &]
  ]
 ]

Произошла ошибка, потому что # обозначает единичное число, а не пара таких координат, как для Locator. Я также попробовал это:

Graphics[
 Locator[
  Dynamic[fill, (fill = {#1, #2}) &]
  ]
 ]

Что привело к той же проблеме.

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

Вам не нужно указывать функции отслеживания, поскольку Wolfram Language автоматически обновит переменную для вас. Однако для этого конкретного случая вам нужно инициализировать переменную fill.

Попробуйте

fill = {0, 0};
{Graphics[Locator[Dynamic[fill]]], Dynamic[fill]}

Надеюсь, это поможет.

0 голосов
/ 12 апреля 2020

Это прекрасно работает для меня

fill = {1, 1};
{Graphics[Locator[Dynamic[fill, (fill = #) &]]], Dynamic[fill]}

enter image description here

...