Hướng dẫn tạo hình ảnh dạng hoa văn trong C++ từ hàm toán học Julia Set
Yêu cầu: Đã cài đặt Code::Blocks 10.05 và đã cấu hình đồ họa cho Code::Blocks. Nếu chưa cài đặt, bạn phải xem 2 bài viết này:
Video kết quả: bạn có thể tải mã lệnh ở bên dưới video này
Mã lệnh:
#include <graphics.h> #include <conio.h> #define DIM 800 float scale = 1.5; struct comp{ float r,i; comp(float a,float b): r(a),i(b){}; float magnitude2(){ return r*r + i*i; } comp operator*(const comp& a){ return comp(r*a.r-i*a.i,i*a.r+r*a.i); } comp operator+(const comp& a){ return comp(r+a.r,i+a.i); } }; int func(int i,int j){ float ji = scale*(float)(DIM/2-i)/(DIM/2); float jj = scale*(float)(DIM/2-j)/(DIM/2); comp c(-0.8,0.156); comp z(ji,jj); for(int i=0;i<2 span="">00;i++){ z = z*z+c; if (z.magnitude2()>DIM) return 0; } return RED; } void draw(){ for(int j=0;j<DIM;j++) for(int i=0;i<DIM;i++) putpixel(i,j,func(i,j)); } int main(){ initwindow(DIM,DIM); draw(); getch(); return 0; }2>
0 nhận xét:
Đăng nhận xét