2つの矩形の中心とx軸(水平軸)の角度を知ることで、Matlabの交点がゼロかどうかをどのように認識できますか?この情報を含む回答は高く評価されます。長方形の幅と長さも知られていますmatlabで2つの矩形の交点がゼロの場合
0
A
答えて
0
これは数値的に解きたい場合にはプログラミング上の問題です。厳密解については、幾何学的方程式を使うことができます。
最初の問題:その幅、高さおよび中心から長方形の角を規定する:
C1 = [0, 0]; % Centre of rectangle 1 (x,y)
C2 = [1, 1]; % Centre of rectangle 2 (x,y)
W1 = 5; W2 = 3; % Widths of rectangles 1 and 2
H1 = 2; H2 = 3; % Heights of rectangles 1 and 2
% Define the corner points of the rectangles using the above
R1 = [C1(1) + [W1; W1; -W1; -W1]/2, C1(2) + [H1; -H1; -H1; H1]/2];
R2 = [C2(1) + [W2; W2; -W2; -W2]/2, C2(2) + [H2; -H2; -H2; H2]/2];
次の問題は、長方形のエッジを表す多くのポイントを作成することです。代わりに交差する領域を見たい場合は、の中にの中に多くの点を生成することができます。
n = 1000; % Define some number of points to use
% Use interp1 to interpolate around the rectangles
R1points = interp1(1:5, [R1; R1(1,:)], linspace(1,5,n));
R2points = interp1(1:5, [R2; R2(1,:)], linspace(1,5,n));
が続いて長方形を回転させる:
a1 = deg2rad(0); a2 = deg2rad(30); % angles of rotation for rectangle 1 and 2 respectively
R1rotated(:,1) = (R1points(:,1)-C1(1))*cos(a1) - (R1points(:,2)-C1(2))*sin(a1) + C1(1);
R1rotated(:,2) = (R1points(:,1)-C1(1))*sin(a1) + (R1points(:,2)-C1(2))*cos(a1) + C1(2);
R2rotated(:,1) = (R2points(:,1)-C2(1))*cos(a2) - (R2points(:,2)-C2(2))*sin(a2) + C2(1);
R2rotated(:,2) = (R2points(:,1)-C2(1))*sin(a2) + (R2points(:,2)-C2(2))*cos(a2) + C2(2);
最後に、inpolygon
との交差をチェック:
in1 = inpolygon(R1rotated(:,1), R1rotated(:,2), R2rotated(:,1), R2rotated(:,2));
in2 = inpolygon(R2rotated(:,1), R2rotated(:,2), R1rotated(:,1), R1rotated(:,2));
nnz(in1)>0
またはnnz(in2)>0
なら、あなたは交差点を持っています!が散乱を使用して、それを可視化:
hold on
scatter(R2rotated(:,1), R2rotated(:,2), '.b')
scatter(R2rotated(in2,1), R2rotated(in2,2), 'xc')
scatter(R1rotated(:,1), R1rotated(:,2), '.r')
scatter(R1rotated(in1,1), R1rotated(in1,2), 'xg')
結果:
関連する問題
- 1. レイと矩形の交点
- 2. 線の交点矩形 - 交点を見つける方法?
- 3. 2つの矩形の交点の面積を求める
- 4. C++での線と矩形の交点
- 5. 円と矩形の交点の領域
- 6. 矩形の2Dセグメントの交点
- 7. 2つの凸多角形の交点
- 8. 2つの矩形がある場合、重なり領域を表す別の矩形を返します。
- 9. Matlab:タブパネルを使用している場合の描画矩形
- 10. 頂点の矩形マスキングアルゴリズム(OpenGLレンダリングの場合)
- 11. 2つの矩形のインスペクション
- 12. 矩形の交差問題
- 13. matlabのファジー集合と交点
- 14. 2つのデータテーブルの交差点がカスタムデータコンシューマでゼロ行を返します
- 15. 任意の幅を持つ2点間の矩形を描く
- 16. キャンバス上の2つの点をクリックして矩形を描く
- 17. 2つのカウンタの交点
- 18. 2つのDateTimesの時差(小数点形式の場合)
- 19. 、軸検査を分離回転矩形が私が交差点矩形について読ん他の平坦矩形
- 20. 矩形の点を見つける
- 21. キャンバス:2つの長方形の交差点の色
- 22. 計算する2円の円の交点の場合
- 23. matlabの頂点値からメッシュ矩形を作成
- 24. 交差点MathWorks社のMATLAB
- 25. 交差する矩形のグループのペア
- 26. 配列からの矩形の交差
- 27. Matlabの2つの正規分布の交点を見つけよう
- 28. GPS矩形領域の他の2つの頂点を見つける
- 29. 対応する2つの行の交点は0でないmatlabで
- 30. Matlab、2つのベクトルの交差
をこれは、数学の問題ではないMATLABの質問です。 –
しかし、私はそれをmatlab @ AnderBiguriで解決したいと思いますか? –
最初に数学の問題を見つけて、ここに来て、それを説明して、何がプログラミング上の問題を抱えているか教えてください。私は数学を紙に書いていますが、私は紙の中でそれをやっているという事実が紙の問題であるということを意味するわけではないので、紙の会社に解答を求めません。 MATLABで用紙を交換します。 –