漸開線常作為齒輪之齒面輪廊,使其接觸點能切於一點,其法線形成一壓力角。漸開線實際上是一捲繞在圓上之線往外拉開時,在同一點所走過的軌跡,亦即以一基圓為迴轉的平台,往外伸張的曲線。其表示式如下:
x = rb(cos(theta) + theta*sin(theta)) y = rb(sin(theta) − theta*cos(t))
其中,rb為基圓之半徑,theta為張開之角度,其單位為弧度。
當角度theta由零開始變化,亦即沿水平軸方向反時鐘方向展開,起始點始於基圓之表面,然後以螺線形往外延伸。依其延伸之角度,此曲線一直往外擴散。相關程式如involute_curve.m,其呼叫格式如下:
function h=involute_curve(rb,theta,mode,Nb)
其輸入參數如下:
rb=基圓半徑 theta = 展開角度,degrees Nb=區間之點數(預設值為100點) mode=控制參數,=1為單方向; =2 為雙方向
程式內容:
function h=involute_curve(rb,theta,mode,Nb) % Create an involute curve % Inputs: % rb=base radius % theta = max angle for limit, degrees % Nb=number of points % mode=1 for one direction, =2 for bi-direction % Example: involute_curve(5,720) % Author:Din-sue Fon. BIME, NTU, March 10,2001 % Check the number of input arguments if nargin<4,Nb=100;end if nargin<3,mode=1;end if nargin<2,theta=90;end if nargin<1,rb=10;end theta=theta*pi/180; cth=linspace(0,2*pi,50); if mode==1, th=linspace(0,theta,Nb); else th=linspace(-theta,theta,Nb); end x0=rb*cos(th);y0=rb*sin(th); x=rb*(cos(th)+th.*sin(th)); y=rb*(sin(th)-th.*cos(th)); for i=1:length(th) line([x0(i) x(i)],[y0(i) y(i)],'color','b'); end h=line(x,y,'color','k','linewidth',2); hbase=line(rb*cos(cth),rb*sin(cth),'color','r','linewidth',1.5); axis equal;axis off;
執行例:
>> involute_curve(5,360) ans = 259.0045
>> involute_curve(5,360,2) ans = 1.1680e+003
No comments:
Post a Comment