我需要找出兩個圓的相交點。我有中心點和每個圓的半徑。我需要在MATLAB中完成。任何幫助將不勝感激。MATLAB中兩個圓相交點
1
A
回答
2
找到圓的方程。確保考慮平方根的負數,否則你只會有一個半圓。
將兩個圓的方程設爲等於彼此。
3
假設一個三角形ABC,其中A和B是圓的中心,C是一個或另一個交點。 a,b和c是與相應角落相對的側面。 α,β和γ分別是與A,B和C相關的角度。
然後,b^2 + c^2 -2 * b c cos(alpha)= a^2。瞭解阿爾法(或餘弦),你可以找到C的位置
A = [0 0]; %# center of the first circle
B = [1 0]; %# center of the second circle
a = 0.7; %# radius of the SECOND circle
b = 0.9; %# radius of the FIRST circle
c = norm(A-B); %# distance between circles
cosAlpha = (b^2+c^2-a^2)/(2*b*c);
u_AB = (B - A)/c; %# unit vector from first to second center
pu_AB = [u_AB(2), -u_AB(1)]; %# perpendicular vector to unit vector
%# use the cosine of alpha to calculate the length of the
%# vector along and perpendicular to AB that leads to the
%# intersection point
intersect_1 = A + u_AB * (b*cosAlpha) + pu_AB * (b*sqrt(1-cosAlpha^2));
intersect_2 = A + u_AB * (b*cosAlpha) - pu_AB * (b*sqrt(1-cosAlpha^2));
intersect_1 =
0.66 -0.61188
intersect_2 =
0.66 0.61188
0
下面是使用兩個文件交換提交一個簡單的代碼:第一 - 畫圓,第二 - 找到交點(以下鏈接)。
clf
N=30; % circle resolution as the number of points
hold on
% draw 1st circle at (0,0) radius 5 and get X and Y data
H1=circle([0 0],5,N);
X1=get(H1,'XData');
Y1=get(H1,'YData');
% draw 2nd circle at (2,5) radius 3 and get X and Y data
H2=circle([2 5],3,N);
X2=get(H2,'XData');
Y2=get(H2,'YData');
% find intersection points
[x,y]=intersections(X1,Y1,X2,Y2,0);
% and plot them as red o's
plot(x,y,'ro')
hold off
axis equal
0
功能CIRCCIRC
可以實現這個要求。
[xout,yout] = circcirc(x1,y1,r1,x2,y2,r2)
這會給你兩個交點。
相關問題
- 1. MATLAB:兩個圓錐曲線的交點
- 2. C++中兩個圓的相交點
- 3. MATLAB中兩個獨立行的相交點
- 4. 查找兩個橢圓的交點(Python)
- 5. 確定兩個圓相交的點和角度。
- 6. Matlab:兩條線的交點
- 7. matlab中兩行沒有零的相應交點
- 8. matlab中兩條曲線的交點
- 9. 圓框相交
- 10. 在Canvas中標記兩個圓圈之間的相交區域
- 11. 圓線交點
- 12. 查找點時兩個球體相交
- 13. 相交圓重疊
- 14. 線和圓相交
- 15. 雷圓柱相交
- 16. 畫出兩個彼此相交的圓,從那我需要找到使用c的相交點#
- 17. 計算一個圓上兩個切線的交點?
- 18. CSS中的圓圈交點
- 19. 3D中的圓圈交點
- 20. 如果matlab中兩個矩形的交點爲零
- 21. 在Matlab中找到兩個正態分佈的交點
- 22. 在MATLAB中找到兩個結構數組的交點
- 23. 如何使用Matlab或Excel從兩個表中獲得交點?
- 24. 在MATLAB一個共同的行元素相交的兩個表
- 25. 如何繪製邊緣相交的兩個圓圈?
- 26. 確定給定圓的兩個扇區是否相交?
- 27. 檢查如果在相同的圓重疊兩段/相交
- 28. 計算兩個旋轉橢圓的交點
- 29. 蟒蛇 - 兩個大圓的交點(緯度/長)
- 30. 哪種計算兩個圓的交點更有效?
謝謝..我知道如何做到這一點的幾何形狀,但是不知道該怎麼辦呢Matlab的,因爲我很新的Matlab的。 – Pow 2011-03-08 22:28:22