ericek111

Electric charge calculator

Feb 10th, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function toDeg(angle) { return Math.round(angle * (180 / Math.PI) * 100)/100; }
  2. var naboja = 6*10e-12;   // Q1
  3. var nabojb = 8*10e-12;   // Q2
  4. var perm = 8.857*10e-12; // vacuum permittivity
  5.  
  6.  
  7. /*    vec e
  8.      \  |  /
  9. vec a \ | / vec b
  10.        \|/
  11.         C
  12.        / \
  13.     b /   \ a
  14.      /     \
  15.     A-------B
  16.         c       */
  17.  
  18. var sidea = Math.round( 8  * 10e-2    * 1e3) / 1e3; // |Q2 C|
  19. var sideb = Math.round( 3  * 10e-2    * 1e3) / 1e3; // |Q1 C|
  20. var sidec = Math.round( 10 * 10e-2    * 1e3) / 1e3; // |Q1 Q2|
  21. console.log("a = "+sidea+"; b = "+sideb+"; c = "+sidec);
  22.  
  23. var angleC = Math.acos((Math.pow(sidea, 2) + Math.pow(sideb, 2) - Math.pow(sidec, 2))/(2*sidea*sideb));
  24. var anglevec = Math.PI - angleC;
  25. console.log("C = arccos( (a^2 + b^2 - c^2) / (2*a*b) ) = arccos(("+sidea+"^2+"+sideb+"^2+"+sidec+"^2)/(2*"+sidea+"*"+sideb+")) = "+angleC+"rad = "+toDeg(angleC)+"°");
  26. console.log("Angle near vectors: anglevec = C - 180° = "+anglevec+"rad = "+toDeg(anglevec)+"°");
  27.  
  28. var veca = ( naboja/Math.pow(sideb, 2) * (1 / (4 * Math.PI * perm)) ); // Ec2
  29. var vecb = ( nabojb/Math.pow(sidea, 2) * (1 / (4 * Math.PI * perm)) ); // Ec1
  30. var vece = Math.sqrt( Math.pow(veca, 2) + Math.pow(vecb, 2) - 2 * veca * vecb * Math.cos(anglevec) ); // vector of electric charge
  31.  
  32. console.log("vector a = Ec2 = "+Math.round(veca*1e4)/1e2);
  33. console.log("vector b = Ec1 = "+Math.round(vecb*1e4)/1e2);
  34. console.log("vector e = E = "+Math.round(vece*1e4)/1e2);
Advertisement
Add Comment
Please, Sign In to add comment