Difference between revisions of "User:Tigerbw/Asymptote/graphing"

Line 4: Line 4:
  
 
<asy>
 
<asy>
/**
 
* Graphing Remastered
 
*
 
* Made by tigerbw
 
**/
 
 
 
real resolution, x_left, x_right, g_x_left, g_x_right, y_down, y_up;
 
real resolution, x_left, x_right, g_x_left, g_x_right, y_down, y_up;
resolution = 0.01;
+
resolution = 0.001;
 
x_left = -8;
 
x_left = -8;
 
x_right = 8;
 
x_right = 8;
Line 32: Line 26:
 
      
 
      
 
}
 
}
 
+
real f(real x){
+
real f(real x){ // equation to graph
    return x^2+4x/2;
+
if (x!=1) { // check for impossible case
 +
    return x^2/((x-1));
 +
}
 +
    else{
 +
return y_up+1;
 +
}
 
}
 
}
  
Line 40: Line 39:
 
bool prev = false;
 
bool prev = false;
 
for (real i = g_x_left; i<=g_x_right; i+= resolution){
 
for (real i = g_x_left; i<=g_x_right; i+= resolution){
  if (f(i)<8){
+
          if (f(i)<y_up && f(i) > y_down){
            if (prev == true){
+
                if (prev == true){
draw((i, f(i))--(i-resolution, f(i-resolution)), graph_pen);          
+
                    draw((i, f(i))--(i-resolution, f(i-resolution)), graph_pen);
            }
+
                }
            prev = true;
+
                prev = true;
        }
+
          }
else{
+
          else{
        prev = false;
+
              prev = false;
        }
+
          }
 
}
 
}
 
}
 
}
Line 63: Line 62:
 
*
 
*
 
* Made by tigerbw
 
* Made by tigerbw
**/
+
*/
  
 
real resolution, x_left, x_right, g_x_left, g_x_right, y_down, y_up;
 
real resolution, x_left, x_right, g_x_left, g_x_right, y_down, y_up;
resolution = 0.01;
+
resolution = 0.001;
 
x_left = -8;
 
x_left = -8;
 
x_right = 8;
 
x_right = 8;
Line 87: Line 86:
 
      
 
      
 
}
 
}
 
+
real f(real x){
+
real f(real x){ // equation to graph
    return x^2+4x/2;
+
if (x!=1) { // check for impossible case
 +
    return x^2/((x-1));
 +
}
 +
    else{
 +
return y_up+1;
 +
}
 
}
 
}
  
Line 95: Line 99:
 
bool prev = false;
 
bool prev = false;
 
for (real i = g_x_left; i<=g_x_right; i+= resolution){
 
for (real i = g_x_left; i<=g_x_right; i+= resolution){
  if (f(i)<8){
+
          if (f(i)<y_up && f(i) > y_down){
            if (prev == true){
+
                if (prev == true){
draw((i, f(i))--(i-resolution, f(i-resolution)), graph_pen);          
+
                    draw((i, f(i))--(i-resolution, f(i-resolution)), graph_pen);
            }
+
                }
            prev = true;
+
                prev = true;
        }
+
          }
else{
+
          else{
        prev = false;
+
              prev = false;
        }
+
          }
 
}
 
}
 
}
 
}
Line 109: Line 113:
 
grid();
 
grid();
 
dotgraph();
 
dotgraph();
<syntaxhighlight lang="Asymptote" line>
+
</syntaxhighlight>

Revision as of 22:08, 26 June 2022

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

 1 /**
 2 * Graphing Remastered
 3 *
 4 * Made by tigerbw
 5 */
 6 
 7 real resolution, x_left, x_right, g_x_left, g_x_right, y_down, y_up;
 8 resolution = 0.001;
 9 x_left = -8;
10 x_right = 8;
11 y_down = -8;
12 y_up = 8;
13 g_x_left = -8;
14 g_x_right = 8;
15 pen gray_pen = gray(.7);
16 pen graph_pen = 1+blue;
17 void grid(){
18 	real[] arrx, arry;
19     for (real i = x_left+1; i < x_right; i+=1){
20     	draw((i, y_down)--(i, y_up), gray_pen);
21     }
22     for (real i = y_down+1; i < y_up; i+=1){
23     	draw((x_left, i)--(x_right, i), gray_pen);
24     }
25     draw((x_left, 0)--(x_right, 0),Arrows);
26 	draw((0,y_down)--(0, y_up),Arrows);
27     
28 }
29  
30 real f(real x){ // equation to graph
31 	if (x!=1) { // check for impossible case
32     	return x^2/((x-1));
33 	}
34     else{
35 		return y_up+1;
36 	}
37 }
38 
39 void dotgraph(){
40 	bool prev = false;
41 	for (real i = g_x_left; i<=g_x_right; i+= resolution){
42           if (f(i)<y_up && f(i) > y_down){
43                 if (prev == true){
44                     draw((i, f(i))--(i-resolution, f(i-resolution)), graph_pen);
45                 }
46                 prev = true;
47           }
48           else{
49               prev = false;
50           }
51 	}
52 }
53 
54 grid();
55 dotgraph();