Товарищи знатоки, может кто знает, где есть уже готовый
суб VI, для нахождения координат центра окружности и ее радиуса,
если окружность проходит через 3 точки
с координатами М1(Х1,Y1), М2(Х2,Y3), М3(Х3,Y3)
Имеем систему уравнений:
(Х-Х1)^2+(У-У1)^2=R^2
(Х-Х2)^2+(У-У2)^2=R^2
(Х-Х3)^2+(У-У3)^2=R^2
надо получить на выходе Х, У и R
Центроискатель
-
Jakob Brontfeyn
- expert
- Сообщения: 1729
- Зарегистрирован: 28 фев 2008, 11:01
- Награды: 6
- Благодарил (а): 1 раз
- Контактная информация:
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Центроискатель
Уравнения известны (ближе к концу топика):
Coordinates of a triangle's circumcenter
осталось лишь реализовать несложные вычисления
Coordinates of a triangle's circumcenter
осталось лишь реализовать несложные вычисления
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- VIP
- Сообщения: 1339
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
Re: Центроискатель
IMAQ Fit Circle:
http://zone.ni.com/reference/en-XX/help ... _circle_2/
Если, конечно, Vision пакет под рукой имеется.
http://zone.ni.com/reference/en-XX/help ... _circle_2/
Если, конечно, Vision пакет под рукой имеется.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Центроискатель
пусть координаты точек x₁,y₁,x₂,y₂,x₃,y₃, координаты центра x,y
тогда (x-x₁)²+(y-y₁)²=(x-x₂)²+(y-y₂)² ⇒ 2x(x₂-x₁)+2y(y₂-y₁)=x₂²-x₁²+y₂²-y₁²
аналогично 2x(x₃-x₁)+2y(y₃-y₁)=x₃²-x₁²+y₃²-y₁²
проще всего не решать эту систему в общем виде а запрограммировать решение линейной системы по коэффициентам
a₁₁=2(x₂-x₁), a₁₂=2(y₂-y₁), b₁=x₂²-x₁²+y₂²-y₁²
a₂₁=2(x₃-x₁), a₂₂=2(y₃-y₁), b₂=x₃²-x₁²+y₃²-y₁²
x=(a₂₂*b₁-a₁₂*b₂)/(a₁₁*a₂₂-a₁₂*a₂₁)
y=(a₁₁*b₂-a₂₁*b₁)/(a₁₁*a₂₂-a₁₂*a₂₁)
радиус можно найти как √((x-x₁)²+(y-y₁)²)
- Вложения
-
- CircleData.vi
- lv2010
- (11.6 КБ) 139 скачиваний
Последний раз редактировалось IvanLis 14 окт 2011, 22:04, всего редактировалось 1 раз.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- VIP
- Сообщения: 1339
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Центроискатель
случай для окружности исключительныйAndreyDmitriev писал(а):Похоже на правду, за исключением случая, когда точки стоят на одной прямой.
проверку можно сделать на всякий случай...
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Jakob Brontfeyn
- expert
- Сообщения: 1729
- Зарегистрирован: 28 фев 2008, 11:01
- Награды: 6
- Благодарил (а): 1 раз
- Контактная информация:
Re: Центроискатель
Большое спасибо за помощь,
важно выиграть время и быть всегда на шаг впереди.
Вот публикую, может кому пригодится
важно выиграть время и быть всегда на шаг впереди.
Вот публикую, может кому пригодится
- Вложения
-
- X_Y_Z_Frez_Stanok.llb
- (115.08 КБ) 213 скачиваний