User:Tigerbw/Asymptote/graphing

< User:Tigerbw‎ | Asymptote
Revision as of 21:32, 10 October 2022 by Derekwang2048 (talk | contribs) (Source Code)

Graphing

So basically, I was bored one day, and I wanted to do some stuff so I went to Desmos. I got bored again, so I thought to make Desmos in asymptote. This is what I got

[asy] real resolution, x_left, x_right, g_x_left, g_x_right, y_down, y_up; resolution = 0.001; x_left = -8; x_right = 8; y_down = -8; y_up = 8; g_x_left = -8; g_x_right = 8; pen gray_pen = gray(.7); pen graph_pen = 1+blue; void grid(){ 	real[] arrx, arry;     for (real i = x_left+1; i < x_right; i+=1){     	draw((i, y_down)--(i, y_up), gray_pen);     }     for (real i = y_down+1; i < y_up; i+=1){     	draw((x_left, i)--(x_right, i), gray_pen);     }     draw((x_left, 0)--(x_right, 0),Arrows); 	draw((0,y_down)--(0, y_up),Arrows);      }   real f(real x){ // equation to graph 	if (x!=1) { // check for impossible case     	return x^2/((x-1)); 	}     else{ 		return y_up+1; 	} }  void dotgraph(){ 	bool prev = false; 	for (real i = g_x_left; i<=g_x_right; i+= resolution){           if (f(i)<y_up && f(i) > y_down){                 if (prev == true){                     draw((i, f(i))--(i-resolution, f(i-resolution)), graph_pen);                 }                 prev = true;           }           else{               prev = false;           } 	} }  grid(); dotgraph(); [/asy]

Source Code

<syntaxhighlight lang="Asymptote" line> /**

  • Graphing Remastered
  • Made by tigerbw
  • /

real resolution, x_left, x_right, g_x_left, g_x_right, y_down, y_up; resolution = 0.001; x_left = -8; x_right = 8; y_down = -8; y_up = 8; g_x_left = -8; g_x_right = 8; pen gray_pen = gray(.7); pen graph_pen = 1+blue; void grid(){ real[] arrx, arry;

   for (real i = x_left+1; i < x_right; i+=1){
   	draw((i, y_down)--(i, y_up), gray_pen);
   }
   for (real i = y_down+1; i < y_up; i+=1){
   	draw((x_left, i)--(x_right, i), gray_pen);
   }
   draw((x_left, 0)--(x_right, 0),Arrows);

draw((0,y_down)--(0, y_up),Arrows);

}

real f(real x){ // equation to graph if (x!=1) { // check for impossible case

   	return x^2/((x-1));

}

   else{

return y_up+1; } }

void dotgraph(){ bool prev = false; for (real i = g_x_left; i<=g_x_right; i+= resolution){

         if (f(i)<y_up && f(i) > y_down){
               if (prev == true){
                   draw((i, f(i))--(i-resolution, f(i-resolution)), graph_pen);
               }
               prev = true;
         }
         else{
             prev = false;
         }

} }

grid(); dotgraph(); </syntaxhighlight