Получить угол две линии svg реагируют js - PullRequest
0 голосов
/ 24 мая 2018

Как можно получить угол на две линии в реакции js, используя svg, без использования атрибута svg set?

уже пробовал несколько учебных пособий стека, но ни один из них на самом деле не возвращал угол между двумя линиями и да, только угол, в котором находится линия, я попробовал это.

findAngle(p0,p1,p2) {
  var a = Math.pow(10,2) + Math.pow(100,2),
      b = Math.pow(10,2) + Math.pow(10,2),
      c = Math.pow(10,2) + Math.pow(70,2);
  var aa = Math.acos( (a+b-c) / Math.sqrt(4*a*b) );

  console.log(aa);

}

obs: этизначения в моих двух строках.

1 Ответ

0 голосов
/ 24 мая 2018

Исходя из этого ответа , вы хотите что-то вроде этого:

// helper function: make a point
function point(x,y){
   return {'x':x,'y':y};
}

// helper function: get distance between points a and b (by Pythagoras)
function d(a,b) {
   return Math.sqrt(d2(a,b));
}

// helper function: get square of distance between points a and b
function d2(a,b) {
   return (a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y);
}

// helper function: convert radians to degrees
function rad2deg(angleInRadians) {
   return angleInRadians/(Math.PI/180);
}

// get the angle in degrees between ab and ac, using the cosine rule:
function angle_deg(a,b,c) {
   return rad2deg(Math.acos((d2(a,b) + d2(a,c) - d2(c,b)) / (2 * d(a,b) * d(a,c))));
}

p0 = point(0,0);
p1 = point(1,0);
p2 = point(0,1);

console.log(angle_deg(p0,p1,p2)); // 90
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...