Создание функции

Форум пользователей пакета Mathematica

Модератор: Admin

Airunreal
Сообщения: 8
Зарегистрирован: Пт апр 10, 2009 7:51 pm
Откуда: Волгоград
Контактная информация:

Создание функции

Сообщение Airunreal » Вт фев 16, 2010 9:45 pm

У меня собственно такая задача создание функции которая бы брала координаты мышки (хp, yp)
далее
так как у нас есть первоначальный набор координат
типа
х1 у1 к ним привязанные какие то координаты r1 и с1
х2 у2 к ним r2 c2
и т.д
так вот надо что бы функция брала последовательно координаты х1 у1 (и конечно же r1 и с1) потом остальные пока не кончаться они
и проверяла такие условия
sqrt((r1-x1)^2+(с1-у1)^2) * sqrt((xp-x1)^2+(yp-у1)^2) = (r1-x1)*(xp-x1)+(с1-у1)*(yp-у1)


*комментарий тут просто я как бы проверяю парралелен ли вектору проведенному между двумя точками *

собственно остальное я сам сделать могу. да и для точек могу условие сделать не сложно. я просто что бы если кто то поможет понимать картину того что происходит.

так вот кто нибудь может помочь с оформлением функции.
кратко задача в том что бы сделать функцию которая берет координаты мышки и по очереди сравнивает (есть условие) с координатами которые есть уже.
координаты первоначальные имеют имена последовательные
Total Design... from Airunreal

Gordon
Сообщения: 300
Зарегистрирован: Вт сен 08, 2009 8:16 pm

Сообщение Gordon » Ср фев 17, 2010 11:22 am

У меня собственно такая задача создание функции которая бы брала координаты мышки (хp, yp)

Это можно сделать функциями Slider2D или Locator:

Код: Выделить всё

{Slider2D[Dynamic[r], {{-5, -5}, {5, 5}, {1/10000, 1/10000}},
  ImageSize -> Large], Dynamic[r]}
r1 = 3; c1 = 3; x1 = 2; y1 = 2;
Dynamic[Sqrt[((r1 - x1)^2 + (c1 - y1)^2)]*
   Sqrt[((r[[1]] - x1)^2 + (r[[2]] - y1)^2)] == (r1 - x1)*(r[[1]] -
      x1) + (c1 - y1)*(r[[2]] - y1)]

Manipulate[r = p;
 Graphics[Line[{{0, 0}, p}], PlotRange -> 5], {{p, {0, 0}}, Locator}]
Dynamic[r]

Airunreal
Сообщения: 8
Зарегистрирован: Пт апр 10, 2009 7:51 pm
Откуда: Волгоград
Контактная информация:

Сообщение Airunreal » Ср фев 17, 2010 7:52 pm

Gordon писал(а):
У меня собственно такая задача создание функции которая бы брала координаты мышки (хp, yp)

Это можно сделать функциями Slider2D или Locator:

Код: Выделить всё

{Slider2D[Dynamic[r], {{-5, -5}, {5, 5}, {1/10000, 1/10000}},
  ImageSize -> Large], Dynamic[r]}
r1 = 3; c1 = 3; x1 = 2; y1 = 2;
Dynamic[Sqrt[((r1 - x1)^2 + (c1 - y1)^2)]*
   Sqrt[((r[[1]] - x1)^2 + (r[[2]] - y1)^2)] == (r1 - x1)*(r[[1]] -
      x1) + (c1 - y1)*(r[[2]] - y1)]

Manipulate[r = p;
 Graphics[Line[{{0, 0}, p}], PlotRange -> 5], {{p, {0, 0}}, Locator}]
Dynamic[r]


Ёмое. я ж все это сделал ручками. сейчас открыл и одну и вторую а там... елки мои счастье в первозданном виде. а я все это сижу делаю через EventHandler. причем сделал осталось только автоматизировать просто думал сделаю ка я функцию в которую буду просто значения отправлять
Total Design... from Airunreal

Gordon
Сообщения: 300
Зарегистрирован: Вт сен 08, 2009 8:16 pm

Сообщение Gordon » Ср фев 17, 2010 8:05 pm

Будет вам уроком :D