Skip to content

Instantly share code, notes, and snippets.

@gcr
Created July 11, 2011 00:27
Show Gist options
  • Star 81 You must be signed in to star a gist
  • Fork 38 You must be signed in to fork a gist
  • Save gcr/1075131 to your computer and use it in GitHub Desktop.
Save gcr/1075131 to your computer and use it in GitHub Desktop.
int k;
double sin() ,cos();
main(){
float A=0, B=0, i, j, z[1760];
char b[1760];
printf("\x1b[2J");
for(; ; ) {
memset(b,32,1760);
memset(z,0,7040);
for(j=0; 6.28>j; j+=0.07) {
for(i=0; 6.28 >i; i+=0.02) {
float sini=sin(i),
cosj=cos(j),
sinA=sin(A),
sinj=sin(j),
cosA=cos(A),
cosj2=cosj+2,
mess=1/(sini*cosj2*sinA+sinj*cosA+5),
cosi=cos(i),
cosB=cos(B),
sinB=sin(B),
t=sini*cosj2*cosA-sinj* sinA;
int x=40+30*mess*(cosi*cosj2*cosB-t*sinB),
y= 12+15*mess*(cosi*cosj2*sinB +t*cosB),
o=x+80*y,
N=8*((sinj*sinA-sini*cosj*cosA)*cosB-sini*cosj*sinA-sinj*cosA-cosi *cosj*sinB);
if(22>y&&y>0&&x>0&&80>x&&mess>z[o]){
z[o]=mess;
b[o]=".,-~:;=!*#$@"[N>0?N:0];
}
}
}
printf("\x1b[d");
for(k=0; 1761>k; k++)
putchar(k%80?b[k]:10);
A+=0.04;
B+= 0.02;
}
}
@ahnaf12c
Copy link

My code runs, but thereseems to be a flickering issue.

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <unistd.h>

int k;
double sin(), cos();
int main()
{
float A = 0, B = 0, i, j, z[1760];
char b[1760];
printf("\x1b[2J");
for (;;)
{
memset(b, 32, 1760);
memset(z, 0, 7040);
for (j = 0; 6.28 > j; j += 0.07)
{
for (i = 0; 6.28 > i; i += 0.02)
{
float sini = sin(i),
cosj = cos(j),
sinA = sin(A),
sinj = sin(j),
cosA = cos(A),
cosj2 = cosj + 2,
mess = 1 / (sini * cosj2 * sinA + sinj * cosA + 5),
cosi = cos(i),
cosB = cos(B),
sinB = sin(B),
t = sini * cosj2 * cosA - sinj * sinA;
int x = 40 + 30 * mess * (cosi * cosj2 * cosB - t * sinB),
y = 12 + 15 * mess * (cosi * cosj2 * sinB + t * cosB),
o = x + 80 * y,
N = 8 * ((sinj * sinA - sini * cosj * cosA) * cosB - sini * cosj * sinA - sinj * cosA - cosi * cosj * sinB);
if (22 > y && y > 0 && x > 0 && 80 > x && mess > z[o])
{
z[o] = mess;
b[o] = ".,-~:;=!*#$@"[N > 0 ? N : 0];
}
}
}
system("cls");
for (k = 0; 1761 > k; k++)
putchar(k % 80 ? b[k] : 10);
A += 0.08;
B += 0.03;
}
}

@brunocrt
Copy link

brunocrt commented Jan 10, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment