x=1,y=1の交点​を通り、z軸に平行な​直線を三次元表示で描​画したい

7 ビュー (過去 30 日間)
virgo kk
virgo kk 2019 年 8 月 23 日
コメント済み: Yoshio 2019 年 9 月 7 日
初めまして、基礎的な質問で申し訳ありません、
質問通りですが、x=1,y=1を通るかつ、z軸に平行な直線を三次元の点群表示で描画したいと考えています。
自分ができる範囲でプログラムを構築した現在のコードと結果を示します。
下の図の結果で言うと、一番奥のベクトルが表示したいものです。
実行不可の部分での改善手法やアドバイスを頂けると幸いです。
宜しくお願い致します。
p0 = [0,0,0; 1,0,0; 0,1,0; 1,1,0]; % 始点の座標
p1 = [0,0,1; 1,0,1; 0,1,1; 1,1,1]; % 終点の座標
v = p1 - p0; % ベクトル
figure;
quiver3(p0(:,1),p0(:,2),p0(:,3),v(:,1),v(:,2),v(:,3),0)
figure; %%以下3行実行不可
pcshow(pointCloud((v(:,3)))) %三次元表示
ptCloud = pointCloud(v(:,3),0);

採用された回答

Yoshio
Yoshio 2019 年 8 月 23 日
点群で表示するために、一様乱数を使ってデータを作成してみました。このような感じでしょうか?
なお、z軸方向の値の大きさで色づけされていますが、これがご希望ではないなら、ヘルプデキュメンでpcshowを見て、適宜ご変更ください。
n = 300;
V = [ones(n,2) rand(n,1)];
pcshow(pointCloud(V))
untitled.jpg
  2 件のコメント
Yoshio
Yoshio 2019 年 8 月 26 日
「三次元の点群表示で」の意味ですが、単に直線上に並んだ点を結ぶということでしたら、pointCloudを使わずに、plot3を使って以下のようにできます。
x = ones(10,1);
y = x;
z = linspace(0,1,10);
plot3(x,y,z)
grid on
fig.jpg
または、lineを使っても同様にできます。
figure
line(x,y,z)
view(3)
grid on
Yoshio
Yoshio 2019 年 9 月 7 日
最初の解答例ですが、点群を乱数にする必要がなければ、
n = 300;
V = [ones(n,2) linspace(0,1,n)'];
pcshow(pointCloud(V))
でもよいですね。

サインインしてコメントする。

その他の回答 (1 件)

virgo kk
virgo kk 2019 年 8 月 27 日
お答え頂いて有難うございます。参考にさせていただきます。
一つ質問なのですが、pointCloudクラスにおいて、指定した各値Colorなどの値を入力したものを
二つ以上pcshowで表示することは可能でしょうか?
具体的にコードを下に示します。
V1=pointCloud([1 1 0],'Color',[0 0 255],'Normal',[1 1 0],'Intensity',[0.5]);
>> V2=pointCloud([2 2 0],'Color',[0 0 255],'Normal',[1 1 0],'Intensity',[0.5]);
>> pcshow(V1,V2)
% エラー: pcshow
パラメーター名には string スカラーまたは文字ベクトルが必要です。
エラー: pcshow>validateAndParseInputs (line 160)
parser.parse(pvpairs{:});
エラー: pcshow (line 99)
validateAndParseInputs(varargin{:});
これを入力しても、上のようなエラー文が出てしまいます。点が一点の場合は正しく表示されます。
簡単な解決法としては、hold on;を使うことなのですが、ここでは使わずに表示できるかをお答え頂きたいです。
宜しくお願い致します。
  2 件のコメント
Yoshio
Yoshio 2019 年 8 月 27 日
質問の内容が当初のものと異なるので、別の質問としてご投稿願います。
他の方がタイトルを見て答えてくれるかもしれません。
virgo kk
virgo kk 2019 年 8 月 27 日
わかりました。
今回はお答え頂いて有難うございました。

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLIDAR および点群の処理 についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!