作者共發了6篇帖子。 內容轉換:不轉換▼
 
點擊 回復
229 6
【计算器】向量加法计算器V1.0
一派護法 十九級
1樓 發表于:2014-12-14 10:56
<!DOCTYPE HTML>
<html>
<meta charset="ANSI">
<title>Vector Addition</title>
<style>
.text
{
    width: 50px;
}
#result
{
    margin-top: 8px;
}
</style>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script>
<script>
$(document).ready(function(){
    $("#cal").click(function(){
        var x = Number($("#x").val());
        var A = Number($("#A").val());
        var y = Number($("#y").val());
        var B = Number($("#B").val());
        
        if (x < 0)
        {
            x = -x;
            A += 180;
        }
        if (y < 0)
        {
            y = -y;
            B += 180;
        }
        
        //A has to be greater than B
        A = firstperiod(A);
        B = firstperiod(B);
        if (B > A)
        {
            var B0 = B;
            B = A;
            A = B0;
        }
        
        var z_sq = x * x + y * y + 2 * x * y * Math.cos(rad(A - B));
        var z = Math.sqrt(z_sq);
        if (z > 0)
        {
            var cos_D = (x * x - y * y + z_sq) / (2 * x * z);
            var D = Math.acos(cos_D);
            D = degree(D);
            var C = 0;
            if (A - B <= 180)
                C = B + D;
            else
                C = A + D;
            $("#result").html("= " + z + " vec " + C + "&deg;");
        }
        else
            $("#result").html("= <b>0</b>"); //zero vector
    });
});

function firstperiod(angle)
{
    if (angle < 0)
    {
        angle = -angle;
        angle = 360 - angle % 360;
        if (angle == 360)
            angle = 0;
    }
    else
        angle = angle % 360;
    return angle;
}

function rad(dg)
{
    return dg * Math.PI / 180;
}
function degree(r)
{
    var d = r * 180 / Math.PI;
    return Math.round(d * 1000) / 1000;
}
</script>
<body>
<h3>Vector Addition Calculator V1.0</h3>
<div>
    <input id="x" type="text" value="1" class="text">
    vec
    <input id="A" type="text" value="0" class="text">
    &deg;
    +
    <input id="y" type="text" value="1" class="text">
    vec
    <input id="B" type="text" value="0" class="text">
    &deg;
    <input id="cal" type="button" value="Calculate">
</div>
<div id="result"></div>
</body>
</html>
一派護法 十九級
2樓 發表于:2014-12-14 10:56
把上面的内容保存为html文件,然后运行
一派護法 十九級
3樓 發表于:2014-12-14 10:57
一派護法 十九級
5樓 發表于:2014-12-14 11:13
在该计算器中,x,y可以为任意值,角度可以为任意角。
一派護法 十九級
6樓 發表于:2014-12-14 11:17
一派護法 十九級
7樓 發表于:2014-12-14 11:19
vec0°+vec90°与vec0°+2vec90°的向量和角度就大不相同。虽然相加的两个向量的角度都相同。

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:229 回複數:6
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2014-12-14 11:19

本吧熱門帖子

本吧精品帖子

 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。