Подскажите, пожалуйста, как можно отобразить трехмерный массив с помощью графика интенсивности. Трехмерный массив представляет массив координат точки в пространстве (X,Y,Z), а на график интенсивности можно подать только двумерный массив (допустим только x,y), а как третье измерение задействовать не могу понять. Была мысль использовать property node для графика и обозначить его свойства ZScale.Minimum, ZScale.Maximum (т.е. сначала надо выделить одномерный массив Z из трехмерного(как это сделать тоже не разобрался), затем найти его мин. и макс. элементы) иZScale.MarkerVals[] (сюда подать как раз весь массив значений Z, но это свойство определяется массивом кластеров, состоящих из числа и цвета).
Заранее спасибо за дельный совет.
График интенсивности
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: График интенсивности
На 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
Т.е. 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
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Re: График интенсивности
я это знаю, но у меня такое задание по лабораторной, будь оно проклято - визуализация трехмерного массива с помощью графика интенсивности.Для настоящего 3Д графика (x,y,z) служит 3D Graph
тогда мне в итоге надо сделать массив таких функций или я опять чего-то недопонимаю?На Intensity Graph подаётся не (x,y) и не (x,y,z) а функция z(x,y).
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: График интенсивности
Для начала вам нужно понять, что вы хотите вывести на график интенсивности. Так, например, если вы захотите "визуализировать" на нём сферу, то не сможете это никак сделать. А вот функцию Z(x,y) можно. Проще говоря - ваш трехмерный массив должен для каждого х,y в необходимом вам диапазоне иметь ровно одно значение z.studerkhv писал(а):тогда мне в итоге надо сделать массив таких функций или я опять чего-то недопонимаю?На Intensity Graph подаётся не (x,y) и не (x,y,z) а функция z(x,y).
График интенсивности это как бы проекция трёхмерного массива (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)...
...
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: График интенсивности
Нет не правильно. Вы на график интенсивности подаёте массив один столбец которого 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 для всех осей.
Вам нужно составить 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 для всех осей.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Re: График интенсивности
А так правильно будет, по крайней мере преподаватель не против такого решения, только усложнил задание организацией определенной функции, а не массива случайных чисел:
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: График интенсивности
Скорее так:
- Вложения
-
- 1.png (21.35 КБ) 3637 просмотров
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 342 Просмотры
-
Последнее сообщение IvanLis