1. Trang chủ
  2. » Công Nghệ Thông Tin

kỹ thuật lập trình đồ họa thực tại ảo vẽ cái bàn

10 24 0

Đ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 303,92 KB
File đính kèm cai ban.rar (568 KB)

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

Nội dung

kỹ thuật lập trình đồ họa thực tại ảo vẽ cái bàn DEF chanban Transform { children Transform { children Transform { translation 0.6 0 0.3 children Shape { geometry Box { size 0.05 0.05 0.6 } appearance Appearance { material Material { diffuseColor 0 0 0 } } } }

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

TRUNG TÂM ĐÀO TẠO TRỰC TUYẾN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc

****

Họ và tên sinh viên: NGUYỄN ANH ĐỨC ngày sinh: 15/05/1993

Lớp: CML314 Mã Học viên: 21C-10-42.8-00298

MÔN:Kỹ thuật lập trình đồ họa(IT32)

Câu 1: (4 điểm)

Trình bày giải thuật vẽ đường thẳng theo thuật toán DDA Cho ví dụ minh họa

DDA là tên viết tắt của Digital Differential Analyzer chúng ta có thể hiểu thuật toán DDA là thuật toán vẽ đường thẳng theo cách làm tròn tọa độ các điểm mà đường thẳng đó đi qua

Ví dụ: Thuật toán DDA

1) Đặt vấn đề: Cho 2 điểm A(x1,y1) và B(x2,y2) Hãy vẽ đường thẳng đi qua 2 điểm đó

2) Xây dựng thuật toán:

-Với kiến thực được học hồi nhỏ (cấp 2), phương trình đường thẳng có thể phát biểu dưới

dạng:

(d) y=m.x +b

m=(y2-y1)/(x2-x1)

b=y1-mx1

Trong đó: m là hệ số góc

-Giả sử vẽ được (xi,yi) Tiếp theo, chọn yi+1 là yi hay yi+1 dựa vào phương trình của

đường thẳng d.

Trang 2

Yi+1=m(xi +1) + b

Yi+1 =mxi +b+m

Yi+1 =yi +m

3) Lưu đồ của thuật toán DDA:

Trang 3

Thuật toán DDA là vẽ đường thẳng theo việc làm tròn tọa độ các điểm Điều này khiến đường thẳng được vẽ ra bị gấp khúc, không mịn Chúng ta vẽ được càng nhiều điểm thì đường thẳng sẽ càng đẹp, càng mịn Chính vì lý do này mà ta phải so sánh khoảng cách abs(dx) và abs(dy) Khoảng cách nào lớn hơn thì ta sẽ vẽ được nhiều điểm hơn, đường thẳng

vẽ ra sẽ đẹp hơn Xét vào ví dụ trên, nếu vẽ theo x thì ta sẽ vẽ được 5 điểm , làm cho đoạn thẳng mịn hơn so với việc vẽ theo y (chỉ có 3 điểm)

Trang 4

Từ thuật toán trên, các bạn cũng có thể code theo 2 hướng : tính y theo x hoặc tính x theo y

để vẽ được đường thẳng

Câu 2: (6 điểm)

Sử dụng ngôn ngữ thực tại ảo VRML vẽ cái bàn như sau (kích thước

1200*600*750mm)

Lưu ý: Nộp file báo (doc hoặc pdf) và file wrl (file đối tượng) Trên file báo cáo trình bày

cả câu 1 và 2

DEF chanban Transform {

children [

Transform {

children [

Trang 5

Transform {

translation 0.6 0 0.3 children [

Shape {

geometry Box {

size 0.05 0.05 0.6 }

appearance Appearance {

material Material {

diffuseColor 0 0 0 }

} }

]

}

Transform {

translation -0.6 0 0.3 children [

Shape {

geometry Box {

size 0.05 0.05 0.6 }

} }

Trang 6

]

}

Transform {

translation 0.6 0.34 -0.05 children [

Shape {

geometry Box {

size 0.05 0.75 0.1 }

}

]

}

Transform {

translation -0.6 0.34 -0.05 children [

Shape {

geometry Box {

size 0.05 0.75 0.1 }

}

Trang 7

}

Transform {

translation -0.6 0.34 0.6 children [

Shape {

geometry Box {

size 0.05 0.75 0.1 }

}

]

}

Transform {

translation 0.6 0.34 0.6

Shape {

geometry Box {

size 0.05 0.75 0.1 }

}

]

}

Transform {

Trang 8

translation 0 0.70 -0.05 children [

Shape {

geometry Box {

size 1.2 0.05 0.05 }

}

]

}

Transform {

translation 0 0.70 0.6

children [

Shape {

geometry Box {

size 1.2 0.05 0.05 }

}

]

}

Transform {

translation -0.6 0.7 0.3 children [

Trang 9

Shape {

geometry Box {

size 0.05 0.05 0.6 }

}

]

}

Transform {

translation 0.6 0.7 0.3

Shape {

size 0.05 0.05 0.6 }

appearance USE den }

]

}

DEF matban Transform {

translation 0 0.75 0.28 Shape {

geometry Box {

size 1.4 0.05 0.8 }

Trang 10

appearance Appearance { texture ImageTexture {

url ["hinhcaiban.jpg"] }

} }

] }

]

}

]

}

Ngày đăng: 05/04/2022, 22:48

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w