Difference between revisions of "Team:XJTU-China"

Line 273: Line 273:
  
 
     <!-- flowing banner -->
 
     <!-- flowing banner -->
     <script>!function(t){var o=t.noise={};function r(t,o,r){this.x=t,this.y=o,this.z=r}r.prototype.dot2=function(t,o){return this.x*t+this.y*o},r.prototype.dot3=function(t,o,r){return this.x*t+this.y*o+this.z*r};var n=[new r(1,1,0),new r(-1,1,0),new r(1,-1,0),new r(-1,-1,0),new r(1,0,1),new r(-1,0,1),new r(1,0,-1),new r(-1,0,-1),new r(0,1,1),new r(0,-1,1),new r(0,1,-1),new r(0,-1,-1)],e=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180],a=new Array(512),i=new Array(512);o.seed=function(t){t>0&&t<1&&(t*=65536),(t=Math.floor(t))<256&&(t|=t<<8);for(var o=0;o<256;o++){var r;r=1&o?e[o]^255&t:e[o]^t>>8&255,a[o]=a[o+256]=r,i[o]=i[o+256]=n[r%12]}},o.seed(0);var d=.5*(Math.sqrt(3)-1),f=(3-Math.sqrt(3))/6,h=1/6;function u(t){return t*t*t*(t*(6*t-15)+10)}function s(t,o,r){return(1-r)*t+r*o}o.simplex2=function(t,o){var r,n,e=(t+o)*d,h=Math.floor(t+e),u=Math.floor(o+e),s=(h+u)*f,l=t-h+s,w=o-u+s;l>w?(r=1,n=0):(r=0,n=1);var v=l-r+f,M=w-n+f,c=l-1+2*f,p=w-1+2*f,y=i[(h&=255)+a[u&=255]],x=i[h+r+a[u+n]],m=i[h+1+a[u+1]],q=.5-l*l-w*w,z=.5-v*v-M*M,A=.5-c*c-p*p;return 70*((q<0?0:(q*=q)*q*y.dot2(l,w))+(z<0?0:(z*=z)*z*x.dot2(v,M))+(A<0?0:(A*=A)*A*m.dot2(c,p)))},o.simplex3=function(t,o,r){var n,e,d,f,u,s,l=(t+o+r)*(1/3),w=Math.floor(t+l),v=Math.floor(o+l),M=Math.floor(r+l),c=(w+v+M)*h,p=t-w+c,y=o-v+c,x=r-M+c;p>=y?y>=x?(n=1,e=0,d=0,f=1,u=1,s=0):p>=x?(n=1,e=0,d=0,f=1,u=0,s=1):(n=0,e=0,d=1,f=1,u=0,s=1):y<x?(n=0,e=0,d=1,f=0,u=1,s=1):p<x?(n=0,e=1,d=0,f=0,u=1,s=1):(n=0,e=1,d=0,f=1,u=1,s=0);var m=p-n+h,q=y-e+h,z=x-d+h,A=p-f+2*h,b=y-u+2*h,g=x-s+2*h,j=p-1+.5,k=y-1+.5,B=x-1+.5,C=i[(w&=255)+a[(v&=255)+a[M&=255]]],D=i[w+n+a[v+e+a[M+d]]],E=i[w+f+a[v+u+a[M+s]]],F=i[w+1+a[v+1+a[M+1]]],G=.6-p*p-y*y-x*x,H=.6-m*m-q*q-z*z,I=.6-A*A-b*b-g*g,J=.6-j*j-k*k-B*B;return 32*((G<0?0:(G*=G)*G*C.dot3(p,y,x))+(H<0?0:(H*=H)*H*D.dot3(m,q,z))+(I<0?0:(I*=I)*I*E.dot3(A,b,g))+(J<0?0:(J*=J)*J*F.dot3(j,k,B)))},o.perlin2=function(t,o){var r=Math.floor(t),n=Math.floor(o);t-=r,o-=n;var e=i[(r&=255)+a[n&=255]].dot2(t,o),d=i[r+a[n+1]].dot2(t,o-1),f=i[r+1+a[n]].dot2(t-1,o),h=i[r+1+a[n+1]].dot2(t-1,o-1),l=u(t);return s(s(e,f,l),s(d,h,l),u(o))},o.perlin3=function(t,o,r){var n=Math.floor(t),e=Math.floor(o),d=Math.floor(r);t-=n,o-=e,r-=d;var f=i[(n&=255)+a[(e&=255)+a[d&=255]]].dot3(t,o,r),h=i[n+a[e+a[d+1]]].dot3(t,o,r-1),l=i[n+a[e+1+a[d]]].dot3(t,o-1,r),w=i[n+a[e+1+a[d+1]]].dot3(t,o-1,r-1),v=i[n+1+a[e+a[d]]].dot3(t-1,o,r),M=i[n+1+a[e+a[d+1]]].dot3(t-1,o,r-1),c=i[n+1+a[e+1+a[d]]].dot3(t-1,o-1,r),p=i[n+1+a[e+1+a[d+1]]].dot3(t-1,o-1,r-1),y=u(t),x=u(o),m=u(r);return s(s(s(f,v,y),s(h,M,y),m),s(s(l,c,y),s(w,p,y),m),x)}}(this);</script>
+
     <script>!function (t) { var o = t.noise = {}; function r(t, o, r) { this.x = t, this.y = o, this.z = r } r.prototype.dot2 = function (t, o) { return this.x * t + this.y * o }, r.prototype.dot3 = function (t, o, r) { return this.x * t + this.y * o + this.z * r }; var n = [new r(1, 1, 0), new r(-1, 1, 0), new r(1, -1, 0), new r(-1, -1, 0), new r(1, 0, 1), new r(-1, 0, 1), new r(1, 0, -1), new r(-1, 0, -1), new r(0, 1, 1), new r(0, -1, 1), new r(0, 1, -1), new r(0, -1, -1)], e = [151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180], a = new Array(512), i = new Array(512); o.seed = function (t) { t > 0 && t < 1 && (t *= 65536), (t = Math.floor(t)) < 256 && (t |= t << 8); for (var o = 0; o < 256; o++) { var r; r = 1 & o ? e[o] ^ 255 & t : e[o] ^ t >> 8 & 255, a[o] = a[o + 256] = r, i[o] = i[o + 256] = n[r % 12] } }, o.seed(0); var d = .5 * (Math.sqrt(3) - 1), f = (3 - Math.sqrt(3)) / 6, h = 1 / 6; function u(t) { return t * t * t * (t * (6 * t - 15) + 10) } function s(t, o, r) { return (1 - r) * t + r * o } o.simplex2 = function (t, o) { var r, n, e = (t + o) * d, h = Math.floor(t + e), u = Math.floor(o + e), s = (h + u) * f, l = t - h + s, w = o - u + s; l > w ? (r = 1, n = 0) : (r = 0, n = 1); var v = l - r + f, M = w - n + f, c = l - 1 + 2 * f, p = w - 1 + 2 * f, y = i[(h &= 255) + a[u &= 255]], x = i[h + r + a[u + n]], m = i[h + 1 + a[u + 1]], q = .5 - l * l - w * w, z = .5 - v * v - M * M, A = .5 - c * c - p * p; return 70 * ((q < 0 ? 0 : (q *= q) * q * y.dot2(l, w)) + (z < 0 ? 0 : (z *= z) * z * x.dot2(v, M)) + (A < 0 ? 0 : (A *= A) * A * m.dot2(c, p))) }, o.simplex3 = function (t, o, r) { var n, e, d, f, u, s, l = (t + o + r) * (1 / 3), w = Math.floor(t + l), v = Math.floor(o + l), M = Math.floor(r + l), c = (w + v + M) * h, p = t - w + c, y = o - v + c, x = r - M + c; p >= y ? y >= x ? (n = 1, e = 0, d = 0, f = 1, u = 1, s = 0) : p >= x ? (n = 1, e = 0, d = 0, f = 1, u = 0, s = 1) : (n = 0, e = 0, d = 1, f = 1, u = 0, s = 1) : y < x ? (n = 0, e = 0, d = 1, f = 0, u = 1, s = 1) : p < x ? (n = 0, e = 1, d = 0, f = 0, u = 1, s = 1) : (n = 0, e = 1, d = 0, f = 1, u = 1, s = 0); var m = p - n + h, q = y - e + h, z = x - d + h, A = p - f + 2 * h, b = y - u + 2 * h, g = x - s + 2 * h, j = p - 1 + .5, k = y - 1 + .5, B = x - 1 + .5, C = i[(w &= 255) + a[(v &= 255) + a[M &= 255]]], D = i[w + n + a[v + e + a[M + d]]], E = i[w + f + a[v + u + a[M + s]]], F = i[w + 1 + a[v + 1 + a[M + 1]]], G = .6 - p * p - y * y - x * x, H = .6 - m * m - q * q - z * z, I = .6 - A * A - b * b - g * g, J = .6 - j * j - k * k - B * B; return 32 * ((G < 0 ? 0 : (G *= G) * G * C.dot3(p, y, x)) + (H < 0 ? 0 : (H *= H) * H * D.dot3(m, q, z)) + (I < 0 ? 0 : (I *= I) * I * E.dot3(A, b, g)) + (J < 0 ? 0 : (J *= J) * J * F.dot3(j, k, B))) }, o.perlin2 = function (t, o) { var r = Math.floor(t), n = Math.floor(o); t -= r, o -= n; var e = i[(r &= 255) + a[n &= 255]].dot2(t, o), d = i[r + a[n + 1]].dot2(t, o - 1), f = i[r + 1 + a[n]].dot2(t - 1, o), h = i[r + 1 + a[n + 1]].dot2(t - 1, o - 1), l = u(t); return s(s(e, f, l), s(d, h, l), u(o)) }, o.perlin3 = function (t, o, r) { var n = Math.floor(t), e = Math.floor(o), d = Math.floor(r); t -= n, o -= e, r -= d; var f = i[(n &= 255) + a[(e &= 255) + a[d &= 255]]].dot3(t, o, r), h = i[n + a[e + a[d + 1]]].dot3(t, o, r - 1), l = i[n + a[e + 1 + a[d]]].dot3(t, o - 1, r), w = i[n + a[e + 1 + a[d + 1]]].dot3(t, o - 1, r - 1), v = i[n + 1 + a[e + a[d]]].dot3(t - 1, o, r), M = i[n + 1 + a[e + a[d + 1]]].dot3(t - 1, o, r - 1), c = i[n + 1 + a[e + 1 + a[d]]].dot3(t - 1, o - 1, r), p = i[n + 1 + a[e + 1 + a[d + 1]]].dot3(t - 1, o - 1, r - 1), y = u(t), x = u(o), m = u(r); return s(s(s(f, v, y), s(h, M, y), m), s(s(l, c, y), s(w, p, y), m), x) } }(this);</script>
 
     <script>
 
     <script>
 
         var fBanner = (function () {
 
         var fBanner = (function () {
Line 279: Line 279:
 
             var ctx = canvas.getContext("2d");
 
             var ctx = canvas.getContext("2d");
  
             w = ctx.canvas.width = 600;
+
             w = ctx.canvas.width*1.1;
             h = ctx.canvas.height = 250;
+
             h = ctx.canvas.height*1.1;
  
 
             nt = 0;
 
             nt = 0;
Line 294: Line 294:
 
                 }
 
                 }
 
                 move(i) {
 
                 move(i) {
                     this.x += noise.perlin3(this.y / 400, i / 5, nt);
+
                     this.x += noise.perlin3(this.y / (w*0.66), i / 5, nt);
                     this.y += noise.perlin3(this.x / 400, i / 5, nt);
+
                     this.y += noise.perlin3(this.x / (h*0.66), i / 5, nt);
 
                 }
 
                 }
                 draw() {
+
                 draw(i) {
 
                     ctx.beginPath();
 
                     ctx.beginPath();
 
                     ctx.globalCompositeOperation = "lighter";
 
                     ctx.globalCompositeOperation = "lighter";
                     ctx.filter = "blur(" + this.r + "px)";
+
                     ctx.filter = "blur(" + this.r * 0.5 + "px)";
                     ctx.fillStyle = "hsl(" + (hueBase + this.h) + ", 100%, 50%)";
+
                    switch (i % 5) {
 +
                        case 4:
 +
                            hueBase = 10;
 +
                            break;
 +
                        case 3:
 +
                            hueBase = 30;
 +
                            break;
 +
                        case 2:
 +
                            hueBase = 60;
 +
                            break;
 +
                        case 1:
 +
                            hueBase = 154;
 +
                            break;
 +
                        case 0:
 +
                            hueBase = 198;
 +
                            break;
 +
                    }
 +
                    // hueBase=90;
 +
                     ctx.fillStyle = "hsl(" + (hueBase + this.h/10) + ", 100%, 30%)";
 
                     ctx.arc(this.x, this.y, this.r, 0, Math.PI * 2);
 
                     ctx.arc(this.x, this.y, this.r, 0, Math.PI * 2);
 
                     ctx.fill();
 
                     ctx.fill();
Line 330: Line 348:
 
                 particles.forEach((p, i) => {
 
                 particles.forEach((p, i) => {
 
                     p.move(i);
 
                     p.move(i);
                     p.draw();
+
                     p.draw(i);
 
                     p.collision();
 
                     p.collision();
 
                 });
 
                 });

Revision as of 13:45, 1 September 2021

Team:XJTU-China

Tryptophan

iDream

Brief Intro.

a tryptophan producer

Synthetic biology is a science discipline that differs a lot from the others. Usually, you would use the scientific method to obtain results in the majority of life sciences, centering your work on making observations and performing experiments. However, synthetic biology goes beyond that, it is all about constructing something new from parts (biological parts if you may). That is why, sometimes the engineering design process fits better with these projects, since a product has to be built, a machine that performs a task, where it is more important what it does rather than how, yet still has to be tested. Funnily enough, that's why iGEM stands for genetically engineered machines.

To close the menu, the menu icon needs to be clicked again. This menu is inspired by the left side menu found on YouTube. When clicking on the menu label and icon, the main menu appears beneath and the menu icon slides to the right side while the label slides up. To close the menu, the menu icon needs to be clicked again. This menu is inspired by the left side menu found on YouTube. When clicking on the menu label and icon, the main menu appears beneath and the menu icon slides to the right side while the label slides up. To close the menu, the menu icon needs to be clicked again. This menu is inspired by the left side menu found on YouTube. When clicking on the menu label and icon, To close the menu, the menu icon needs to be clicked again. This menu is inspired by the left side menu found on YouTube. When clicking on the menu label and icon,

the main menu appears beneath and the menu icon slides to the right side while the label slides up.o be clicked again. This menu is inspired by the left side menu found on YouTube. When clicking on the menu label and icon, the main menu appears beneath and the menu icon slides to the right side while the label slides up. To close the menu, the menu icon needs to be clicked again. This menu is inspired by the left side menu found on YouTube. When clicking on the menu label and icon, the main menu appears beneath and the menu icon slides to the right side while the label slides up. To close the menu, the menu icon needs to be clicked again. This menu is inspired by the left side menu found on YouTube. When clicking on the menu label and icon, the main menu appears beneath and the menu icon slides to the right side while the label slides up. the main menu appears beneath and the menu icon slides to the right side while the label slides up. To close the menu, the menu icon needs to be clicked again. This menu is inspired by the left side menu found on YouTube. When clicking on the menu label and icon, the main menu appears beneath and the menu icon slides to the right side while the label slides up.ide menu found on YouTube. When clicking on the menu label and icon, To close the menu, the menu icon needs to be clicked again. This menu is inspired by the left side menu found on YouTube. When clicking on the menu label and icon, the main menu appears beneath and the menu icon slides to the right side while the label slides up.


highlights

A lot of wonderful works

img25

XJTU-China

Click the view button to check our wonderful social interaction.

img26

XJTU-China

Click the view button to explore our interviews with well-respected experts.

why can't i see me

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Haaaaa

why can't i see me

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Howdy guys sadasd dsadsa sdad ad a dsad as d

Haaaaa

contact us

Xi'an Jiaotong University
28 Xianning West Road
Xi'an, Shaanxi, China, 710049
xjtu_igem@xjtu.edu.cn

Made with ❤️ by