Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Tạo độ dày cho vòng tròn đồ họa C++ như thế nào?

  1. #1
    Ngày gia nhập
    01 2012
    Bài viết
    8

    Mặc định Tạo độ dày cho vòng tròn đồ họa C++ như thế nào?

    Xin mọi người hướng dẫn cách tạo thêm độ dày cho vòng tròn ở ngoài bìa.
    Mình có code cho vòng tròn:

    Code:
    	int x0 = mouseDown[0];
    	int y0 = mouseDown[1];
    	int x1 = mouseDrag[0];
    	int y1 = mouseDrag[1];
    
    	int x3 = x1 - x0;
    	int y3 = y1 - y0;
    
    	int r = sqrt(double( pow(double(x3),2) +  pow(double(y3),2) ));
    	int x, y;
    
        for(int x=0; x<=r*sqrt(double(2))/2; x++){
            y=sqrt(double(r*r-x*x));
         
            putPixel(x0+x,y0+y,colBrush);
            putPixel(x0-x,y0+y,colBrush);
            putPixel(x0+x,y0-y,colBrush);
            putPixel(x0-x,y0-y,colBrush);
            putPixel(x0+y,y0+x,colBrush);
            putPixel(x0-y,y0+x,colBrush);
            putPixel(x0+y,y0-x,colBrush);
            putPixel(x0-y,y0-x,colBrush);
        };
    code của mình thì chỉ tạo ra 1 vòng tròn khi mình click chuột và kéo, nhưng độ dày ngoài bìa thì giống nhau. Mình muốn thay đổi độ dày ngoài bìa của hình tròn thì làm thế nào?
    Mong mọi người giúp đỡ. Cảm ơn

    hình ví dụ


    mình muốn làm từ hình trái sang phải thì làm thế nào?
    Cảm ơn
    Đã được chỉnh sửa lần cuối bởi cql : 05-02-2012 lúc 11:01 PM. Lý do: thêm hình

  2. #2
    Ngày gia nhập
    01 2012
    Bài viết
    8

    hô hô, mình mới mò ra xong đáp án của đề tài này, mình có theo dõi sát sao những bài mình post, nhừng mà thấ nhiều người vào vẫn ko trả lời đc nên mình tự mò và đã mò ra
    mình post đáp án lên cho mọi người, để ai có muốn sử dụng
    Code:
    	
            int x0 = mouseDown[0];
    	int y0 = mouseDown[1];
    	int x1 = mouseDrag[0];
    	int y1 = mouseDrag[1];
    
    	int x3 = x1 - x0;
    	int y3 = y1 - y0;
    	int r = sqrt(double( pow(double(x3),2) +  pow(double(y3),2) ));
    
    	for (int j = r - borderThickness/2; j <= r + borderThickness/2; j ++){
    		for(int x=0; x<=j*sqrt(double(2))/2; x++){
    			int y=sqrt(double(j*j-x*x));
    			putPixel(x0+x,y0+y,color);
    			putPixel(x0-x,y0+y,color);
    			putPixel(x0+x,y0-y,color);
    			putPixel(x0-x,y0-y,color);
    			putPixel(x0+y,y0+x,color);
    			putPixel(x0-y,y0+x,color);
    			putPixel(x0+y,y0-x,color);
    			putPixel(x0-y,y0-x,color);	
    		}
    	}
    code này sẽ vẽ ra hình tròn với độ dày bao bên ngoài.

  3. #3
    Ngày gia nhập
    07 2010
    Nơi ở
    chỗ kín
    Bài viết
    446

    căn bản vì câu hỏi quá chán, ko ai muốn trả lời.
    nếu đã có code vẽ vòng tròn bán kính r, thì dùng code đó vẽ thêm các vòng tròn bán kính r+0.01,r+0.02 là xong, có vậy mà cũng phải hỏi.

  4. #4
    Ngày gia nhập
    01 2012
    Bài viết
    8

    Trích dẫn Nguyên bản được gửi bởi pkthanh92 Xem bài viết
    căn bản vì câu hỏi quá chán, ko ai muốn trả lời.
    nếu đã có code vẽ vòng tròn bán kính r, thì dùng code đó vẽ thêm các vòng tròn bán kính r+0.01,r+0.02 là xong, có vậy mà cũng phải hỏi.
    thì mình mới bắt đâu học nên vẫn còn bỡ ngỡ, chứ nếu mình biết rồi thì mình đâu cần lên hỏi mọi người :(

Các đề tài tương tự

  1. Những vòng tròn cuộc sống
    Gửi bởi bluena trong diễn đàn Giải trí - Thư giãn
    Trả lời: 0
    Bài viết cuối: 05-10-2013, 11:41 AM
  2. Di chuyển hình tròn chạy theo biên một hình tròn khác như thế nào?
    Gửi bởi ktxc15 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 17
    Bài viết cuối: 16-03-2012, 12:01 PM
  3. Graphic Giải thuật cho 1 picturebox di chuyển vòng tròn quanh tâm xác định
    Gửi bởi DanteDMC trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 08-06-2011, 12:44 PM
  4. bt đá bóng vòng tròn tính điểm
    Gửi bởi cs_tk04 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 17-05-2011, 09:18 PM
  5. Dùng (%) để tạo vòng tròn số?
    Gửi bởi Click8A4 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 10
    Bài viết cuối: 03-05-2011, 02:55 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn