Guest User

Untitled

a guest
Jan 18th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. import { canvas } from 'unit-circle-convertor';
  2.  
  3. const convertor = canvas({width: 100, height: 100});
  4.  
  5. const isInsideUnitCircle = (x, y) => {
  6. const r = 1;
  7. const x0 = 0;
  8. const y0 = 0;
  9. return Math.sqrt((x - x0) * (x - x0) + (y - y0) * (y - y0)) < r;
  10. };
  11.  
  12. const mapInsideUnitWheel = (x, y) => {
  13. if (isInsideUnitCircle(x, y)) return [x, y];
  14. const angle = Math.atan2(y, x);
  15. return [Math.cos(angle), Math.sin(angle)];
  16. };
  17.  
  18. export const map = position => {
  19. const [a, b] = convertor.toUnit(position.x, position.y);
  20. const [mappedA, mappedB] = mapInsideUnitWheel(a, b);
  21. return convertor.toCanvas(mappedA, mappedB);
  22. };
Add Comment
Please, Sign In to add comment