C++ hình họa không gian: C++ Vector2D

C++ là một trong những ngôn ngữ lập trình hướng đối tượng, với một danh sách phong phú các thư viện open source.

Chúng ta có thể sử dụng C++ cho rất nhiều các ngành ứng dụng…

Một trong số đó là ngành lập trình mô phỏng đồ họa 2d, 3d.

Nói đến mô phỏng đồ họa, thì là nói đến việc sử dựng các đối tượng hình học, như point, line, rectange, block3d….

Do đó để xây dựng được các dự án đồ họa, người ta bao giờ cũng phải xây dựng được các thư viện hỗ trợ tính toán đồ họa.

Ví dụ xây dựng cách hàm vẽ các đối tượng hình học như vẽ line, vẽ điểm, vẽ lưới, vẽ các đối tượng hình học đại diện cho một thực thể nào đó, ví dụ như nhà cửa, cầu, đường…

Hôm nay tôi sẽ giới thiệu với các bạn các xây dựng một project c++ chuyên xử lý cho các vấn đề hình học.

Với bài đầu tiên, chúng ta cùng học các xây dựng 1 lớp vector2d.

I. Lý thuyết cơ bản.

1. Xây dựng project VS-2015.

Tạo project c++ trên visual studio 2015.

Các bạn hãy tạo 1 project c++ console application trên VS 2015 như minh họa dưới đây.

Tên các bạn đặt tùy ý.

Project dạng console.

Đôi tên file được tạo ra thành file main.cpp

Build thử và đảm bảo project build thành công. 

Chuột phải vào project và chọn mục add, chọn class, và tạo một class có tên là tvector2D (tên đặt tùy ý, nhưng nên có chữ vector, hoặc vec)

 

 

2. Tính chất, thông số của một vector

a. Tọa độ x,y của một vector với kiểu số thực.

Thông thường biến của một thành viên nên được khuyến cáo để private hoặc protected.

Nhưng với class vector và point, có một sự ưu ái cho phép để quyền truy cập public.

b. Các phép toán cơ bản,  cộng trừ, nhân chia, phép gán, phép so sánh bằng

+ hai vector cộng nhau ra một vector mới

+ hai vector trừ nhau ra một vector mới (thực ra là cộng với một vector đổi chiều)

+ nhân 1 vector với một hệ số, chia vector cho 1 hệ số

c. tối giản vector về vector đơn vị.

d. tính góc giữa 2 vector.

e. Tích vô hướng 2 vector.

f. Quay vector theo một góc

Các hàm sử lý khác mà bạn có thể nghĩ ra.

 

II. Code thực thi.

1. File header.

 

2. File cpp

Ok đó là toàn bộ lớp Vector2D.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.