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

VẼ HÌNH MINH HỌA CHUYỂN ĐỘNG CHẬM DẦN ĐỀU CỦA CON LẮC LÒ XO VÀ CON LẮC ĐƠN

10 1,9K 4

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

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

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN ˜– & —™ BÁO CÁO BÀI TẬP LỚN MÔN ĐỒ HỌA MÁY TÍNH ĐỀ TÀI 10 VẼ HÌNH MINH HỌA CHUYỂN ĐỘNG CHẬM DẦN ĐỀU CỦA CON LẮC LÒ XO VÀ CON LẮC

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

˜– & —™

BÁO CÁO BÀI TẬP LỚN MÔN

ĐỒ HỌA MÁY TÍNH

ĐỀ TÀI 10

VẼ HÌNH MINH HỌA CHUYỂN ĐỘNG CHẬM DẦN ĐỀU CỦA CON LẮC LÒ XO VÀ CON LẮC ĐƠN

Thành viên trong nhóm:

1 Phạm Văm Chình (0541060242)

2 Nguyễn Văn Luận (0541360019)

3 Đỗ Bá Thành (0541060042)

GV hướng dẫn: ThS Nguyễn Thị Cẩm Ngoan.

Trang 2

LỜI NÓI ĐẦU

Ngày nay, công nghệ thông tin càng ngày càng phát triển mạnh mẽ và được ứng dụng rộng rãi trong đời sống và sản xuất Tuy nhiên, để có được như ngày nay nó đã phải có quá trình phát triển lâu dài và gian khổ Từ khi mới ra đời máy tính còn rất thô kệch và vụng về cũng như các linh kiện điện tử thô sơ và nó hoạt động dựa trên các dòng lệnh làm việc trong môi trường DOS(không có đồ họa) Để rồi khi nền công nghiệp vật liệu phát triển với sự ra đời của vật liệu điện tử bán dẫn đã tạo ra một cuộc cách mạng trong ngành công nghiệp sản xuất phần cứng máy tính Khi phần cứng đã phát triển mạnh thì sự phát triển của lĩnh vực phần mềm là điều không thể thiếu Lĩnh vực đồ họa máy tính ra đời cũng được ví như cuộc cách mạng trong ngành công nghiệp sản xuất phần mềm máy tính Máy tính ngày càng được cải thiện về tốc độ làm việc, bộ nhớ cũng như tính thân thiện, dễ sử dụng khi có màn hình làm việc đồ họa rất thuận tiện cho người sử dụng Đồ họa máy tính ngày càng phát triển để có được những chiếc máy tính như ngày nay mà đi cùng với đó là sự phổ biến của máy tính khi mỗi người hàng ngày vẫn thường sử dụng

Vậy qua môn học đồ họa máy tính này giúp chúng em phần nào hiểu được sự phát triển của đồ họa máy tính cũng như sự ứng dụng thực tế rộng rãi của nó trong đời sống hiện nay là vô cũng to lớn Hơn nữa, chúng em còn hiểu biết thêm được các quy tắc, nguyên tắc để xây dựng nên những hình đồ họa cơ bản, là nền tảng của các phần mềm, chương trình đồ họa khác phát triển và có thể tự mình vẽ nên những hình đơn giản nhất Qua đó giúp chúng em có thể một hướng đi mới về nghề nghiệp sau này rất

có triển vọng là ngành đồ họa máy tính

Với Bài tập lớn này, nó chỉ là một phần rất nhỏ không đáng kể so với lĩnh vực

đồ họa máy tính còn vô cùng rộng lớn, dù đã rất cố gắng để bài tâp ngày càng hoàn thiện nhưng cũng không thể tránh khỏi sai sót Chúng em rất mong nhận được những ý kiến đóng góp từ quý thầy cô và các bạn

2

Trang 3

MỤC LỤC

LỜI NÓI ĐẦU 2

MỤC LỤC 3

1 Khảo sát mục đích đối tượng 4

2 Phân tích các biến đổi 4

3 Cài đặt chương trình 4

3.1 Giao diện: 4

3.2 Code: 6

4 Kết luận: 10

5 Tài liệu tham khảo: 10

Trang 4

1 Khảo sát mục đích đối tượng.

Mục đích của bài toán là áp dụng các kiến thức cơ bản đã học về lĩnh vực đồ họa máy tính để minh họa chuyển động chậm dần đều của 2 con lắc trong vật lí là con lắc lò xo và con lắc đơn Vậy qua tìm hiểu, phân tích ta cần vận dụng các phép biến đổi đồ họa như phép tịnh tiến, phép quay, phép tỉ lệ, phép đỗi xứng,…

2 Phân tích các biến đổi.

- Với bài toán Con lắc đơn, con lắc dao động chậm dần đều qua vị trí cân bằng với li độ góc giảm dần Do đó, ta cần thực hiện phép quay biến đổi con lắc với góc quay alpha cũng giảm dần tương ứng Sau mỗi dao động của con lắc ta cần thực hiện làm trễ 1 khoảng thời gian để cho phù hợp với chu kì dao động của con lắc

- Với bài toán Con lắc lò xo, con lắc lò xo có 2 trường hợp là con lắc lò xo nằm ngang và con lắc lò xo thẳng đứng nhưng quá trình dao động cũng như các phép biến đổi ta thực hiện tương tự Đại diện với con lắc lò xo nằm ngang, con lắc dao động với vật nặng qua lại chậm dần đều qua vị trí cân bằng với li độ giảm dần Do đó, ta thực hiện các phép biến đổi tịnh tiến với li độ giảm dần Sau mỗi dao động ta cũng thực hiện làm trễ 1 khoảng thời gian cho phù hợp với chu ki dao động của con lắc

3 Cài đặt chương trình.

3.1 Giao diện:

4

Trang 5

a.giao diện của con lắc đơn.

-màn hình nhập liệu

Trang 6

b giao diện của con lắc lò xo.

-màn hình nhập liệu

3.2 Code:

a Code con lắc đơn

/* Mo Phong Chuyen Dong Con Lac Don */

6

Trang 7

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define Radian 0.017453293 //1 do = 0.017453293 radian

#define PI 3.1415

#define g 10

#define BanKinh 5 //Ban kinh con lac

#define DelayTime 10

#define L 100 //Do dai con lac khi ve

int gDriver = DETECT, gMode, ErrorCode, MaxX, MaxY, *BitMap;

int x, y, x0, yo;

void KhoiTaoDoHoa()

{

int gd =0,gm;

initgraph(&gd,&gm,"\\bgi");

MaxX = getmaxx();

MaxY = getmaxy();

}

void VeConLac()

{

setcolor(YELLOW);

line(x0, yo, x, y);

setfillstyle(SOLID_FILL, GREEN);

setcolor(GREEN);

fillellipse(x, y, BanKinh, BanKinh);

}

void XoaConLac()

{

setcolor(BLACK);

line(x0, yo, x, y);

setfillstyle(SOLID_FILL, BLACK);

setcolor(BLACK);

fillellipse(x, y, BanKinh, BanKinh);

}

int main(void)

{

float l, t = 0, FI, Alpha, Alpha0, w;

/* Bat dau Khoi Tao Do Hoa */

KhoiTaoDoHoa();

/* KetThuc Khoi Tao Do Hoa */

Trang 8

scanf("%f", &Alpha0);

printf("3 Nhao vao pha ban dau (Don vi Radian): ");

scanf("%f", &FI);

w = sqrt(g/l);

/* KetThuc Nhap so lieu */

/* Bat dau Ve thanh treo con lac */

x0 = ceil(MaxX / 2);

yo = ceil(MaxY / 2 - 100);

line(x0 - 10, yo, x0 + 10, yo);

/* KetThuc Ve thanh treo con lac */

/* Bat dau Mo phong chuyen dong cua con lac */

do

{

Alpha = Alpha0*sin(w*t + FI);

x = ceil(x0 + L*sin(Alpha*Radian));

y = ceil(yo + L*cos(Alpha*Radian));

VeConLac();

delay(DelayTime);

if((Alpha0<1.0f))break;

XoaConLac();

t = t + (float)DelayTime/1000;

if(Alpha0>=0.05f)Alpha0=Alpha0-0.05;

}while ((!kbhit()));

/* KetThuc Mo phong chuyen dong cua con lac*/

getch();

closegraph();

return 0;

}

b Code con lắc lò xo

/* Mo Phong Chuyen Dong Con Lo xo */

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define Radian 0.017453293 //1 do = 0.017453293 radian

#define PI 3.1415

#define g 10

#define BanKinh 10 //Ban kinh con lac

#define DelayTime 100

#define L 100 //Do dai con lac khi ve

int gDriver = DETECT, gMode, ErrorCode, MaxX, MaxY, *BitMap;

int x, y, x0, yo;

void KhoiTaoDoHoa()

8

Trang 9

int gd =0,gm;

initgraph(&gd,&gm,"\\bgi");

MaxX = getmaxx();

MaxY = getmaxy();

}

void veloxo(int len,int color) {

if(len<0)len =-len;

setcolor(color);

int t=50;

for (int i = 1; i<t-1; i++) {

lineto((int)((i%2*2-1)*10+MaxX/2), (int)((i+0.5)*10*len/t));

}

setfillstyle(SOLID_FILL, color);

setcolor(color);

fillellipse((int)((t%2*2-1)*10+MaxX/2+10), (int)((t+0.5)*10*len/t), BanKinh, BanKinh); //lineto((int)(MaxX/2), len);

}

int main(void)

{

KhoiTaoDoHoa();

/* Bat dau Mo phong chuyen dong */

int lenMax=30;

int status=1;

printf("1 Nhao vao chieu dai con xo lo(20<x<40) : ");

scanf("%d", &lenMax);

int len=lenMax;

int diemdung=lenMax/2;

do

{

moveto((int)(MaxX/2),0);

//printf("%d/",len);

if(len==diemdung||len==lenMax)

{

if(len==diemdung)status=0;

else {

lenMax ;

len=lenMax;

status=1;

}

}

if(len>=diemdung){

if(status==1)len ;

else len++;

Trang 10

veloxo(len,BLACK);

}while ((!kbhit()));

/* KetThuc Mo phong chuyen dong*/

getch();

closegraph();

return 0;

}

4 Kết luận:

Qua bài tập lớn này giúp chúng em cũng cố phần nào những kiến thức đã được học và ứng dụng chúng vào trong bài tập lớn của mình, tạo nền tảng để học tập tốt các môn học sau Hơn nữa, chúng em còn xây dựng được chương trình ứng dụng minh họa cho chuyển động của con lắc lò xo và con lắc đơn trong vật lí giúp ích cho các em nhỏ học cấp 2 và cấp 3 Đó là phần thưởng tinh thần đem lại khích lệ vô cùng lớn để chúng

em cố gắng học tập các môn học sau này

5 Tài liệu tham khảo:

- Giáo trình Đồ họa máy tính

- Các tài liệu tham khảo khác trên mạng internet

10

Ngày đăng: 06/11/2014, 01:14

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w