Всем здравствуйте. Ребята помогите построить прямую на Chart, проходящую через две точки, которые "ставятся щелчками мышки".
Т.е. На Chart (именно Chart, а не Graph) юзер щелкает мышкой раз, запоминаются координаты первой точки, щелкает второй раз - второй. И через указанные точки строится прямая линия. Не знаю как координаты в пикселях переконвертировать в значения соответствующие X(time) и Y(amplitude), а затем построить массив, добавить его к двум существующим и отобразить его на Chart. Посмотрите вложеный , а также картинку, что бы было более понятно чего хочу добится в итоге. Этот только для демонстрации и понимания, и ничего общего с реальным проектом не имеет, поэтому не судите строго за его бессмысленность. Заранее спасибо.
Chart - Построить прямую по двум точкам
-
taras_33
- professional
- Сообщения: 392
- Зарегистрирован: 31 окт 2009, 18:25
- Награды: 1
- Версия LabVIEW: 2019
- Поблагодарили: 13 раз
- Контактная информация:
Re: Chart - Построить прямую по двум точкам
Например вот так. Лучше использовать событие mouse down? вместо mouse up, тогда можно проверить, что юзер кликнул в plot area и игнорировать, если мышиный клик произошел за её пределами.
- Вложения
-
- Build Line2.vi
- (24.01 КБ) 110 скачиваний
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
So far, the Universe is winning!
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Chart - Построить прямую по двум точкам
Спасибо большое, то что нужно. Буду пытаться внедрить в свой проект. Скажите а можно каки то образом отобразить точкой или маленьким кружочком место, где щелкнул поьзователь?Например вот так.
-
- professor
- Сообщения: 3410
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Chart - Построить прямую по двум точкам
[quote=="jane_wild"] можно каки то образом отобразить точкой или маленьким кружочком место, где щелкнул поьзователь?[/quote]
был бы это не чарт, можно было бы картинку нарисовать.
или курсор запустить. Или ещё много чего...
А тут мне на ум приходит один вариант а двух исполнениях.
Взять доп. плот, который будет состоять из nan-ов. И только одна точка будет осмысленной. Этот плот, соответственно, отображается только точками, без соединительных линий.
Потом его можно оставить в качестве индикаторов двух точек.
Второй вариант этого же - использовать тот плот, что отвечает за прямую - временно поменять его настройки отображения.
А потом вернуть обратно - когда прямая готова
был бы это не чарт, можно было бы картинку нарисовать.
или курсор запустить. Или ещё много чего...
А тут мне на ум приходит один вариант а двух исполнениях.
Взять доп. плот, который будет состоять из nan-ов. И только одна точка будет осмысленной. Этот плот, соответственно, отображается только точками, без соединительных линий.
Потом его можно оставить в качестве индикаторов двух точек.
Второй вариант этого же - использовать тот плот, что отвечает за прямую - временно поменять его настройки отображения.
А потом вернуть обратно - когда прямая готова
- kiparym
- advanced
- Сообщения: 178
- Зарегистрирован: 06 сен 2011, 08:52
- Версия LabVIEW: 8.2 & 2011
- Откуда: г. Саров
- Поблагодарили: 1 раз
- Контактная информация:
Re: Chart - Построить прямую по двум точкам
Похожая тема обсуждалась здесь.
http://www.labviewportal.org/viewtopic. ... 268#p65958
http://www.labviewportal.org/viewtopic. ... 268#p65958
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Chart - Построить прямую по двум точкам
Взять доп. плот, который будет состоять из nan-ов. И только одна точка будет осмысленной. Этот плот, соответственно, отображается только точками, без соединительных линий.
Потом его можно оставить в качестве индикаторов двух точек.
Пожалуй этот вариант предпочтительноей, можно будет созерцать две точки и проходящую через них прямую. Спасибо
Потом его можно оставить в качестве индикаторов двух точек.
Пожалуй этот вариант предпочтительноей, можно будет созерцать две точки и проходящую через них прямую. Спасибо