Math.Sqrt内のMath.Pow-このコードがわかりません

ハーレクイン

どこかから取ったこのコードを学習目的で使用しています。私はそれを分解して、それがどのように機能するかを理解しようとしています。

この関数は、マウスとそれぞれの要素の間の距離を返します。

function calculateDistance(elem, mouseX, mouseY) {
    return Math.floor(Math.sqrt(Math.pow(mouseX - (elem.offset().left+(elem.width()/2)), 2) + Math.pow(mouseY - (elem.offset().top+(elem.height()/2)), 2)));
}

マウスと要素の間のピクセルのみを計算して、正の数を返します。

それを取り除き、Math.floorだけを残します。math.sqrt(math.pow ...)がないと、要素に対するマウスの位置に応じて負の値が得られる理由がわかりません-> left(-x)、right(x)、above(-y)、以下(y)要素

また、要素の別の中心を取得します。

function calculateDistance(elem, mouseX, mouseY) {
    return Math.floor(mouseX - (elem.offset().left+(elem.width()/2)) + mouseY - (elem.offset().top+(elem.height()/2)));
}

Math.powとsqrtが単独で何をするか知っています。elem.offset().left+(elem.width()/2)水平方向にそれを行っているのに対しelem.offset().top+(elem.height()/2)、垂直方向に行っていると思っていので、要素の中心をどのように見つけているのかわかりません

スヴェトスラフ・ペトロフ

素晴らしいペイントスキル

だから1

is elem.width()/2 

2

elem.height()/2 

追加することにより

elem.offset().left and elem.offset().top 

要素の中心を取得します。

あなたは3得る

mouseX - (elem.offset().left+(elem.width()/2)

そして、あなたが得る4

mouseY - (elem.offset().top+(elem.height()/2)

最後に、マウスポインターと要素の間の距離を見つけるには、古き良きピタゴラス定理a²+b²=c²を使用する必要があります。34の正方形を見つけるには、Math.pow()を使用します。あなたの質問について、削除すると負の整数が返されるのはなぜですか。正の数と負の数のどちらを二乗しても、数値の二乗は常に正です。たとえば、この場合、マウスが要素の左側にあるため、サイド3(mouseX-(elem.offset()。left +(elem.width()/ 2))の結果は負になります。

これにより、距離が2乗された場合の長さがわかります。そのため、Math.sqrtを使用してc²からcだけを取得する必要があります。

最後に、Math.floorは、最も近い整数に切り捨てるために使用されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

inputValのMath.pow()

分類Dev

Math.powのJavaScript実装

分類Dev

Math.Pow関数の使用

分類Dev

Pythonのべき乗-math.powとmath.sqrtではなく**演算子を使用すべきですか?

分類Dev

Pythonの指数-math.powとmath.sqrtではなく**演算子を使用するべきですか?

分類Dev

Microsoft SolverFoundationでのMath.Powの使用

分類Dev

指数演算子^とMath.pow()の違い

分類Dev

Math.pow での Java.Lang.Exception

分類Dev

Java Math.pow(x、2.0)とMath.pow(x、2.0000001)のパフォーマンス

分類Dev

Math.pow()の使い方がわからない

分類Dev

長い型の関数Math.Pow(A、n)はありますか?

分類Dev

Pythonのフロートの組み込みpow()とmath.pow()の違いは?

分類Dev

Math.Pow inside Math.Sqrt - I don't understand this code

分類Dev

Math.Pow(10、Math.Abs(1))は10に等しいですか?

分類Dev

Math.powを使用してこのコードが「HELLO WORLD」を出力するのはなぜですか?

分類Dev

Math.pow(0、0)=== 1なのはなぜですか?

分類Dev

Math.pow()をキャストする際の精度の低下

分類Dev

java.base / java.math.BigInteger.powの負の指数

分類Dev

Java Math.pow(a、b)時間の複雑さ

分類Dev

ECMAScript 2016指数演算子とMath.pow()の違い

分類Dev

Python x。** y vs math.pow(x、y)の指数

分類Dev

Math.pow(10、n)の計算方法、n> = 10000

分類Dev

Excelの数式をJavaScriptに変換する-Math.pow()?

分類Dev

Hat ^演算子とMath.Pow()

分類Dev

JavaのMath.powが1つのエラーで戻ってきました

分類Dev

Math.Sqrt()の時間計算量?

分類Dev

math.hが含まれているにもかかわらず、Cでのpow()への未定義の参照

分類Dev

Javaの結果は(int)Math.pow(2、x)と1 << xで異なります

分類Dev

Math.sin内のMath.radians

Related 関連記事

  1. 1

    inputValのMath.pow()

  2. 2

    Math.powのJavaScript実装

  3. 3

    Math.Pow関数の使用

  4. 4

    Pythonのべき乗-math.powとmath.sqrtではなく**演算子を使用すべきですか?

  5. 5

    Pythonの指数-math.powとmath.sqrtではなく**演算子を使用するべきですか?

  6. 6

    Microsoft SolverFoundationでのMath.Powの使用

  7. 7

    指数演算子^とMath.pow()の違い

  8. 8

    Math.pow での Java.Lang.Exception

  9. 9

    Java Math.pow(x、2.0)とMath.pow(x、2.0000001)のパフォーマンス

  10. 10

    Math.pow()の使い方がわからない

  11. 11

    長い型の関数Math.Pow(A、n)はありますか?

  12. 12

    Pythonのフロートの組み込みpow()とmath.pow()の違いは?

  13. 13

    Math.Pow inside Math.Sqrt - I don't understand this code

  14. 14

    Math.Pow(10、Math.Abs(1))は10に等しいですか?

  15. 15

    Math.powを使用してこのコードが「HELLO WORLD」を出力するのはなぜですか?

  16. 16

    Math.pow(0、0)=== 1なのはなぜですか?

  17. 17

    Math.pow()をキャストする際の精度の低下

  18. 18

    java.base / java.math.BigInteger.powの負の指数

  19. 19

    Java Math.pow(a、b)時間の複雑さ

  20. 20

    ECMAScript 2016指数演算子とMath.pow()の違い

  21. 21

    Python x。** y vs math.pow(x、y)の指数

  22. 22

    Math.pow(10、n)の計算方法、n> = 10000

  23. 23

    Excelの数式をJavaScriptに変換する-Math.pow()?

  24. 24

    Hat ^演算子とMath.Pow()

  25. 25

    JavaのMath.powが1つのエラーで戻ってきました

  26. 26

    Math.Sqrt()の時間計算量?

  27. 27

    math.hが含まれているにもかかわらず、Cでのpow()への未定義の参照

  28. 28

    Javaの結果は(int)Math.pow(2、x)と1 << xで異なります

  29. 29

    Math.sin内のMath.radians

ホットタグ

アーカイブ