C語言程序設計之平面連桿機構解析法主函數版

(隨手點個贊,養成好習慣)

平面連桿機構二級杆組子函數

基本杆組法

將平面連桿機構拆分成多個基本杆組,利用基本杆組的子函數集,求解運動副(其實就是個點)和杆件的運動(也就是點的位移,速度,加速度;構件的初始角位置和角速度,角加速度)。

實例分析

例題及要求


在這裏插入圖片描述

代碼實現

人機交互部分,用來錄入數據,分步錄入,較少輸入錯誤。

	printf("請輸入模式係數M:\n");
	scanf("%lf",&M);
	printf("請輸入原動件的初始角(rad)和角速度(rad/s),並用逗號分隔:\n");
	scanf("%lf,%lf",&theta1,&theta1d);
	printf("請輸入固定鉸鏈A的座標,並用逗號分隔:\n");
	scanf("%lf,%lf",&xa,&ya);
	printf("請輸入固定鉸鏈D的座標,並用逗號分隔:\n");
	scanf("%lf,%lf",&xd,&yd);
	xdd = 0,xddd = 0;
	ydd = 0,yddd = 0;
	printf("請輸入AB,BC,CD,EC,EF的長度(mm),並用逗號分隔:\n");
	scanf("%lf,%lf,%lf,%lf,%lf",&l1,&l2,&l31,&l32,&l4);

調用函數:
1.調用曲柄子函數求解節點B;
2.調用RRR子函數求解節點C,構件2和構件3的方位角;
3.調用曲柄子函數求解節點E;
4.調用RRP子函數求解節點F,構件4的方位角;

	QB(xa,xad,xadd,ya,yad,yadd,theta1,theta1d,theta1dd,&xb,&xbd,&xbdd,&yb,&ybd,&ybdd,&vb,&gammab,&ab,&betab);
	RRR(xb,xbd,xbdd,yb,ybd,ybdd,xd,xdd,xddd,yd,ydd,yddd,l2,l31,M,&theta2,&theta2d,&theta2dd,&theta3,&theta3d,&theta3dd,&xc,&xcd,&xcdd,&yc,&ycd,&ycdd,&vc,&gammac,&ac,&betac);
	QB(xd,xdd,xdd,yd,ydd,yddd,theta3,theta3d,theta3dd,&xe,&xed,&xedd,&ye,&yed,&yedd,&ve,&gammae,&ae,&betae);
	RRP(xe,xed,xedd,ye,yed,yedd,xd,xdd,xddd,yd,ydd,yddd,O,O,O,l4,M,&xf,&xfd,&xfdd,&yf,&yfd,&yfdd,&vf,&gammaf,&af,&betaf,&theta4,&theta4d,&theta4dd,&s,&sd,&sdd);

輸出運算結果

	printf("B點的座標爲(%lf,%lf),速度爲%lf mm/s,速度方位角爲%lf rad,加速度爲%lf rad/(s^2),加速度方位角爲%lf rad。\n",xb,yb,vb,gammab,ab,betab);
	printf("C點的座標爲(%lf,%lf),速度爲%lf mm/s,速度方位角爲%lf rad,加速度爲%lf mm/s,加速度方位角爲%lf rad。\n",xc,yc,vc,gammac,ac,betac);
	printf("E點的座標爲(%lf,%lf),速度爲%lf mm/s,速度方位角爲%lf rad,加速度爲%lf mm/s,加速度方位角爲%lf rad。\n",xe,ye,ve,gammae,ae,betae);
	printf("F點的座標爲(%lf,%lf),速度爲%lf mm/s,速度方位角爲%lf rad,加速度爲%lf mm/s,加速度方位角爲%lf rad。\n",xf,yf,vf,gammaf,af,betaf);
	printf("構件2的方位角爲%lf rad,方位角速度爲%lf rad/s,方位角加速度爲%lf rad/(s^2)\n",theta2,theta2d,theta2dd);
	printf("構件3的方位角爲%lf rad,方位角速度爲%lf rad/s,方位角加速度爲%lf rad/(s^2)\n",theta3,theta3d,theta3dd);
	printf("構件4的方位角爲%lf rad,方位角速度爲%lf rad/s,方位角加速度爲%lf rad/(s^2)\n",theta4,theta4d,theta4dd);
	return 0;

運行結果及測試
在這裏插入圖片描述
(完結撒花,請大家多多支持,隨手點個贊)

平面連桿機構二級杆組子函數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章