matlab画一个齿轮,我提供齿轮周边点的数据,画一个齿轮平面图

matlab画一个齿轮,我提供齿轮周边点的数据,画一个齿轮平面图,第1张

主要用到 plot(x,y) 函数,但是这里得分两种情况。

如果你提供的齿轮周边点足够多,那么只用 plot(x,y) 函数,即可画出完整的齿轮轮廓。我这里说的足够多,是所有已知点直线相连便可完整的描述齿轮轮廓。

提供点并不足够多,直接把点连线得不到轮廓。这宽坦敏时,需要先用别的函数把信物齿轮轮廓上的点算出来,再用 plot 函数。这就要看最初提供的是哪些点了。慎枝

只要掘蠢团有齿轮齿廓曲面方程,就可以画出三维齿廓。一般画三维图的方法是

x=[。。。]

y=[。。。]

[X,Y]=meshgrid(x,y) %曲面网格化档核

Z=f(X,Y) %根据曲面方程求出Z值

mesh(X,Y,Z) %绘制判橘三维图

这个代码有点错误,可能是你的代码少复制了一句。按我的理解解释了一下,希望对你有所帮助。

function varargout = jkx(varargin) %该界面的主函数,通过此函数调用matlab的gui主函数

gui_Singleton = 1

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @jkx_OpeningFcn, ...

'gui_OutputFcn', @jkx_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', [])

if nargin &isstr(varargin{1})

gui_State.gui_Callback = str2func(varargin{1})

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:})

else

gui_mainfcn(gui_State, varargin{:})

end

function jkx_OpeningFcn(hObject, eventdata, handles, varargin) %界面窗口的设置

handles.output = hObject

guidata(hObject, handles)

set(gcf,'name','标准直齿圆柱齿轮渐开线饥亮参数输入窗烂旦宽口')%设置界面窗口的名字。

function varargout = jkx_OutputFcn(hObject, eventdata, handles)%打开界面窗口时的一些初始设置,比如可以加入javaFrame = get(gcf,'JavaFrame') set(javaFrame,'Maximized',1)使界面运行时就最大化。

varargout{1} = handles.output

function edit1_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'迟毁BackgroundColor','white')

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))

end

function edit1_Callback(hObject, eventdata, handles)%添加可编辑文本框,可以通过set(handles.edit1,'属性名','属性值'……)设置其属性,包括显示的东西

function edit2_CreateFcn(hObject, eventdata, handles)%同上

set(hObject,'BackgroundColor','white')%设置edit2的背景色

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))%获得默认控件的背景色给当前控件

end

function edit2_Callback(hObject, eventdata, handles)

function edit3_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white')

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))

end

function edit3_Callback(hObject, eventdata, handles)

function edit4_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white')

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))

end

function edit4_Callback(hObject, eventdata, handles)

function pushbutton1_Callback(hObject, eventdata, handles)%添加按钮,在下面可以给出他的响应函数

figure%点击按钮新建一个figure.

set(gcf,'name','渐开线齿廓')%设置当前界面的名字

m=str2num(get(handles.edit1,'string'))%将用户输入edit1的字符转换成数字型,并赋值给变量m,

z=str2num(get(handles.edit2,'string'))%将用户输入edit1的字符转换成数字型,并赋值给变量z,

a=str2num(get(handles.edit3,'string'))%将用户输入edit1的字符转换成数字型,并赋值给变量a,

ha=str2num(get(handles.edit6,'string'))%将用户输入edit1的字符转换成数字型,并赋值给变量ha,

ra=m*(0.5*z+ha)%计算出ra

%齿顶圆半径

rb=0.5*m*z*cos(a*pi/180)

%基圆半径

rk=rb:0.01:ra

%向径范围

aa=atan(sqrt((ra.^2/rb.^2)-1))

%齿顶圆上的压力角

wk=tan(aa)-aa

%齿顶圆上的展角

w=0:pi/180:pi/3

x=rb*(cos(w)+w.*sin(w))

y=rb*(sin(w)-w.*cos(w))

plot(x,y,rb*cos(0:0.01:2*pi),rb*sin(0:0.01:2*pi),ra*cos(0:0.01:2*pi),ra*sin(0:0.01:2*pi))%画出图像

xlabel('x 轴 单位:mm','fontsize',9)%设置坐标轴属性,名称,字符大小为9

ylabel('y 轴 单位:mm','fontsize',9)%设置坐标轴属性,名称,字符大小为9

axis equal%调节图形的纵横比,和axis('square')功能一样使屏幕上的x和y的比例尺相同。

title('标准直齿轮渐开线轮廓(基圆与齿顶圆之间的部分为该齿轮的渐开线)','fontsize',11)%图形标注,图形名称,字体大小 为11

text(ra*cos(pi/4),ra*sin(pi/4),'\leftarrow齿顶圆','fontsize',10)%添加静态文本框,显示计算结果+‘\leftarrow齿顶圆’,文本框的字体大小为10。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12212080.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存