Recent Posts

Giải thuật sinh đường Ellipse

-

#include <graphics.h>
#include <conio.h>
#define ROUND(a) ((long)(a+0.5))
void plot(int xc, int yc, int x, int y, int color){
      putpixel(xc+x, yc+y, color);
      putpixel(xc-x, yc+y, color);
      putpixel(xc+x, yc-y, color);
      putpixel(xc-x, yc-y, color);
}
void Mid_ellipse(int xc, int yc, int a, int b, int color){
     long x, y, fx, fy, a2, b2, p;
     x = 0;
     y = b;
     a2 = a * a;
     b2 = b * b;
     fx = 0;
     fy = 2 * a2 * y;  
     plot(xc, yc, x,y, color);
     p = ROUND(b2-(a2*b)+(0.25*a));
     while (fx < fy){
         x++;
         fx += 2*b2;
         if (p<0)
              p += b2*(2*x +3);
        else{
              y--;
              p+= b2*(2*x +3) + a2*(-2*y +2);
              fy -= 2*a2;
       }
       plot(xc, yc, x, y, color);
       }
       p = ROUND(b2*(x+0.5)*(x+0.5) + a2*(y-1)*(y-1) - a2*b2);
       while (y>0){
              y--;
              fy -= 2*a2;
              if (p>=0)
              p+=a2*(3 - 2*y);
             else{
                x++;
                fx += 2*b2;
                p += b2*(2*x+2) + a2*(-2*y +3);
            }
        plot(xc, yc, x, y, color);
       }
}
void main(){
       int gr_drive = DETECT, gr_mode;
       initgraph(&gr_drive, &gr_mode, "");
       Mid_Ellipse(getmaxx() / 2, getmaxy() / 2, 150, 80, 4);
       getch();
       closegraph();
}

Related Post:

  • Những tính năng mới trong java 8 Giới thiệu về Java 8 java 8 2 năm rưỡi sau khi phiên bản Java 7 ra đời, ngày 18/3/2014, Oracle chính thức giới thiệu thế hệ tiếp theo- Java 8. Phiên bản mới này được xem là Java-7-hoàn-thiện-hơn bởi vì nhiều tính năng quan trọng trong Java 8 theo kế hoạch ban đầu thì thuộc về Java 7, nhưng các chậm trễ trong quá trình phát triển đã khiến Oracle quyết định ra đời… Read More
  • Lớp con lớp lồng nhau trong lập trình Java ​ Lớp con lớp trong lập trình Java Một lớp lồng trong là gì? Như tên của nó đã gợi ý, trong ngôn ngữ lập trình Java một lớp lồng trong là một lớp được khai báo trong một lớp khác. Đây là một ví dụ đơn giản: public class EnclosingClass {...public class ...public class NestedClass {...}} Thông thường, các lập trình… Read More
  • những công cụ JavaScript hổ trợ tốt ngôn ngữ lập trình cũ Ngôn ngữ lập trình máy tính có những “cuộc sống” kỳ lạ. Ngôn ngữ phổ biến nhất thì có được sự phát triển vũ bão tương tự như trong ngành công nghiệp thời trang. Nhưng khi chúng xa rời ánh hào quang, nhiều điều kỳ lạ lại xảy ra. Thay vì biến mất hoàn toàn như một bài nhạc pop hết thời, hoặc như kiểu quần ni-lông bóng khi xưa thì nó lại vẫn sống mãi. Tại sao lại như v… Read More
  • Swing là gì? Swing la gi? Swing là bộ công cụ GUI thế hệ kế tiếp mà Sun Microsystems tạo ra cho phép môi trường phát triển enterprise trong Java.Bằng môi trường phát triển enterprise, chúng ta hiểu rằng, các lập trình viên có thể sử dụng Swing để tạo ra các ứng dụng Java có khả năng mở rộng với một dãy nhiều thành phần mạnh mẽ. Thêm vào đó, bạn có thể kế thừa hoặc chỉnh sửa … Read More
  • Ngôn ngữ lập trình mở Java 9 sẽ ra mắt trong năm 2016 Hai nền tảng ngôn ngữ lập trình mở Java 7 và Java 8 đã được ra mắt, dự kiến, Java 9 sẽ được giới thiệu trong năm 2016. Tập đoàn Oracle và cộng đồng học lập trình Java đang tập trung đem lại những cải tiến cho nền tảng Java 9. Trong đó, Project Jigsaw được coi là mũi nhọn của lần ra mắt này. java 9 Với mục đích điều chỉnh nền tảng phần mềm, tăng khả năng tương thí… Read More
  • Oracle cáo buộc Google phá hủy thị trường Java Java kiện chống lại Android và cáo buộc Google đã phá hủy thị trường Java. java đối đầu android  Tháng trước, Oracle đã yêu cầu mở rộng vụ kiện chống lại Android và vào hôm thứ Tư vừa qua, Oracle đã nộp bổ sung hồ sơ lên tòa án để kiện cả sáu phiên bản mới của Android so với thời điểm khởi đầu vụ kiện vào năm 2010 .Oracle cáo buộc cũng như các phiên bản trước… Read More




Klik untuk melihat kode: :) =( :s :D :-D ^:D ^o^ 7:( :Q :p T_T @@, :-a :W *fck* x@