中南大學(xué)土木工程軟件課程設(shè)計_第1頁
中南大學(xué)土木工程軟件課程設(shè)計_第2頁
中南大學(xué)土木工程軟件課程設(shè)計_第3頁
中南大學(xué)土木工程軟件課程設(shè)計_第4頁
中南大學(xué)土木工程軟件課程設(shè)計_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于C+編寫線路CAD程序1.1 曲線要素計算程序1.1.1 主要內(nèi)容和計算函數(shù)(1) 計算內(nèi)容:在txt文件中讀取交點信息,編程計算線路曲線要素、特征點里程及坐標、逐樁里程和坐標,并讀出到txt文件。(2) 計算函數(shù):struct JDDATA /定義交點數(shù)據(jù)結(jié)構(gòu)體struct randompoint /定義任意點坐標數(shù)據(jù)結(jié)構(gòu)double JSFWJ(double x1,double x2,double y1,double y2); /計算方位角的函數(shù)double JSp(double lo,double R); /計算內(nèi)移距p的函數(shù)double JSm(double lo); /計算切垂距

2、m的函數(shù)char JSZYP(double fwj1,double fwj2); /判斷左右偏函數(shù) (其中左偏記為”L”,右偏記為”R”)double JSalpha(double fwj1,double fwj2); /計算的函數(shù)double JST(double R,double p,double m,double alpha); /計算切線長的函數(shù)double JSL(double R,double lo,double alpha); /計算曲線長的函數(shù)double JSE(double R,double p,double alpha); /計算外矢距的函數(shù)double JSKZH(do

3、uble K,double x1,double y1,double x2,double y2,double T1,double T2); /計算直緩點里程的函數(shù)double JSKHY(double KZH,double lo); /計算緩圓點里程的函數(shù)double JSKYH(double KZH,double L,double lo); /計算圓緩點里程的函數(shù)double JSKHZ(double KZH,double L); /計算緩直點里程的函數(shù)double JSKQZ(double KZH,double L); /計算曲中點里程的函數(shù)double JSZHx(double x,dou

4、ble fwj,double T); /計算直緩點x坐標的函數(shù)double JSZHy(double y,double fwj,double T); /計算直緩點y坐標的函數(shù)double JSHZx(double x,double fwj,double T); /計算緩直點x坐標的函數(shù)double JSHZy(double y,double fwj,double T); /計算緩直點y坐標的函數(shù)double JSHYx(double lo,double R,double fwj,char zyp,double x);/計算緩圓點x坐標的函數(shù)double JSHYy(double lo,doub

5、le R,double fwj,char zyp,double y);/計算緩圓點y坐標的函數(shù)double JSYHx(double lo,double R,double fwj,char zyp,double x);/計算圓緩點x坐標的函數(shù)double JSYHy(double lo,double R,double fwj,char zyp,double y);/計算圓緩點y坐標的函數(shù)void JSQZZB(double x,double y,double fwj,double L,double R,double lo,double m,double p,char zyp,double *q

6、zx,double *qzy); /計算曲中點坐標的函數(shù)void JSZZZB(double LC,int i,double *zbx,double *zby); /里程轉(zhuǎn)坐標的函數(shù)1.1.2 編程流程圖1.1.3 定義交點數(shù)據(jù)結(jié)構(gòu)體本文將交點的數(shù)據(jù)存儲于結(jié)構(gòu)體中,結(jié)構(gòu)體的定義如下:struct JDDATAdouble x;double x; /交點的x坐標double y;/交點的y坐標double R;/交點的半徑double lo;/交點的緩長double fwj;/交點到下一個交點連線的方位角double p;/交點的內(nèi)移距double m;/交點的切垂距char zyp;/交點的左

7、右偏(左偏記為L,右偏記為R)double alpha;/交點的double T;/交點的切線長double L;/交點的曲線長double E;/交點的外矢距double KZH;/交點的直緩點里程double KHY;/交點的緩圓點里程double KYH;/交點的圓緩點里程double KHZ;/交點的緩直點里程double KQZ;/交點的曲中點里程double ZHx;/直緩點的x坐標double ZHy;/直緩點的y坐標double HZx;/緩直點的x坐標double HZy;/緩直點的y坐標double HYx;/緩圓點的x坐標double HYy;/緩圓點的y坐標double

8、 YHx;/圓緩點的x坐標double YHy;/圓緩點的y坐標double QZx;/曲中點的x坐標double QZy;/曲中點的y坐標jd20;設(shè)計線路中有數(shù)個交點,故把每個交點的數(shù)據(jù)存儲于結(jié)構(gòu)體數(shù)組中,每個個體又包含如上列舉的共性屬性。本程序是用的是一個靜態(tài)數(shù)組jd20,考慮到交點數(shù)據(jù)不是很多,故把容量暫定為20個,但是較有局限性,需要根據(jù)實際情況反復(fù)地改寫程序。期望的改進方法是使用動態(tài)數(shù)組或者是Carray,使得程序能夠隨著實際情況動態(tài)的提供數(shù)組容量,以節(jié)省需要的內(nèi)存空間,但是現(xiàn)下能力有限,在嘗試的過程中程序報錯,不知如何修改,所以最終還是選用了靜態(tài)數(shù)組。1.1.4 交點數(shù)據(jù)的讀入以

9、本選題所設(shè)計的昌吉贛客專橫崗江家段線路為例,將交點數(shù)據(jù)存儲在”JD.data.txt”中,如圖:第一行的數(shù)據(jù)代表的是起始點的里程,以下每行的數(shù)據(jù)分別代表的是各個交點的緯度坐標、經(jīng)度坐標、圓曲線長度、緩和曲線長度。利用文件流將數(shù)據(jù)讀入。ifstream input;input.open(JDdata.txt);if (input.fail() /判斷文件讀取是否正常 coutFile does not existendl;coutExit programjd0.KZH;int i=0;while (!input.eof()inputjdi.xjdi.yjdi.Rjdi.lo; /將交點數(shù)據(jù)存放于

10、結(jié)構(gòu)體中 i+;cout共檢測到i個交點0)fwj=0;else if (dx0&dy0)fwj=atan(dx/dy)*180/PI;else if (dx0&dy=0)fwj=90;else if (dx0&dy0)fwj=atan(dx/dy)*180/PI+180;else if (dx=0&dy0)fwj=180;else if (dx0&dy0)fwj=atan(dx/dy)*180/PI+180;else if (dx0&dy=0)fwj=270;else if (dx0)fwj=atan(dx/dy)*180/PI+360;return fwj;計算方位角函數(shù)的調(diào)用:for (

11、int n=0;ni-1;n+)jdn.fwj=JSFWJ(jdn.x,jdn.y,jdn+1.x,jdn+1.y);利用循環(huán)語句將交點的方位角都計算了出來。此外,本文中默認的一個交點的方位角是該交點到下一個交點連線的方位角。(2) 轉(zhuǎn)向角轉(zhuǎn)向角是相鄰兩個方位角之差,并取絕對值。計算轉(zhuǎn)向角函數(shù)的定義:double JSalpha(double fwj1,double fwj2)double alpha;if (fabs(fwj2-fwj1)180) alpha=fabs(fwj2-fwj1);else alpha=360-fabs(fwj2-fwj1);return alpha;計算轉(zhuǎn)向角函數(shù)

12、的調(diào)用:jdcount.alpha=JSalpha(jdcount-1.fwj,jdcount.fwj);其中count是循環(huán)語句的計數(shù)器,以下內(nèi)容的計算都用到的循環(huán)的思想,在下文就不再贅述。(3) 判斷左右偏一般來說,但是若前方位角角度較小,接近0度,后方位角較大,接近360度,雖然后方位角大于前方位角,但實際偏轉(zhuǎn)應(yīng)當(dāng)是左偏。所以本文中對這一情況進行了判斷,由于本文是實際線路為例,考慮到實際線路轉(zhuǎn)角偏轉(zhuǎn)不會太大,故以180度為判斷界限,若差值小于180,則按正常計算方法進行計算;若差值大于180,則應(yīng)認為是出現(xiàn)了上述的特殊情況,則不能按一般情況進行計算判斷左右偏函數(shù)的定義:char JSZY

13、P(double fwj1,double fwj2)char turn;if (abs(fwj2-fwj1)fwj1)turn=R;else turn=L;else if(fwj2fwj1)turn=L;else turn=R;return turn;判斷左右偏函數(shù)的調(diào)用:jdcount.zyp=JSZYP(jdcount-1.fwj,jdcount.fwj);(4) 曲線要素根據(jù)實際情況,選定線路的交點,在符合規(guī)范的條件下,選定合適的半徑和緩和曲線長度,根據(jù)以下公式進行計算:(4-2)(4-3)(4-4)(4-5)(4-6)(4-7)式中:p為內(nèi)移距,m為切垂距,為緩和曲線角,T為切線長,L

14、為曲線長,E為內(nèi)移距。特征點里程的計算:ZH點里程為上一點HZ點里程加兩個交點的距離減去兩個交點的切線長。(其中交點0的HZ點里程按起始點里程算,切線長認為是0)HY點里程=ZH(里程)+;YH點里程= ZH(里程)+-;HZ點里程= ZH(里程)+;QZ點里程= ZH(里程)+2;曲線要素計算的部分,程序內(nèi)容比較簡單,就是定義一個函數(shù),然后在主函數(shù)中調(diào)用它,得到需要的結(jié)果。詳細程序請參見附錄。1.1.6 逐樁坐標的計算這里的逐樁坐標的計算,其實就是給出任意點的里程,要能計算出這個點的坐標。由于整條線路比較長,故選10米為一個點,也就是計算10米樁的坐標。大致的思路是這樣的:一、得到一個點的里

15、程,判斷它落在哪一部分的曲線上(直線、圓曲線還是緩和曲線),不同的曲線部分計算的方法有所不同;二、計算得到局部坐標。三、利用坐標轉(zhuǎn)換原理得到整體坐標。在直線段部分,坐標的計算比較簡單,利用方位角和里程差就能輕松求得。在緩和曲線段和圓曲線段,需要用到切線支距法,以夾直線所在直線為x軸,垂直夾直線所在直線的直線為y軸計算公式:(1) 緩和曲線部分(4-8)(4-9)(2) 圓曲線部分(4-10)(4-11)(4-12)相應(yīng)的,后緩和曲線則以HZ點為坐標原點用切線支距法進行計算。(3) 局部坐標轉(zhuǎn)換為整體坐標轉(zhuǎn)換公式如下:(4-13)需要注意的是,由于左偏還是右偏對局部坐標的計算是有影響的,所以在計

16、算前應(yīng)根據(jù)不同的左右偏情況分情況進行討論計算,再根據(jù)具體的情況判斷局部坐標系下x,y的正負,保證計算的正確。(4) 逐樁坐標數(shù)據(jù)結(jié)構(gòu)struct randompointdouble x;double y;double LC;point4000;這里用到的也是結(jié)構(gòu)體的思想,把任意點的x坐標,y坐標和里程都放到結(jié)構(gòu)體里面去。逐樁坐標計算程序定義如下:void JSZZZB(double LC,int i,double *zbx,double *zby)for (int count2=1;count2=jdcount2-1.KHZ&LC=jdcount2.KZH&LC=jdcount2.KHY&LC

17、=jdcount2.KYH&LCjdcount2.KHZ)/后緩段double l=jdcount2.KHZ-LC;double yhx=-(l-pow(l,5)/40/pow(jdcount2.R,2)/pow(jdcount2.lo,2);double yhy;if (jdcount2.zyp=L)yhy=pow(l,3)/6/jdcount2.R/jdcount2.lo;elseyhy=-pow(l,3)/6/jdcount2.R/jdcount2.lo;*zbx=jdcount2.HZx+yhx*sin(jdcount2.fwj*PI/180)-yhy*cos(jdcount2.fwj

18、*PI/180);*zby=jdcount2.HZy+yhx*cos(jdcount2.fwj*PI/180)+yhy*sin(jdcount2.fwj*PI/180); break;函數(shù)的調(diào)用如下:int num=jdi-1.KZH/10;(計算每10米一個點的總點位數(shù))for (int j=0;jnum;j+)pointj.LC=jd0.KZH+10*j;JSZZZB(pointj.LC,i,&pointj.x,&pointj.y);這樣就把每10米一個點的坐標給求出來了。1.1.7 特征點坐標特征點坐標的計算同逐樁坐標點坐標的計算相同,只是將任意的里程替代為特征點的里程,用到的方法都是一

19、樣的,這里也就不一一贅述了。計算數(shù)據(jù)的輸出這里依舊是用文件流的方法,將計算得到的數(shù)據(jù)讀出到result.txt。output.open(result.txt);for (int count1=1;count1i-1;count1+)int k1,k3,k5,k7;double k2,k4,k6,k8;k1=jdcount1.KZH/1000;k2=jdcount1.KZH-k1*1000;k3=jdcount1.KHY/1000;k4=jdcount1.KHY-k3*1000;k5=jdcount1.KYH/1000;k6=jdcount1.KYH-k5*1000;k7=jdcount1.KH

20、Z/1000;k8=jdcount1.KHZ-k7*1000;outputalpha=jdcount1.alpha T=jdcount1.T L=jdcount1.Lendl;output直緩點里程=Kk1+k2endl;output緩圓點里程=Kk3+k4endl;output圓緩點里程=Kk5+k6endl;output緩直點里程=Kk7+k8endl; /輸出特征點的里程output直緩點x坐標=jdcount1.ZHx 直緩點y坐標= jdcount1.ZHy 緩圓點x坐標=jdcount1.HYx 緩圓點y坐標=jdcount1.HYyendl;output圓緩點x坐標=jdcoun

21、t1.YHx 圓緩點y坐標= jdcount1.YHy 緩直點x坐標=jdcount1.HZx 緩直點y坐標=jdcount1.HZyendl;outputendl; /輸出特征點坐標jdi-1.KZH=jdi-2.KHZ+sqrt(jdi-1.x-jdi-2.x)*(jdi-1.x-jdi-2.x)+(jdi-1.y-jdi-2.y)*(jdi-1.y-jdi-2.y);int k1;int k2;output任意點里程setw(10)x坐標setw(20)y坐標endl;int num=jdi-1.KZH/10;for (int j=0;jnum;j+)pointj.LC=jd0.KZH+

22、10*j;JSZZZB(pointj.LC,i,&pointj.x,&pointj.y);k1=pointj.LC/1000;k2=pointj.LC-k1*1000;outputKk1+k2setw(20)pointj.xsetw(15)pointj.yendl; /輸出逐樁里程及坐標output.close();如下圖所示,就是程序運行后輸出文件”result.txt”的結(jié)果顯示曲線要素計算程序代碼#include #include #include #include #include using namespace std;const double PI=3.14159;double J

23、SFWJ(double x1,double x2,double y1,double y2);/聲明計算方位角的函數(shù)double JSp(double lo,double R);/聲明計算內(nèi)移距p的函數(shù)double JSm(double lo);/聲明計算切垂距m的函數(shù)char JSZYP(double fwj1,double fwj2);/聲明判斷左右偏函數(shù)double JSalpha(double fwj1,double fwj2);/聲明計算的函數(shù)double JST(double R,double p,double m,double alpha);/聲明計算切線長的函數(shù)double JS

24、L(double R,double lo,double alpha);/聲明計算曲線長的函數(shù)double JSE(double R,double p,double alpha);/聲明計算外矢距的函數(shù)double JSKZH(double K,double x1,double y1,double x2,double y2,double T1,double T2);/聲明計算直緩點里程的函數(shù)double JSKHY(double KZH,double lo);/聲明計算緩圓點里程的函數(shù)double JSKYH(double KZH,double L,double lo);/聲明計算圓緩點里程的函

25、數(shù)double JSKHZ(double KZH,double L);/聲明計算緩直點里程的函數(shù)double JSKQZ(double KZH,double L);/聲明計算曲中點里程的函數(shù)double JSZHx(double x,double fwj,double T);/聲明計算直緩點x坐標的函數(shù)double JSZHy(double y,double fwj,double T);/聲明計算直緩點y坐標的函數(shù)double JSHZx(double x,double fwj,double T);/聲明計算緩直點x坐標的函數(shù)double JSHZy(double y,double fwj,d

26、ouble T);/聲明計算緩直點y坐標的函數(shù)double JSHYx(double lo,double R,double fwj,char zyp,double x);/聲明計算緩圓點x坐標的函數(shù)double JSHYy(double lo,double R,double fwj,char zyp,double y);/聲明計算緩圓點y坐標的函數(shù)double JSYHx(double lo,double R,double fwj,char zyp,double x);/聲明計算圓緩點x坐標的函數(shù)double JSYHy(double lo,double R,double fwj,char z

27、yp,double y);/聲明計算圓緩點y坐標的函數(shù)void JSQZZB(double x,double y,double fwj,double L,double R,double lo,double m,double p,char zyp,double *qzx,double *qzy);/聲明計算曲中點坐標的函數(shù)void JSZZZB(double LC,int i,double *zbx,double *zby);/聲明里程轉(zhuǎn)坐標的函數(shù)struct JDDATA /定義結(jié)構(gòu)體JDDATAdouble x; /交點的x坐標double y;/交點的y坐標double R;/交點的半徑d

28、ouble lo;/交點的緩長double fwj;/交點到下一個交點連線的方位角double p;/交點的內(nèi)移距double m;/交點的切垂距char zyp;/交點的左右偏(左偏記為L,右偏記為R)double alpha;/交點的double T;/交點的切線長double L;/交點的曲線長double E;/交點的外矢距double KZH;/交點的直緩點里程double KHY;/交點的緩圓點里程double KYH;/交點的圓緩點里程double KHZ;/交點的緩直點里程double KQZ;/交點的曲中點里程double ZHx;/直緩點的x坐標double ZHy;/直緩

29、點的y坐標double HZx;/緩直點的x坐標double HZy;/緩直點的y坐標double HYx;/緩圓點的x坐標double HYy;/緩圓點的y坐標double YHx;/圓緩點的x坐標double YHy;/圓緩點的y坐標double QZx;/曲中點的x坐標double QZy;/曲中點的y坐標jd20;struct randompointdouble x;double y;double LC;point4000;int main()ifstream input;input.open(04291.txt);if (input.fail()coutFile does not e

30、xistendl;coutExit programjd0.KZH;int i=0;while (!input.eof()inputjdi.xjdi.yjdi.Rjdi.lo;i+;cout共檢測到i個交點endl;input.close();ofstream output;for (int n=0;ni-1;n+)jdn.fwj=JSFWJ(jdn.x,jdn.y,jdn+1.x,jdn+1.y);jd0.p=0;jd0.m=0;jd0.alpha=0;jd0.T=0;jd0.L=0;jd0.E=0;jd0.KHY=jd0.KZH;jd0.KYH=jd0.KZH;jd0.KHZ=jd0.KZH

31、;jd0.ZHx=jd0.x;jd0.ZHy=jd0.y;jd0.HZx=jd0.x;jd0.HZy=jd0.y;jd0.HYx=jd0.x;jd0.HYy=jd0.y;jd0.YHx=jd0.x;jd0.YHy=jd0.y;for (int count=1;counti-1;count+)jdcount.p=JSp(jdcount.lo,jdcount.R);jdcount.m=JSm(jdcount.lo);jdcount.zyp=JSZYP(jdcount-1.fwj,jdcount.fwj);jdcount.alpha=JSalpha(jdcount-1.fwj,jdcount.fwj

32、);jdcount.T=JST(jdcount.R,jdcount.p,jdcount.m,jdcount.alpha);jdcount.L=JSL(jdcount.R,jdcount.lo,jdcount.alpha);jdcount.E=JSE(jdcount.R,jdcount.p,jdcount.alpha);jdcount.KZH=JSKZH(jdcount-1.KHZ,jdcount-1.x,jdcount-1.y,jdcount.x,jdcount.y,jdcount-1.T,jdcount.T);jdcount.KHY=JSKHY(jdcount.KZH,jdcount.lo)

33、;jdcount.KYH=JSKYH(jdcount.KZH,jdcount.L,jdcount.lo);jdcount.KHZ=JSKHZ(jdcount.KZH,jdcount.L);jdcount.KQZ=JSKQZ(jdcount.KZH,jdcount.L);jdcount.ZHx=JSZHx(jdcount.x,jdcount-1.fwj,jdcount.T);jdcount.ZHy=JSZHy(jdcount.y,jdcount-1.fwj,jdcount.T);jdcount.HZx=JSHZx(jdcount.x,jdcount.fwj,jdcount.T);jdcount.

34、HZy=JSHZy(jdcount.y,jdcount.fwj,jdcount.T);jdcount.HYx=JSHYx(jdcount.lo,jdcount.R,jdcount-1.fwj,jdcount.zyp,jdcount.ZHx);jdcount.HYy=JSHYy(jdcount.lo,jdcount.R,jdcount-1.fwj,jdcount.zyp,jdcount.ZHy);jdcount.YHx=JSYHx(jdcount.lo,jdcount.R,jdcount.fwj,jdcount.zyp,jdcount.HZx);jdcount.YHy=JSYHy(jdcount

35、.lo,jdcount.R,jdcount.fwj,jdcount.zyp,jdcount.HZy);JSQZZB(jdcount.ZHx,jdcount.ZHy,jdcount-1.fwj,jdcount.L,jdcount.R,jdcount.lo,jdcount.m,jdcount.p,jdcount.zyp,&jdcount.QZx,&jdcount.QZy);coutjdcount.QZx jdcount.QZyendl;output.open(result.txt);for (int count1=1;count1i-1;count1+)int k1,k3,k5,k7;double

36、 k2,k4,k6,k8;k1=jdcount1.KZH/1000;k2=jdcount1.KZH-k1*1000;k3=jdcount1.KHY/1000;k4=jdcount1.KHY-k3*1000;k5=jdcount1.KYH/1000;k6=jdcount1.KYH-k5*1000;k7=jdcount1.KHZ/1000;k8=jdcount1.KHZ-k7*1000;outputalpha=jdcount1.alpha T=jdcount1.TL=jdcount1.Lendl;output直緩點里程=Kk1+k2endl;output緩圓點里程=Kk3+k4endl;outpu

37、t圓緩點里程=Kk5+k6endl;output緩直點里程=Kk7+k8endl;output直緩點x坐標=jdcount1.ZHx 直緩點y坐標= jdcount1.ZHy 緩圓點x坐標=jdcount1.HYx 緩圓點y坐標=jdcount1.HYyendl;output圓緩點x坐標=jdcount1.YHx 圓緩點y坐標= jdcount1.YHy 緩直點x坐標=jdcount1.HZx 緩直點y坐標=jdcount1.HZyendl;outputendl;jdi-1.KZH=jdi-2.KHZ+sqrt(jdi-1.x-jdi-2.x)*(jdi-1.x-jdi-2.x)+(jdi-1

38、.y-jdi-2.y)*(jdi-1.y-jdi-2.y);int num=jdi-1.KZH/10;int k1;int k2;output任意點里程setw(10)x坐標setw(20)y坐標endl;for (int j=0;jnum;j+)pointj.LC=jd0.KZH+10*j;JSZZZB(pointj.LC,i,&pointj.x,&pointj.y);k1=pointj.LC/1000;k2=pointj.LC-k1*1000;outputKk1+k2setw(20)pointj.xsetw(15)pointj.y0)fwj=0;else if (dx0&dy0)fwj=a

39、tan(dx/dy)*180/PI;else if (dx0&dy=0)fwj=90;else if (dx0&dy0)fwj=atan(dx/dy)*180/PI+180;else if (dx=0&dy0)fwj=180;else if (dx0&dy0)fwj=atan(dx/dy)*180/PI+180;else if (dx0&dy=0)fwj=270;else if (dx0)fwj=atan(dx/dy)*180/PI+360;return fwj;double JSp(double lo,double R) / 計算內(nèi)移距p的函數(shù)的定義double p;p=lo*lo/(24*

40、R);return p;double JSm(double lo)double m;m=lo/2;return m;char JSZYP(double fwj1,double fwj2)char turn;if (abs(fwj2-fwj1)fwj1)turn=R;else turn=L;else if(fwj2fwj1)turn=L;else turn=R;return turn;double JSalpha(double fwj1,double fwj2)double alpha;if (fabs(fwj2-fwj1)180) alpha=fabs(fwj2-fwj1);else alph

41、a=360-fabs(fwj2-fwj1);return alpha;double JST(double R,double p,double m,double alpha)double T;T=(R+p)*tan(alpha*PI/(180*2)+m;return T;double JSL(double R,double lo,double alpha)double L;L=PI*alpha*R/180+lo;return L;double JSE(double R,double p,double alpha)double E;E=(R+p)/cos(alpha*PI/(180*2)-R;re

42、turn E;double JSKZH(double K,double x1,double y1,double x2,double y2,double T1,double T2)double KZH;KZH=K+sqrt(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)-T1-T2;return KZH;double JSKHY(double KZH,double lo)double KHY;KHY=KZH+lo;return KHY;double JSKYH(double KZH,double L,double lo)double KYH;KYH=KZH+L-lo;return

43、KYH;double JSKHZ(double KZH,double L)double KHZ;KHZ=KZH+L;return KHZ;double JSKQZ(double KZH,double L)double KQZ;KQZ=KZH+L/2;return KQZ;double JSZHx(double x,double fwj,double T)double ZHx;ZHx=x-T*sin(fwj*PI/180);return ZHx;double JSZHy(double y,double fwj,double T)double ZHy;ZHy=y-T*cos(fwj*PI/180);return ZHy;double JSHZx(double x,double fwj,double T)double HZx;HZx=x+T*sin(fwj*PI/180);return HZx;double JSHZy(double y,double fwj,double T)double HZy;HZy=y+T*cos(fwj*PI/180);return HZy;double JSHYx(double lo,double R,doubl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論