1樓:一點點的小
sita=0:0.05:2*pi;
r=2;
x=r*cos(sita);
y=r*sin(sita);
x=[x,x(1)];
y=[y,y(1)];
figure,plot(x,y,'r');
hold on;
r1=1;
si=0:0.05:2*pi;
for ii=1:length(x)
x1=x(ii)+r1*cos(si);
y1=y(ii)+r1*sin(si);
x1=[x1,x1(1)];
y1=[y1,y1(1)];
plot(x1,y1,'b')
endaxis([-5,5,-5,5]);
axis equal;
matlab中如何在空間中畫圓,已知圓心和另外兩點,這兩點到圓心的距離相等
2樓:匿名使用者
1. 下面的程式給出了具體的計算過程.若要多次執行,建議編成m檔案;
2.資料若改為x0=1;y0=2;z0=3;xp=0;yp=2;zp=3;xq=1;yq=2;zq=4;得到乙個平行於xoz平面的圓;
3.本問題的難點在於如何將平面座標轉換為空間座標,大部分計算利用空間解析幾何可以解決,整個過程個人感覺旋轉角度的計算重要且麻煩
知道了圓的半徑和圓心座標,怎樣用matlab畫出這個圓?
3樓:匿名使用者
方法來有很多,列舉兩種自
先用[x,y]=scircle1(o1,o2,r)來生成以bai(o1,o2)為圓心,dur為半徑的zhi圓周上的散點[x,y],再用plot(x,y)就可dao
以了或者用polar極座標來畫,也是用描點法,a=0:0.1:2*pi;b=ones(size(a))*r;polar(a,b)也可以,具體的用法找幫助,很詳細
4樓:匿名使用者
比較粗糙的辦法:轉化成多邊形
matlab 如何根據一組圓心座標函式畫圓?
5樓:匿名使用者
data=;
t=0:360;
figure
axis([0 10 0 10]);
hold on
for i=1:length(data)
x=data(1)+sin(t/360*2*pi);
y=data(2)+cos(t/360*2*pi);
plot(x,y);
hold on
endhold off
希望採納,設定為
滿意答案,謝謝
請教matlab變化圓心畫圓
6樓:
第一種和第二種是動態的,第三種是靜態的
1、3d版
clear all;
clc;
r0=100;
r=27.5;
l1=180;
l2=105;
du=180/pi;
wt3=0:1:75;
y0=(acos((l1^2+l2^2-(r0+r)^2)/(2*l1*l2)))*du;
y1=23.9123*(pi*wt3/75-0.5*sin(2*pi*wt3/75))/pi;
y=y0+y1;
r=sqrt(l1^2+l2^2-2*l1*l2*cos(y/du));
%以上為公式
%hold on;% 加上hold on使得所有圖形都在一張圖上,按照matlab順序執行的特點,hold on不能放在多重繪圖語句的最後面,一般放在第乙個繪圖語句的前面或者第一第二個語句的中間都行,如:a註釋所示
%axis equal% 是一種對當前圖形控制代碼的修正命令,放在任意位置都行,注意只對當前圖形控制代碼有效,對於動態圖,其用法跟hold on類似
x=zeros(1,76);% 刪除m,n的預開闢記憶體空間的語句,因為他們的長度是由0:0.1:2*pi的長度決定
y=zeros(1,76);% x,y的長度由0:75決定,所以為76
%以上為縮小範圍
for i=0:1:75 %畫曲線
x(i+1)=r(i+1)*cos(i*pi/180.0);
y(i+1)=r(i+1)*sin(i*pi/180.0);
k=1;
for t=0:0.1:2*pi %畫圓
m(k)=x(i+1)+r*cos(t);
n(k)=y(i+1)+r*sin(t);
k=k+1;
endz=repmat(i,1,k-1);
plot3(m,n,z,'r');
axis([-20 220 -40 200 0 78]);
hold on
plot3(x(1:i+1),y(1:i+1),0:i,'b');
pause(0.1);
% 將繪圖語句放在迴圈外
% hold on % a 如:把hold on語句放在此處也行
end2、2d版
clear all;
clc;
r0=100;
r=27.5;
l1=180;
l2=105;
du=180/pi;
wt3=0:1:75;
y0=(acos((l1^2+l2^2-(r0+r)^2)/(2*l1*l2)))*du;
y1=23.9123*(pi*wt3/75-0.5*sin(2*pi*wt3/75))/pi;
y=y0+y1;
r=sqrt(l1^2+l2^2-2*l1*l2*cos(y/du));
%以上為公式
hold on;% 加上hold on使得所有圖形都在一張圖上,按照matlab順序執行的特點,hold on不能放在多重繪圖語句的最後面,一般放在第乙個繪圖語句的前面或者第一第二個語句的中間都行,如:a註釋所示
axis equal% 是一種對當前圖形控制代碼的修正命令,放在任意位置都行,注意只對當前圖形控制代碼有效,對於動態圖,其用法跟hold on類似
x=zeros(1,76);% 刪除m,n的預開闢記憶體空間的語句,因為他們的長度是由0:0.1:2*pi的長度決定
y=zeros(1,76);% x,y的長度由0:75決定,所以為76
%以上為縮小範圍
for i=0:1:75 %畫曲線
x(i+1)=r(i+1)*cos(i*pi/180.0);
y(i+1)=r(i+1)*sin(i*pi/180.0);
k=1;
for t=0:0.1:2*pi %畫圓
m(k)=x(i+1)+r*cos(t);
n(k)=y(i+1)+r*sin(t);
k=k+1;
endplot(m,n,'r');
axis([-20 220 -40 200]);
hold on
plot(x(1:i+1),y(1:i+1),'b');
pause(0.1);
% 將繪圖語句放在迴圈外
% hold on % a 如:把hold on語句放在此處也行
end3、靜態2d版
clear all;
clc;
r0=100;
r=27.5;
l1=180;
l2=105;
du=180/pi;
wt3=0:1:75;
y0=(acos((l1^2+l2^2-(r0+r)^2)/(2*l1*l2)))*du;
y1=23.9123*(pi*wt3/75-0.5*sin(2*pi*wt3/75))/pi;
y=y0+y1;
r=sqrt(l1^2+l2^2-2*l1*l2*cos(y/du));
%以上為公式
hold on;% 加上hold on使得所有圖形都在一張圖上,按照matlab順序執行的特點,hold on不能放在多重繪圖語句的最後面,一般放在第乙個繪圖語句的前面或者第一第二個語句的中間都行,如:a註釋所示
axis equal% 是一種對當前圖形控制代碼的修正命令,放在任意位置都行,注意只對當前圖形控制代碼有效,對於動態圖,其用法跟hold on類似
x=zeros(1,76);% 刪除m,n的預開闢記憶體空間的語句,因為他們的長度是由0:0.1:2*pi的長度決定
y=zeros(1,76);% x,y的長度由0:75決定,所以為76
%以上為縮小範圍
for i=0:1:75 %畫曲線
x(i+1)=r(i+1)*cos(i*pi/180.0);
y(i+1)=r(i+1)*sin(i*pi/180.0);
k=1;
for t=0:0.1:2*pi %畫圓
m(k)=x(i+1)+r*cos(t);
n(k)=y(i+1)+r*sin(t);
k=k+1;
endplot(m,n,'r');
axis([-20 220 -40 200]);
hold on
plot(x(1:i+1),y(1:i+1),'b');
% 將繪圖語句放在迴圈外
% hold on % a 如:把hold on語句放在此處也行end
7樓:轉基因牛
for i=0:1:75 %畫曲線
x(i+1)=r(i+1)*cos(i*pi/180.0);
y(i+1)=r(i+1)*sin(i*pi/180.0);
for t=0:1:2*pi %畫圓
m=x(i+1)+r*cos(t);
n=y(i+1)+r*sin(t);
plot(m,n,'r')
hold on
endend
plot(x,y,'r')
axis equal
hold on
不知道是不是你hold on的問題
8樓:
^%試一下
r0=100;
r=27.5;
l1=180;
l2=105;
du=180/pi;
wt3=0:1:75;
y0=(acos((l1^2+l2^2-(r0+r)^2)/(2*l1*l2)))*du;
y1=23.9123*(pi*wt3/75-0.5*sin(2*pi*wt3/75))/pi;
y=y0+y1;
r=sqrt(l1^2+l2^2-2*l1*l2*cos(y/du));
%以上為公式
x=zeros(1,360);
y=zeros(1,360);
m=zeros(1,360);
n=zeros(1,360);
%以上為縮小範圍
for i=0:1:75 %畫曲線
x(i+1)=r(i+1)*cos(i*pi/180.0);
y(i+1)=r(i+1)*sin(i*pi/180.0);
%%%%%%%%%%%
%改變t間隔
for t=0:0.1:2*pi %畫圓m=x(i+1)+r*cos(t);
n=y(i+1)+r*sin(t);
%%%%%%%%%%%
%改變畫圖指令及hold on
plot(m,n,'-r')
hold on
endend
%%%%%%%%%%%
%最後的零點不出現
plot(x(1:76),y(1:76),'r')axis equal
怎麼在幾何畫板上怎麼以圓心和半徑繪圓
幾何畫板作為專業的繪圖工具,其中有很多方法畫圓,介紹如下 方法一 直接選擇 圓工具 在畫板上隨意畫圓。方法二 利用圓心和半徑繪圓。首先先用點工具在畫板上畫一點作為圓心 然後利用線段工具畫一條線段作為半徑 用移動工具選中點和線段,執行 構造 以圓心和半徑繪圓 就可以畫出已知半徑的圓。上面兩個是常用方法...
在AI中如何畫圓,在AI中如何畫乙個圓
在ai中畫乙個圓的步驟如下 1 新建乙個ai檔案,開啟工具欄裡面的 矩形工回具 如下圖紅答框所示 2 在矩形工具選單裡面選擇 橢圓工具 如下圖紅框所示 4 選中圓形,調節上方的兩個框,左邊是填充顏色,右邊是描邊顏色,即可改變圓的顏色 5 如下示例,開啟描邊設定,就有很多顏色選擇,選擇需要的顏色即可,...
在「matlab」中的程式如何呼叫為另程式生成的資料
將兩個放在同一目錄下,將該矩陣宣告為全域性變數 即可。前提是你第乙個程式得執行成功生成這個矩陣。要注意的是 中間任何的修改都會影響該矩陣後續的使用。matlab如何在乙個檔案中呼叫另乙個檔案的輸出結果 一 另外乙個程式肯定是個m檔案,或者乙個函式,假設函式名為fun,那麼在這個程式中,輸內入 容c ...