Đề đồ họa máy tínhCâu 1:a. Viết thủ tục tô màu Fill(x,y,bc,c) bằng thuật toán tô tràn, với x,y là tọa độ thuộc miềntô màu. bc là màu viền còn c là màu vùng cần tô. b. Nêu các hạn chế của thuật toán trên và cách giải quyết.Câu 2:a. Trình bày các bước vẽ đường cong Cn..... (mấy cái đường cong là thi hết đó, mỗi đềmỗi phần ) b. Viết chương trình nhập 2 số n,D,L sau đó vẽ đường cong đóCâu 3:a. Nêu định nghĩa phép affine 2 chiều b. Chứng minh phép affine 2 chiều đảo bảm tỷ lệ chia đoạn thẳng (mỗi đề chứng minh 1cái)
Thời gian 60 phút.Đề không cho phép sử dụng tài liệuGiáo viên coi thi không giải thích gì thêm.
Bài giảiCâu 1:
a.
)
void TFloodfill(int x,int y,int bc,int c){
if (getpixel(x,y)!=bc){
putpixel(x,y,c);
TFloodfill(x-1,y,bc,c);
TFloodfill(x+1,y,bc,c);
TFloodfill(x,y-1,bc,c);
TFloodfill(x,y+1,bc,c);
}
}
b)
Hạn chế:+ Gọi đệ quy nhiều lần gây tràn stack+ 1 điểm bị gọi lặp nhiều lần bởi các điểm kề nó->tô bị chậmCách giải quyết:+ Hạn chế số lần gọi đệ quy (tô 3 điểm kề)+ Không gọi đệ quy mà tô theo từng dòng