简体   繁体   English

对于使用 javascript 的少数值,将变换弧度转换为度值未正确显示

[英]Converting transform radian to degree value is not showing properly for few values using javascript

  1. Radian to degree: var Degrees = Radian * (180 / Math.PI)弧度到度数:var Degrees = Radian * (180 / Math.PI)

  2. Degree to transform var bval=Math.sin(45*Math.PI / 180);转换度数 var bval=Math.sin(45*Math.PI / 180);

  3. Transform to angle var angle = Math.round(Math.asin(bval) * (180/Math.PI));转换为角度 var angle = Math.round(Math.asin(bval) * (180/Math.PI));

  4. Degree to radian: var Radians = Degree * Math.PI/180度数到弧度:var Radians = Degree * Math.PI/180

The above steps tried with the below code with values "-3.17934" & "-0.9998"上面的步骤尝试使用以下代码,值为“-3.17934”和“-0.9998”

  1. "-3.17934" --> This value properly converted not closed to First Radian & Last radian "-3.17934" --> 此值正确转换未关闭到 First Radian & Last radian
  2. "-0.9998" --> This value properly converted & closed to First Radian & Last radian "-0.9998" --> 此值正确转换并关闭为第一个弧度和最后一个弧度
`<script>
console.log("--------------------------------");
//var rad2="-3.17934";//-3.17934
var rad2="-0.9998";//-0.9998
console.log("First radian:  "+rad2);
var rad2angle = rad2 * (180/Math.PI);
console.log("2 rad2angle: "+rad2angle);

var tt = Math.sin(rad2angle*Math.PI / 180);
console.log("3 To Transform: "+tt);

var t2angle = Math.round(Math.asin(tt) * (180/Math.PI));
console.log("2 t2angle: "+t2angle);

var angle2radian = t2angle * Math.PI/180;
console.log("Last radian:  "+angle2radian);
</script>`

Thanks in Advance.提前致谢。

I tried with above code given in detail area.我尝试使用上面在详细区域中给出的代码。

While testing a script I realized that there was a problem for values greater than PI/2 or less than -PI/2.在测试脚本时,我意识到大于 PI/2 或小于 -PI/2 的值存在问题。 So I modified the script accordingly and it works even for the value "-3.17934"所以我相应地修改了脚本,它甚至适用于值“-3.17934”

This is the script I use to test这是我用来测试的脚本

<script>
var listeRadian = [-0.50,-1,-1.5,-2,0.50,1,1.5,2];


// For Each Value of Radian
for(i=0;i<listeRadian.length;i++)
{
    // Extraction
    let radianValue = listeRadian[i];
    console.log("Radian Value : "+radianValue);

    // Calculate Sinus
    var sinus = Math.sin(radianValue);
    console.log("Angle : "+radianValue*(180/Math.PI));
    console.log("Sinus : "+sinus);

    // Calculate Sinus Inv
    var sinusInv = (Math.asin(sinus) * (180/Math.PI));
    if(radianValue>Math.PI/2)           sinusInv = 180-sinusInv;
    if(radianValue<(Math.PI/2)*-1)      sinusInv = (180+sinusInv)*-1;
    console.log("Sinus Inv :  "+sinusInv);

    // Calculate Radian
    var radianCalc = sinusInv * Math.PI/180;
    console.log("Radian Calc :  "+radianCalc);

    console.log("\n");
}
// End - For Each Value of Radian
</script>

Hoping that my answer and my remark on PI/2 can help you.希望我的回答和我对PI/2的评论能帮到你。
Information about asin() function: Here有关 asin() function 的信息: 这里

I have modified the code & i got the proper output. Thanks everyone.我修改了代码,得到了正确的 output。谢谢大家。

<script>
console.log("--------------------------------");

var rad2="-0.9998";
console.log("1- Radian Value:  "+rad2);

var rad2angle = rad2 * (180/Math.PI);
console.log("2- Radian to Angle: "+rad2angle);

var cos=Math.cos(rad2angle*Math.PI / 180);
var sin=Math.sin(rad2angle*Math.PI / 180);
var catrans = [];
const trans = [cos, sin, -sin, cos, 0, 0];
console.log("3- Form Transform: "+trans.toString());
var tt= Math.atan2(sin,cos); 
var angle2radian = tt * 180/Math.PI;

console.log("2- Transform to Angle:  "+angle2radian);
console.log("1- Angle to radian: "+tt);
</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM