周期性の無い3次元の​点を繋ぎ合わせたグラ​フと平面(例えばY=​0)の交点の座標を調​べる方法はありません​か?

5 ビュー (過去 30 日間)
Ryouga Kojima
Ryouga Kojima 2023 年 1 月 12 日
コメント済み: Ryouga Kojima 2023 年 1 月 16 日
matlabで周期性の無い3次元の点を繋ぎ合わせたグラフと平面(例えばY=0)の交点の座標を調べる方法はありませんか? 例えを使って簡単に説明すると、Y=0の平面とあるグラフの交点を取りたいのですが、そのグラフではY=0の所に点がある訳ではなく、Y=-5とY=5にある点同士が繋がってる(線形補間?)感じです。
スプライン補完などでできるのでしょうか?

採用された回答

交感神経優位なあかべぇ
交感神経優位なあかべぇ 2023 年 1 月 16 日
編集済み: 交感神経優位なあかべぇ 2023 年 1 月 16 日
おそらくあまり単純にはできず、地味に計算していくしかなさそうですね……。
下記は2次元の例(X = 0.5の場合のYデータの計算)ですが、このようなことを3次元でやらないといけないと思います。
x = [-2,-1,1,-1.5,5,6];
y = 0:5;
plot(x,y);
hold on;
crossX = 0.5;
xline(crossX);
over0 = x > crossX;
flg = over0(1);
crossIdx = [];
for idx = 2 : length(over0)
if flg && ~over0(idx)
crossIdx(end + 1) = idx;
flg = false;
elseif ~flg && over0(idx)
crossIdx(end + 1) = idx;
flg = true;
end
end
crossY = zeros(1, length(crossIdx));
for idx = 1 : length(crossIdx)
i = crossIdx(idx);
slope = (y(i) - y(i - 1)) / (x(i) - x(i - 1));
crossY(idx) = slope * (crossX - x(i - 1)) + y(i - 1);
end
crossY
crossY = 1×3
1.7500 2.2000 3.3077
  1 件のコメント
Ryouga Kojima
Ryouga Kojima 2023 年 1 月 16 日
ありがとうございます。頑張ります!

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

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeスプライン についてさらに検索

Community Treasure Hunt

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

Start Hunting!