График интенсивности

Простейшие вопросы в области инженерной разработки
Ответить
studerkhv
interested
interested
Сообщения: 7
Зарегистрирован: 15 апр 2010, 11:17
Версия LabVIEW: 7.1

График интенсивности

Сообщение studerkhv »

Подскажите, пожалуйста, как можно отобразить трехмерный массив с помощью графика интенсивности. Трехмерный массив представляет массив координат точки в пространстве (X,Y,Z), а на график интенсивности можно подать только двумерный массив (допустим только x,y), а как третье измерение задействовать не могу понять. Была мысль использовать property node для графика и обозначить его свойства ZScale.Minimum, ZScale.Maximum (т.е. сначала надо выделить одномерный массив Z из трехмерного(как это сделать тоже не разобрался), затем найти его мин. и макс. элементы) иZScale.MarkerVals[] (сюда подать как раз весь массив значений Z, но это свойство определяется массивом кластеров, состоящих из числа и цвета).
Заранее спасибо за дельный совет.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: График интенсивности

Сообщение FireFly »

На Intensity Graph подаётся не (x,y) и не (x,y,z) а функция z(x,y).
Т.е. 2Д массив:
z(0,0) z(1,0) z(2,0) z(3,0) z(4,0)...
z(0,1) z(1,1) z(2,1) z(3,1) z(4,1)...
z(0,2) z(1,2) z(2,2) z(3,2) z(4,2)...
z(0,3) z(1,3) z(2,3) z(3,3) z(4,3)...
z(0,4) z(1,4) z(2,4) z(3,4) z(4,4)...
...
Для настоящего 3Д графика (x,y,z) служит 3D Graph
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
studerkhv
interested
interested
Сообщения: 7
Зарегистрирован: 15 апр 2010, 11:17
Версия LabVIEW: 7.1

Re: График интенсивности

Сообщение studerkhv »

Для настоящего 3Д графика (x,y,z) служит 3D Graph
я это знаю, но у меня такое задание по лабораторной, будь оно проклято - визуализация трехмерного массива с помощью графика интенсивности.
На Intensity Graph подаётся не (x,y) и не (x,y,z) а функция z(x,y).
тогда мне в итоге надо сделать массив таких функций или я опять чего-то недопонимаю?
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: График интенсивности

Сообщение FireFly »

studerkhv писал(а):
На Intensity Graph подаётся не (x,y) и не (x,y,z) а функция z(x,y).
тогда мне в итоге надо сделать массив таких функций или я опять чего-то недопонимаю?
Для начала вам нужно понять, что вы хотите вывести на график интенсивности. Так, например, если вы захотите "визуализировать" на нём сферу, то не сможете это никак сделать. А вот функцию Z(x,y) можно. Проще говоря - ваш трехмерный массив должен для каждого х,y в необходимом вам диапазоне иметь ровно одно значение z.

График интенсивности это как бы проекция трёхмерного массива (x,y,z) на плоскость (x,y). При этом более высокие точки (с большим z) проецируются на график интенсивности более светлым цветом, более низкие точки проецируются более темным цветом (конечно цвета можно задавать). В данном случае спроецировать сразу две точки или ни одной невозможно.

После того как вы поймете что хотите вывести вам необходимо будет превратить ваш массив (x,y,z) в двухмерный массив:
z(0,0) z(1,0) z(2,0) z(3,0) z(4,0)...
z(0,1) z(1,1) z(2,1) z(3,1) z(4,1)...
z(0,2) z(1,2) z(2,2) z(3,2) z(4,2)...
z(0,3) z(1,3) z(2,3) z(3,3) z(4,3)...
z(0,4) z(1,4) z(2,4) z(3,4) z(4,4)...
...
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
studerkhv
interested
interested
Сообщения: 7
Зарегистрирован: 15 апр 2010, 11:17
Версия LabVIEW: 7.1

Re: График интенсивности

Сообщение studerkhv »

Подскажите, в правильном направлении двигаюсь или нет, сделал так:
Вложения
лицевая панель
лицевая панель
блок-диаграмма
блок-диаграмма
block-daigramm.JPG (21.91 КБ) 3675 просмотров
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: График интенсивности

Сообщение FireFly »

Нет не правильно. Вы на график интенсивности подаёте массив один столбец которого X, другой Y. Самый важный массив Z вы вообще никуда не подаёте.
Вам нужно составить 2D массив Z(x,y). Так, например, из того что вы выложили можно извлечь несколько элементов: Z(1,3)=2; Z(-2,-1)=2; Z(4,3)=3; но этого мало для составления графика интенсивности. Необходимо знать значения Z для всех точек, а не только (1,3); (-2,-1); (4,3).

Теперь насчёт нижней части программы. На блок диаграмме визуально смещены на ряд провода осей X и Y, но думаю подключено всё правильно. Однако, вместо того чтобы так настраивать Scale осей достаточно включить Autoscale для всех осей.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
studerkhv
interested
interested
Сообщения: 7
Зарегистрирован: 15 апр 2010, 11:17
Версия LabVIEW: 7.1

Re: График интенсивности

Сообщение studerkhv »

А так правильно будет, по крайней мере преподаватель не против такого решения, только усложнил задание организацией определенной функции, а не массива случайных чисел:
Вложения
блок-диаграмма
блок-диаграмма
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: График интенсивности

Сообщение FireFly »

Скорее так:
Вложения
1.png
1.png (21.35 КБ) 3637 просмотров
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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