Thuật toán vẽ Hyperbol

Chia sẻ: Pham Duy Dao | Ngày: | Loại File: DOC | Số trang:3

0
158
lượt xem
46
download

Thuật toán vẽ Hyperbol

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu tham khảo về thuật toán vẽ Hyperbol

Chủ đề:
Lưu

Nội dung Text: Thuật toán vẽ Hyperbol

  1. Thu ật toán vẽ Hyperbol – = 1 (A < B) Pi+1 = 4 [B2 (xi+1 + 1/2)2 – A2(yi+1 + 1)2 – A2B2] B1: Thu hẹp vùng vẽ Xét hiệu Vẽ cung ở góc phần tư thứ I rồi lấy đối xứng qua trục tung, trục Pi+1 – Pi = 4 [B2 (xi+1 + 1/2)2 – A2(yi+1 + 1)2 – A2B2] hoành, gốc toạ độ được các phần còn lại – 4 [B2 (xi + 1/2)2 – A2(yi + 1)2 – A2B2] B2: Phân vùng vẽ. = 4 [B2 (xi+1 + 1/2)2 – A2(yi + 2)2 – A2B2] Xét cung ở góc phần tư thứ I có phương trình – 4 [B2 (xi + 1/2)2 – A2(yi + 1)2 – A2B2] y = = 4 [B2 ((xi+1)2 + xi+1 – (xi)2 – xi ) – A2(2yi + 3)] (2) A ≤x Biện luận theo dấu của Pi y’ = → y’ > 1 *Nếu Pi < 0 → F(x,y) < 0 → M nằm ngoài (H) → điểm Q gần điểm S Chọn điểm S để vẽ: Khi đó xi +1 = xi + 1 x A +∞ Thay vào (2) ta được +∞ Pi+1 – Pi = 4 [B2 ((xi +1)2 + (xi +1) – (xi)2 – xi ) – A2(2yi + 3)] y’ = 4 [B2 (2xi + 2) – A2(2yi + 3)] Pi+1 = Pi + 8 B2 xi + 8 B2 – 8A2yi – 12A2 (3) *Nếu Pi ≥ 0 → F(x,y) ≥ 0 → M nằm trong (H) → điểm Q gần điểm Suy ra có 1 vùng vẽ: P Vùng vẽ 1: A ≤ x; ứng với y’>1 Chọn điểm P để vẽ: Khi đó xi +1 = xi B 3.1 Vẽ vùng 1 Thay vào (2) ta được Đặt F(x,y) = B2x2 – A2y2 – A2B2 Pi+1 - Pi = 4[B2 ((xi )2 + xi – (xi)2 – xi ) – A2(2yi + 3)] Biết Mi(xi,yi) = 4[– A2(2yi + 3)] Xác định Mi+1(xi+1,yi+1) Pi+1 = Pi – 8A2yi – 8A2 (4) xi+1 Є { xi , xi+ 1} Tính P0 ứng với điểm ban đầu M0 (A,0) P M S yi+1 = yi + 1 yi+1 | Q P0 = 4 [B2 (A + 1/2)2 – A2(0 + 1)2 – A2B2] Nhật xét : x tăng chậm = 4AB2 – 4A + B2 y tăng đều Gọi M là trung điểm yi của SP Mi (xi + 1/2 , yi + 1) Đặt Pi = 4 F(x,y) xi xi+ 2 2 Pi = 4 [B (xi + 1/2) – A2(yi + 1)2 – A2B2] (1)
  2. BEGIN p = 4A2B - 4 A + B2 LƯU ĐỒ HYPERBOL x = A; y = 0; Put4pixel(x,y,color); No (A2-B2) x2 < A4 END Yes No p
  3. Thuật toán vẽ Hyperbol } #include void Hyperbol() #include { #include float a=70, b=60,p; #include float x,y; #include x=a;y=0; #include put4pixel(x,y); void InitGraph() p=4*a*b*b+b*b-a*a; { while((a*a-b*b)*x*x
Đồng bộ tài khoản