Площади треугольников

Простейшие вопросы в области инженерной разработки
13troll

Activity
assistant
assistant
Сообщения: 105
Зарегистрирован: 27 фев 2009, 15:00
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Площади треугольников

Сообщение 13troll »

Здраствуйте. У меня такая проблема: Есть массив 256 на 256 значений это Х и еще массив 256 на 256 значений это Y. Х и Y это координаты вершин треугольника. Мне нужно найти площади всех треугольников по формуле S=1/2[x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2)]. Как это можно сделать в LabVIEW? Заранее спасибо.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Помогите пожалуйста разобраться

Сообщение Eugen Graf »

Странно, но это не кратно числу 3. И почему вообще 2D массивы, а не 1D ?
13troll

Activity
assistant
assistant
Сообщения: 105
Зарегистрирован: 27 фев 2009, 15:00
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Re: Помогите пожалуйста разобраться

Сообщение 13troll »

для рассчета площади треугольника: Надо взять матрицу 2 на 2 из массива Y и найти площадь двух треугольников, потом взять следующий сектор 2 на 2 (но он должен содержать 2 последние точки первой матрицы) и так далее. А координата Х повторяется через каждые 256 значений, она от 0 до 256 и так по кругу. 2D массивы потому что это не плоская фигура, там как бы треугольники, приближение такое просто , но по формуле треугольников довольно точный результат будет.
13troll

Activity
assistant
assistant
Сообщения: 105
Зарегистрирован: 27 фев 2009, 15:00
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Re: Помогите пожалуйста разобраться

Сообщение 13troll »

При расчете площади треугольников в матрице 2 на 2 там точки по Y повторяться будут и надо находить по 2 площади треугольников в каждой матрице 2 на 2.
например:
Ai Bi Ci
Aj Bj Cj
надо находить площадь сначала с координатами Aj Bj Bi, потом Ai Bi Aj, Затем площади треугольников BjCjCi и BiCiCj и так для всех матриц 2 на 2 из большой матрицы 256 на 256.
Если кто умеет и знает как это осуществить помогите пожалуйста. Заранее спасибо.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Площади треугольников

Сообщение Eugen Graf »

Насколько я понимаю, матрица 2х2 содержит четыре треугольника с разными площадями, а ты перечислил только два (и два других из следующей матрицы 2х2). Правильно ли это?
13troll

Activity
assistant
assistant
Сообщения: 105
Зарегистрирован: 27 фев 2009, 15:00
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Re: Площади треугольников

Сообщение 13troll »

Нет. Матрица 2 на 2 содержит 2 треугольника.
Если это матрица с координатами по Y:
1 2
3 4
то в определении площади первого треугольника участвуют координаты 1 2 3, а в определении площади второго треугольника координаты 2 3 4.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Площади треугольников

Сообщение Eugen Graf »

В общем скажу что нужно взять For-loop, подключить к нему твой 2D массив без автоиндексации, а дальше высчитывать из итратора нужные тебе индексы и использовать Index Array. После нахождения нужных трёх элементов массива применять формулу рассчёта с помощью Formula Node.
13troll

Activity
assistant
assistant
Сообщения: 105
Зарегистрирован: 27 фев 2009, 15:00
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Re: Площади треугольников

Сообщение 13troll »

Спасибо за помощь. Попробую так сделать, но я в LabVIEW новичок, поэтому немного не понял. Индексы в цикле автоматически меняться будут или мне нужно будет их постоянно задавать самому? Что такое итратор, это i в цикле For-loop? Formula Node тоже должена быть в этом цикле или без цикла вообще?
13troll

Activity
assistant
assistant
Сообщения: 105
Зарегистрирован: 27 фев 2009, 15:00
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Re: Площади треугольников

Сообщение 13troll »

Подскажите пожалуйста, как в цикле высчитывать нужные индексы у меня не получается. Выдает или строку или столбец целиком.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Площади треугольников

Сообщение Eugen Graf »

Ну так и правильно, выделяешь две целые строки, а потом берёшь ещё один цикл For, и в нём уже берёшь отдельные элементы этих двух строк.
13troll

Activity
assistant
assistant
Сообщения: 105
Зарегистрирован: 27 фев 2009, 15:00
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Re: Площади треугольников

Сообщение 13troll »

А как задать потом чтобы программа перебирала индексы? А то выделяется только матрица 2 на 2.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Площади треугольников

Сообщение Eugen Graf »

Покажи, что получилось, сделай скрин блок диаграммы и выложи в форум. Посмотрим.
13troll

Activity
assistant
assistant
Сообщения: 105
Зарегистрирован: 27 фев 2009, 15:00
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Re: Площади треугольников

Сообщение 13troll »

Изображение
13troll

Activity
assistant
assistant
Сообщения: 105
Зарегистрирован: 27 фев 2009, 15:00
Награды: 1
Версия LabVIEW: 8.5
Контактная информация:

Re: Площади треугольников

Сообщение 13troll »

Я так делаю или что то неправильно? на Выходе получается 1 матрица 2 на 2. Индексы не перебираются :think:
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Площади треугольников

Сообщение Eugen Graf »

Второй цикл внутрь первого.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»