a running color mandelbrot
This commit is contained in:
		
							parent
							
								
									8ea11d110b
								
							
						
					
					
						commit
						c6f6ed48a4
					
				
							
								
								
									
										1
									
								
								Fraktalism/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								Fraktalism/.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -2,6 +2,7 @@ | |||||||
| julia | julia | ||||||
| pickover | pickover | ||||||
| lorentz | lorentz | ||||||
|  | mkmandel | ||||||
| voxelize | voxelize | ||||||
| evolvopick | evolvopick | ||||||
| henon | henon | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ fraktals.o:	fraktals.f90 Makefile | |||||||
| 	gfortran $(GFOPT) -c $< | 	gfortran $(GFOPT) -c $< | ||||||
| 
 | 
 | ||||||
| OBJDEP  = mods/points3d.o mods/xperiment.o fraktals.o mods/fractcolmap.o | OBJDEP  = mods/points3d.o mods/xperiment.o fraktals.o mods/fractcolmap.o | ||||||
| OBJS    = $(OBJDEP) ../Modules/spitpgm.o | OBJS    = $(OBJDEP) ../Modules/pixrgb.o ../Modules/spitpgm.o  | ||||||
| 
 | 
 | ||||||
| # ---------------------------------------------
 | # ---------------------------------------------
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -3,15 +3,16 @@ | |||||||
| !----------------------------------------------------- | !----------------------------------------------------- | ||||||
| !----------------------------------------------------- | !----------------------------------------------------- | ||||||
| 
 | 
 | ||||||
| subroutine plotsomething(pic, start, cz) | subroutine plotsomething(pic, start) | ||||||
|     ! use cmplxmath |     ! use cmplxmath | ||||||
|     ! use imagetools |     ! use imagetools | ||||||
|  |     use pixrgb | ||||||
| 
 | 
 | ||||||
|     implicit none |     implicit none | ||||||
| 
 | 
 | ||||||
|     integer, intent(inout), dimension (:,:)  ::  pic |     type(t_pixrgb), intent(inout), dimension (:,:)  ::  pic | ||||||
|     complex, intent(in)                             ::  start |     complex, intent(in)                             ::  start | ||||||
|     type (CenterMag), intent(in)             :: cz |     ! type (CenterMag), intent(in)             :: cz | ||||||
| 
 | 
 | ||||||
|     integer   :: ix, iy, width, height |     integer   :: ix, iy, width, height | ||||||
|     real      :: fx, fy, mod2 |     real      :: fx, fy, mod2 | ||||||
| @ -25,7 +26,7 @@ subroutine plotsomething(pic, start, cz) | |||||||
|     height = ubound(pic, 2) |     height = ubound(pic, 2) | ||||||
|     print *, "  pic size ", width, height |     print *, "  pic size ", width, height | ||||||
|     print *, "  start ", start |     print *, "  start ", start | ||||||
|     call print_centermag(cz) |     ! call print_centermag(cz) | ||||||
| 
 | 
 | ||||||
|     !   initialise constants |     !   initialise constants | ||||||
|     !  |     !  | ||||||
| @ -61,11 +62,11 @@ subroutine plotsomething(pic, start, cz) | |||||||
|             enddo |             enddo | ||||||
| 
 | 
 | ||||||
|             if (escape) then |             if (escape) then | ||||||
|                 pic(ix, iy) = mod(iter, 333) |                 pic(ix, iy)%r = mod(iter, 255) | ||||||
|  |                 pic(ix, iy)%b = mod(iter*7, 255) | ||||||
|             else |             else | ||||||
|                 ! esoteric computation here |                 pic(ix, iy)%g = mod(iter, 255) | ||||||
|                 ! pic(ix, iy) = mod(8*floor(mod2*11.11), 24) |                 pic(ix, iy)%b = mod(iter*11, 255) | ||||||
|                 pic(ix, iy) = mod(iter, 222) |  | ||||||
|             endif |             endif | ||||||
|             !------------------------------------- |             !------------------------------------- | ||||||
|         end do           ! fin boucle sur X |         end do           ! fin boucle sur X | ||||||
| @ -79,48 +80,43 @@ end | |||||||
| !    this is the main programm | !    this is the main programm | ||||||
| !  | !  | ||||||
| program mkmandel | program mkmandel | ||||||
| 
 |     use pixrgb | ||||||
|     use imagetools |  | ||||||
| 
 | 
 | ||||||
|     implicit none |     implicit none | ||||||
| 
 | 
 | ||||||
|     interface |     interface | ||||||
|       subroutine plotsomething (pic, start, cz) |       subroutine plotsomething (pic, start) | ||||||
|           use imagetools |           use pixrgb | ||||||
|           integer,   intent(inout), dimension (:,:) ::  pic |           type(t_pixrgb),   intent(inout), dimension (:,:) ::  pic | ||||||
|           complex,   intent(in)                            ::  start |           complex,   intent(in)                            ::  start | ||||||
|           type (CenterMag), intent(in)              :: cz |  | ||||||
|       end subroutine plotsomething |       end subroutine plotsomething | ||||||
|     end interface |     end interface | ||||||
| 
 | 
 | ||||||
|     integer, dimension(512, 512)    ::    picz |     type(t_pixrgb), allocatable     ::    pic(:,:) | ||||||
|     type (CenterMag)                ::    cm |  | ||||||
|     integer                         ::    angle |     integer                         ::    angle | ||||||
|     real                            ::    radangle, radius |     real                            ::    radangle, radius | ||||||
|     real                            ::    stx, sty |     real                            ::    stx, sty | ||||||
|     character (len=80)              ::    filename |     character (len=80)              ::    filename | ||||||
| 
 | 
 | ||||||
|     cm%cx    = 0.0 ; cm%cy    = 0.0 ;  cm%mag   = 3.0 |  | ||||||
|     picz = 0                ! clear screen |  | ||||||
| 
 |  | ||||||
|     print *, "-------- making some mandelbrot -------" |     print *, "-------- making some mandelbrot -------" | ||||||
| 
 | 
 | ||||||
|     do angle = 0, 1800 |     allocate(pic(512, 342)) | ||||||
|  | 
 | ||||||
|  |     do angle = 0, 600 | ||||||
|  |         call rgbpix_set_to_zero(pic) | ||||||
| 
 | 
 | ||||||
|         radangle = float(angle) * 0.017453292522222 |         radangle = float(angle) * 0.017453292522222 | ||||||
|         radius   = float(angle) / 2000.0 |         radius   = float(angle) / 2000.0 | ||||||
|         write (filename, "(a, i5.5, a)") "img/", angle, ".pnm" |         write (filename, "(a, i5.5, a)") "frames/mandel/", angle, ".pnm" | ||||||
|         ! filename = trim(filename) |         ! filename = trim(filename) | ||||||
|         print *, "#### passe ", angle, radangle, trim(filename) |         print *, "#### passe ", angle, radangle, trim(filename) | ||||||
| 
 | 
 | ||||||
|         stx = radius * sin(radangle*4.0) |         stx = radius * sin(radangle*4.0) | ||||||
|         sty = radius * cos(radangle*3.0) |         sty = radius * cos(radangle*3.0) | ||||||
| 
 | 
 | ||||||
|         call plotsomething (picz, complex(stx, sty), cm) |         call plotsomething (pic, complex(stx, sty)) | ||||||
|         call spitaspnm (picz, trim(filename)) |         call rgbpix_spit_as_pnm_8 (pic, trim(filename)) | ||||||
| 
 |  | ||||||
|         print * |         print * | ||||||
| 
 |  | ||||||
|     enddo |     enddo | ||||||
| 
 | 
 | ||||||
|     print *, "     [DONE]" |     print *, "     [DONE]" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 tTh
						tTh