2015-09-28 5 views
-2

У меня есть набор трехмерных точек, создающих облако точек. Ii может считывать и отображать его в MATLAB с этим кодом3D pointCloud индексация в MATLAB

ptCloud1 = pcread('sub2a.ply') 
figure 
showPointCloud(ptCloud1) 

мне нужно добавить метки для каждой точки в плотном отображении облака точек. Как я могу это сделать?

+3

Вы хотите добавить метки для каждой точки в плотном облаке точек? Как вы планируете читать метки, если облако точек плотно? Кстати, ваш пример не очень полезен. Пожалуйста, создайте [mcve] (http://stackoverflow.com/help/mcve) – kkuilla

+0

в графике фигуры есть приложение с именем data cursor, когда вы нажимаете на него, и нажмите на точку, информация о x, y, z показала, что мне нужно добавить там также метку точки –

+1

И как вы ожидаете, что люди узнают об этом, если вы не говорите им? Вы недостаточно объяснили свою проблему. Вы оставляете читателя слишком много. Создайте [mcve] (http://stackoverflow.com/help/mcve) и включите всю соответствующую информацию, чтобы другие могли воспроизвести вашу проблему и поиграть с ней. Я знаю, что вы просто хотите получить быстрый ответ, но стоит приложить усилия. У вас будет гораздо больше шансов получить полезный ответ, если вы это сделаете. – kkuilla

ответ

2

Вы можете добавить текст к сюжету, используя text:

text(x,y,z,str) позиции текста в координатах 3-D.

Таким образом, так как вы хотите координаты:

str = sprintf('x:%f, y:%f, z:%f',x,y,z); 
text(x,y,z,str) 

где вы посмотрите на параметры форматирования в sprintf для помощи на сумму десятичных дробей может. Просто добавьте это к своей фигуре, используя hold on.

+0

благодарит за вашу помощь. но я хочу показать только номер точки не всех координат –

+0

Затем используйте ту же команду, чтобы показать только нужный текст. Создайте строку с 'sprintf', затем напечатайте ее на графике с помощью' text'. Прочтите связанные страницы документации в ответе. – Adriaan

+1

@BabakGhassemi. Адриаан показал вам правильный способ сделать это. Вы должны использовать функцию 'text', чтобы добавить метки к вашим точкам. Точный окончательный синтаксис будет зависеть от того, как именно вы хотите пометить точки (вы должны понимать, как создавать строки для этого, и 'sprintf' - хороший способ сделать это. Вы также можете проверить, как эти метки были использованы в этом [ответ] (http://stackoverflow.com/questions/30078436/matlab-3d-surface-plot/30080366#30080366), есть номер точки и другая информация для каждой метки. – Hoki