1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mô phỏng hiển thị mục tiêu radar trên màn hình máy PC

30 497 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 307,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

I.Giới thiệu về chơng trình:Yêu cầu bài tập lớn: Bằng các kiến thức về đồ hoạ và sử dung ngôn ngữ lập trình C để thực hiện: "Mô phỏng hiển thị Mục tiêu Radar trên màn hình máy PC".. Quá

Trang 1

I.Giới thiệu về chơng trình:

Yêu cầu bài tập lớn: Bằng các kiến thức về đồ hoạ và sử dung ngôn ngữ lập trình C để thực hiện: "Mô phỏng hiển thị Mục tiêu Radar trên màn hình máy PC"

Quá trình thực hiện: Chơng trình đợc viết bằng ngôn ngữ C trên nền Turbo C Version 3.1 và đã giải quyết đợc các vấn đề sau đây:

- Tổng quan về màn hình hiển thị đợc chia làm 4 phần, thuận tiện cho quá trình quan sát: màn hình quét chung, màn hình thể hiện các phơng pháp quét, bảng hiển thị các thông số phần còn lại là các phím điều khiển.

- Mô phỏng quỹ đạo của sáu Mục tiêu khác nhau cùng trên một màn hình Radar.

- Hệ thống Radar có thể phát hiện các Mục tiêu với cự ly 200m ở chế độ bình thờng Có thể tăng cự ly lên 300m, hoặc 400m tuỳ từng điều kiện cụ thể (bằng cách ấn phím PageUp & PageDown trên bàn phím).

-Hệ thống Radar có thể làm việc ở chế độ quét tất cả các mục tiêu hoặc bám sát từng mục tiêu riêng biệt.

-Hệ thống thớc đo cự ly đợc trang bị với 4 loại cho độ chính xác, và tin cậy cao: Quét thẳng, Quét tròn, Quét xoắn và Nhìn vòng Với thớc xoắn có thể tăng số vòng của thớc lên để cho độ chính xác cao hơn tuỳ vào ngời sử dụng (bằng cách ấn phím '+' & '-' trên bàn phím)

-Trong quá trình sử dụng các loại thớc để xác định vị trí mục tiêu thì ngời quan sát vẫn có thể nhìn thấy quỹ đạo của mục tiêu nhờ vào màn hình chung, màn hình này luôn luôn hiển thị quỹ đạo mục tiêu trong quá trình quét.

-Chiều và tốc độ quét cánh sóng của Radar có thể thay đổi đợc tuỳ vào ngời sử dụng.

- Hệ thống Radar sẽ tính toán và hiển thị các thông số về mục tiêu: Cự ly, góc phơng vị, độ cao và vận tốc trên bảng thông số Đồng thời có các thông báo

về thời điểm hiện tại của mục tiêu mà đài có thể quan sát.

-Chơng trình đợc điều khiển bởi hệ thống các nút điều khiển một cách dễ dàng.

Ngoài ra chơng trình còn trang bị cả chức năng chuột giúp cho ngời dùng tiện lợi hơn trong quá trình sử dụng.

*

* *

Do điều kiện hạn chế về mặt thời gian cũng nh kinh nghiệm lập trình còn

ít nên chơng trình còn có nhiều sai sót, rất mong đợc sự đóng góp ý kiến của thầy cô và các bạn.

Em xin chân thành cảm ơn thầy giáo: Phạm Văn Tuân đã hớng dẫn

em trong quá trình thực hiện chơng trình này Giúp em nắm vững hơn về kiến thức lập trình, nhất là lập trình trong đồ hoạ trong mô phỏng.

Em xin chân thành cảm ơn.

1

Trang 2

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

Trang 3

Bắt

đầu

Khởi tạo đồ hoạ

Kiểm tra phím ESC

Kiểm tra phím Bất MTHiển thị MT cần bắt

Hiển thị tất cả các

Mt

Kiểm tra phím T

Kiểm tra phím R

Kiểm tra phím X

Kiểm tra phím V

Kiểm tra phím U

Trang 4

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

1 Màn hình giới thiệu:

Trang 5

2 Mµn h×nh chÝnh:

5

Trang 6

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

3 Màn hình ở chế độ quét thẳng;

Trang 7

4 Màn hình trong chế độ quét tròn:

7

Trang 8

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

5 Mà hình trong chế độ quét xoắn:

Trang 9

6 Màn hình trong chế độ nhìn vòng:

9

Trang 10

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

7 Màn hình trợ giúp:

Trang 11

II.Ch¬ng tr×nh nguån:

/*************************************************************/

//CHUONG TRINH MO PHONG HIEN THI MUC TIEU RADAR TREN //

MAN HINH MAY PC// -Chuong trinh duoc viet va chay tren nen Turbo C++ Version 3.0 -//

// -Khai bao cac ham va bien -//

void khoitaodh(); // Khoi tao do hoa

void frame(int x1,int y1,int x2,int y2,int b,int put,int mau_nen);

void button(int i,int j); // De ve cac nut bam

void mainframe(); // Ve , trang tri mainframe man hinh

void vehinhtron(int Xt,int Yt,int Radius,int mau);

void quettron(int ox,int oy); // Ve man hinh quet tron

void quetthang(int ox,int oy);

void quetxoan(int ox,int oy);

void nhinvong(int ox,int oy);

void mhchung(int ox,int oy); // Ve man hinh quet chung

void quetchung(int ox,int oy); // Ve thanh quet o man quet chung

void thongso(); // Ve bang de hien thi thong so

void message(int i,int j); // ve phuong phap quet

void thongbaomt(int i);

void so_qtr(int m); // Ve so kich thuoc tren man hinh quet tron

void so_nv(int ox,int oy,int m); // Ve so kich thuoc tren man hinh nhin vong

void so_qth(int m); // Ve so kich thuoc tren man hinh quet thang tren

void soqth(); // Ve so kich thuoc tren man hinh quet thang duoi

void veMT(int ox,int oy,int a,int b,int mau);

// ve vi tri muc tieu tren man hinh va cac loai thuoc void veMT1(int ox,int oy,int a,int b,int mau);

void veMT2(int ox,int oy,int mau);

void veMT3(int ox,int oy,int mau);

void vsl();

void vsl1();

void slbandau();

void Sound();

void hienso(int i);

void PPquet(int m0,int n0);

void tinh(int j,float mt1,float mt2);

int sosanh(int i);

void manquet(int i);

Trang 12

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

void mouse1();

void password();

unsigned long int tg(void);

void thuc_hien_cht() ;

void taonhieuqth(int ox,int oy,float dmax);

void taonhieuqtr(int ox,int oy, float r);

void nhieuquetxoan(int ox,int oy);

void gioithieu();

// -Cac bien dung chung cho toan bo chuong

int ht=0,bt=0,bc,d,stop=0,chan=0;

int dem1=0;

int q=1,Dmax=200,ax,ay,k=1,T=10, chieu=1,sovong=6;

unsigned long int t_tr,t_ht;

{ int graphdriver = DETECT, graphmode;

initgraph(&graphdriver, &graphmode, "c:\\tcc\\bgi");

Trang 13

if (stop==1){ delay(100); button(16,1); message(m,n); PPquet(m,n);} else { stop=0; delay(100); button(16,1); goto lai;}

} //Bat dau if(clickL()&&mousein(540,446,624,466))

{ hidemouse();

button(18,1);delay(500);closegraph();exit(1);

} //thoat if(clickL()&&mousein(540,415,624,435))

{ hidemouse(); button(17,1); delay(200);

button(17,0); gioithieu();mainframe();message(m,n);vsl();PPquet(m,n);

} //Gioi thieu delay(200);

Trang 14

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

if (stop==1){ delay(100); button(16,1);

message(m,n); PPquet(m,n);}

else { stop=0; delay(100); button(16,1); goto lai;}break;

case 27: exit(1); break;

case 'T','t': m=1; td=0; PPquet(1,n); break;

case 'R','r': m=2; td=0; PPquet(2,n); break;

case 'X','x': m=3; td=0; PPquet(3,n); break;

case 'V','v': m=4; td=0; PPquet(4,n); break;

case 'A','a': button(11,1); delay(20); button(11,0);

T=T-1;if(T<2) T=2; PPquet(m,n); break;

case 'G','g': button(12,1); delay(20); button(12,0);

T=T+1;if(T>40) T=40; PPquet(m,n); break;

case 'D','d': button(15,1); thongbaomt(4); break;

case 'U','u': button(14,1);

case 'C','c': button(19,1); chieu=-chieu; q=q+chieu; vsl();

delay(50); button(19,0); PPquet(m,n);break;

case 48: n=0; PPquet(m,0); break;

case 49: n=1; PPquet(m,1); break;

case 50: n=2; PPquet(m,2); break;

case 51: n=3; PPquet(m,3); break;

case 52: n=4; PPquet(m,4); break;

case 53: n=5; PPquet(m,5); break;

case 54: n=6; PPquet(m,6); break;

case 42: slbandau();PPquet(m,n); break;

case 0x49: if(Dmax<400)Dmax=Dmax+100;else Dmax=400;goto lai;

case 0x51: if(Dmax>200)Dmax=Dmax-100;else Dmax=200;goto lai;

case 43 : if(sovong==10)sovong=10;else sovong=sovong+2;goto lai;

//dau + de tang so vong tren man hinh quet case 45 : if(sovong==6)sovong=6;else sovong=sovong-2;goto lai;

//dau - de giam so vong tren man hinh quet default: vsl(); message(m,n); PPquet(m,n);break;

// -Khoi tao ham thoi gian -//

unsigned long int tg(void)

{ static struct time ti;

unsigned long int t;

Trang 15

for (i=0;i<6;i++) frame(8,340+22*i,28,362+22*i,1,0,LIGHTGRAY);

// -Man hinh quet thang -//

void quetthang(int ox,int oy)

// khac do tren thuoc tinh tren

for(int i=0;i<6;i++) line(ox+52*i,oy-3,ox+52*i,oy+3);

// -Hien so quet thang -//

void so_qth(int m) //hien so do tren thuoc tren

// -Hien so thuoc quet thang tinh -//

void soqth() // hien so do tren thuoc duoi

Trang 16

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

{ itoa(2*k,st[k],10);

outtextxy(380+40*k,225,st[k]);

}

}

// -Tao nhieu trong qua trinh quet thang -//

void taonhieuqth(int ox,int oy,float dmax)

// -Man hien quet tron -//

void quettron(int ox,int oy)

line(ox+int(79*sin(k*M_PI/10+M_PI)), //hien gach chia do tren

oy+int(79*cos(k*M_PI/10+M_PI)), //man hinh quet tronox+int(81*sin(k*M_PI/10+M_PI)), // (o phia trong)oy+int(81*cos(k*M_PI/10+M_PI)));

Trang 17

// -Tao nhieu trong qua trinh quet tron -//

void taonhieuqtr(int ox,int oy,float r)

}

setwritemode(0);

}

// -Phan man hinh chung -//

void mhchung(int ox,int oy)

Trang 18

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

// -Ham quet xoan -//

void quetxoan(int ox,int oy)

Trang 19

// lap++;

}

}

}

// -Nhieu quet xoan -//

void nhieuquetxoan(int ox,int oy)

// -Man hinh nhin vong -//

void nhinvong(int ox,int oy)

// -Hien so phan nhin vong -//

void so_nv(int ox,int oy,int m)

{ char St1[4],St2[4],St3[4],St4[4];

setcolor(m); settextjustify(1,1); settextstyle(2,0,4);

itoa(int(Dmax/5),St1,10); // Thay doi so khac do tren phan nhin vong

Trang 20

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

outtextxy(ox-142,oy,"270"); circle(ox-133,oy-5,1);

}

// -Ham ve hinh tron -//

void vehinhtron(int Xt,int Yt,int Radius,int mau)

// -Ve frame noi -//

void frame(int x1,int y1,int x2,int y2,int b,int put,int mau_nen)

// Ve mot frame noi.frame bi lom xuong neu Put = 1

{ int c1,c2,c3;

setfillstyle(SOLID_FILL,mau_nen);

bar(x1+b,y1+b,x2-b,y2-b);

if (put==1) { c1=DARKGRAY; c2=WHITE; }

else { c1=WHITE; c2=DARKGRAY; }

frame(5,258,250,288,2,1,BLACK); //Thong bao muc tieu dang quet

frame(332,19,635,305,2,1,BLACK); //hien thi cu ly

frame(332,310,635,340,2,1,BLACK); //Thong bao phuong phap quet

setcolor(YELLOW);outtextxy(480,354,"BAI TAP LON");

setcolor(RED);outtextxy(482,355,"BAI TAP LON");

setcolor(RED);settextstyle(2,0,4);

outtextxy(480,366,"Mon hoc : Ky thuat dinh vi va dan duong dien tu");

setcolor(BLUE);outtextxy(481,367,"Mon hoc : Ky thuat dinh vi va dan duong dien tu"); outtextxy(395,381,"Thay giao huong dan:");

settextstyle(7,0,1);outtextxy(545,377,"Pham Van Tuan");

settextstyle(2,0,4);outtextxy(375,392,"SV thuc hien:");

settextstyle(0,0,1);outtextxy(520,394,"Tran Van Linh -Lop CD4A-K44");

message(0,7);

for(int i=0;i<20;i++) button(i,0);

Trang 21

if(i==1) { outtextxy(350,330,"Phuong phap Quet Thang"); }

if(i==2) { outtextxy(350,330,"Phuong phap Quet Tron");}

if(i==3) { outtextxy(350,330,"Phuong phap Quet Xoan");}

if(i==4) { outtextxy(350,330,"Phuong phap Nhin Vong");}

if(j==0) { outtextxy(10,280,"Quet tat ca cac Muc tieu");

} if(j==1) outtextxy(10,280," Bam muc tieu so 1");

if(j==2) outtextxy(10,280," Bam muc tieu so 2");

if(j==3) outtextxy(10,280," Bam muc tieu so 3");

if(j==4) outtextxy(10,280," Bam muc tieu so 4");

if(j==5) outtextxy(10,280," Bam muc tieu so 5");

if(j==6) outtextxy(10,280," Bam muc tieu so 6");

if(i==1) outtextxy(10,280,"Muc tieu da ra ngoai");

else outtextxy(10,280,"Phim bat ky de tiep tuc");

setcolor(BLUE);outtextxy(300,75,"HUONG DAN SU DUNG");

outtextxy(315,84,"(An phim Enter de ra khoi Tro giup)");

outtextxy(330,145,"Enter: Bat dau va dung chuong trinh ");

outtextxy(330,155,"Esc : Thoat khoi chuong trinh ");

outtextxy(330,180,"T : Hien thi muc tieu va cac thong so bang PP Quet

thang ");

outtextxy(330,200,"R : Hien thi muc tieu va cac thong so bang PP Quet

21

Trang 22

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

outtextxy(330,260,"A : Tang toc do quet cua canh song Radar ");

outtextxy(330,280,"G : Giam toc do quet cua canh song Radar ");

outtextxy(330,300,"C : Doi chieu quet cua canh song Radar ");

outtextxy(330,320,"D : Tam dung de quan sat vi tri muc tieu ");

outtextxy(330,340,"U : Hien man hinh Tro Giup cho qua trinh su dung.");

outtextxy(330,360,"I : Gioi thieu ve chuong trinh ");

outtextxy(330,380,"O : Thoat khoi chuong trinh ");

outtextxy(330,400,"Phim so '0': Quan sat tat ca cac muc tieu ");

outtextxy(325,420,"Cac phim so tu '1' den '6': Bam sat muc tieu tuongung ");

outtextxy(300,165,"da huong dan va giup do em ");

outtextxy(300,185,"hoan thanh chuong trinh nay !");

setcolor(RED);settextstyle(7,0,3);outtextxy(400,145,"Pham Van Tuan ");

delay(500);

for(int

j=0;j<=50;j++){frame(450-j*3.4,292-j,450+3.4*j,292+j,2,1,LIGHTGRAY);delay(20);}

settextstyle(0,0,1);

setcolor(BLUE);outtextxy(300,270,"SV thuc hien : ");

outtextxy(450,270," Tran Van Linh");

outtextxy(300,290,"Lop : CD 4A-K44-Khoa DTVT ");

outtextxy(300,310,"Truong : Dai Hoc Bach Khoa Ha Noi");

delay(500);

frame(15,97,260,340,2,1,BLACK);

setcolor(YELLOW);outtextxy(220,450,"Ha Noi ngay 29/10/2003");

setcolor(GREEN);outtextxy(110,420,"Do thoi gian co han, chuong trinh con nhieu thieu sot");

outtextxy(135,435,"Mong duoc su gop y cua thay co va cac ban !");

q=0;

if(getch()==27){closegraph();exit(0);}

}

Trang 23

// - Hien cac nut bam -//

void button(int i,int j)

setcolor(1);outtextxy(480,456+j,"Nhin Vong");

setcolor(12);outtextxy(480,456+j," V ");

} if(i==17) { frame(540,415,624,435,1,j,LIGHTGRAY);

{ frame(260,106,320,128,1,j,LIGHTGRAY);

setcolor(4);outtextxy(290,118+j,"BATDAU");

} else

setcolor(1);outtextxy(290,268+j,"GiamToc");

setcolor(12);outtextxy(290,268+j,"G ");

} if(i==19) { frame(260,166,320,188,1,j,LIGHTGRAY);

if(chieu==1) { //Direction

setcolor(1); outtextxy(290,178+j,"D.Chieu");

} else {

frame(260,166,320,188,1,j,LIGHTGRAY);

setcolor(1);outtextxy(290,178+j,"D.Chieu");

}

23

Trang 24

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

setcolor(12);outtextxy(290,178+j,"C ");

} if(i>0&&i<7) { char s[1];

// -Ve muc tieu tren thuoc do -//

void veMT(int ox,int oy,int a,int b,int mau)

Trang 25

if(Mt[i][1]<9) { k=1;

Mt[i][2]=Mt[i][2]+170;

} if(i%2==0) Mt[i][2]=Mt[i][2]+(t_ht-t_tr)/400;

} if(i%2==0) Mt[i][2]=Mt[i][2]+(t_ht-t_tr)/100+random(1000)/900;

// - Phuong phap quet -//

void PPquet(int m0,int n0)

if(m1!=m0) { button(m1+6,0); button(m0+6,1); }

if(n1!=n0) { button(n1,0); button(n0,1); }

25

Trang 26

Bài tập mô phỏng môn: Kỹ thuật định vị và dẫn đờng

else veMT2(tx-1,ty-10,0); //xoa xung quet tron tren thuoc tinh manquet(m0);

if (m0==1) veMT1(tx,ty+2,1,1,i+9); // ve muc tieu o thuoc thang

else veMT3(tx-1,ty-10,i+9); // ve toan bo muc tieu o phan thuoc trong cua quet xoan

mttruoc[i][1]=Mt[i][1];

mttruoc[i][2]=Mt[i][2];

} else if(Mt[i][1]>Dmax)

{ setfillstyle(SOLID_FILL,0);

for (int j=0;j<4;j++)// lenh bar de xoa thong so cu o bang hien thi thong so

bar(30+74*j,342+(i-1)*22,100+74*j,360+22*(i-1));

} for(int j=1;j<7;j++) if((mttruoc[i][1]<Dmax+1)&&(Mt[i][1]>Dmax+1)) { tinh(m0,mttruoc[i][1],mttruoc[i][2]);

veMT1(xmt,ymt,2,2,0);

if(m<3) veMT1(tx,ty+2,1,1,0);

}} while(!kbhit());

}

else { q=0;

if(Mt[n0][1]<=Dmax) if(Mt[n0][2]>0&&Mt[n0][2]<180)

{ chieu=1; button(19,0);} // Chon chieu bam muc tieu

else { chieu=-1; button(19,0);}

if(n1!=n0) { frame(5,18,250,255,2,1,BLACK);

mhchung(130,136);

} else q=Mt[n0][2];

ax= 130+int(100*sin(q*M_PI/180));

ay= 136-int(100*cos(q*M_PI/180));

Ngày đăng: 23/06/2016, 18:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w