Advertisement
IcarusLives

Rose Pedal algorithm 2

Apr 18th, 2017
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 1.10 KB | None | 0 0
  1. @echo off & setlocal enabledelayedexpansion
  2.  
  3.     set /a "wid=60", "hei=60", "iMax=wid*hei"
  4.     for /l %%i in (1 1 !iMax!) do set "widbuff= !widbuff!"
  5.     set "Canvas=%widbuff%" & "bss=!Canvas: =!"
  6.     mode %wid%,%hei%
  7.  
  8.     set "_SIN=a-a*a/1920*a/312500+a*a/1920*a/15625*a/15625*a/2560000-a*a/1875*a/15360*a/15625*a/15625*a/16000*a/44800000"
  9.     set "SIN(x)=(a=(x * 31416 / 180)%%62832, c=(a>>31|1)*a, a-=(((c-47125)>>31)+1)*((a>>31|1)*62832)  +  (-((c-47125)>>31))*( (((c-15709)>>31)+1)*(-(a>>31|1)*31416+2*a)  ), %_SIN%) / 10000"
  10.     set "COS(x)=(a=(15708 - x * 31416 / 180)%%62832, c=(a>>31|1)*a, a-=(((c-47125)>>31)+1)*((a>>31|1)*62832)  +  (-((c-47125)>>31))*( (((c-15709)>>31)+1)*(-(a>>31|1)*31416+2*a)  ), %_SIN%) / 10000"
  11.     set "_SIN="
  12.  
  13. for /l %%r in (20,1,200) do (
  14.    
  15.     set /a "x=20 * !cos(x):x=7 * %%r! * !sin(x):x=%%r! + wid/2"
  16.     set /a "y=20 * !cos(x):x=7 * %%r! * !cos(x):x=%%r! + hei/2"
  17.    
  18.     set /a "pos=x", "pos+=y * wid", "lL=pos-1", "lR=iMax-pos"
  19.     for /f "tokens=1-3" %%a in ("!lL! !pos! !lR!") do (set "Canvas=!Canvas:~0,%%a!.!Canvas:~%%b,%%c!")
  20.     cls & <nul set /p "=!Canvas:~0,-1!!bss!"
  21. )
  22. pause & exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement