0
私はボールが回転する四角形から飛び跳ねるようなプログラムを作ろうとしていましたが、基本的な三角法を学ばなくてはなりませんでしたが、それは半不正確であったということでした。ボールが中心からちょうどちょっと離れた矩形に当たったときと同じように、それはまっすぐに進むか、または想定しなかった方向に跳ね返るでしょう。私の問題のより良い視覚化を得るために、あなたが行って、my fiddleをチェックしたなら、私はそれを感謝します。三角法の問題:四角で囲まれた円
私はそれが数学の問題だと思っています(私の学年は10年生や11年生まで学ばないと考えています)。ここで
は数学funcionsです:
function getNormal(a) {
return {
x: Math.sin(a),
y: Math.cos(a)
}
}
function reflect(n, v) {
let d = 2 * dot(v, n);
v.x -= d * n.x;
v.y -= d * n.y;
return v;
}
function dot(v1, v2) {
return v1.x * v2.x + v1.y * v2.y;
}
OPのコードの主な問題を逃しました。線102は 'let normal = getNormal(padAngle);を読み、' padAngle'は '未定義'であり、線は 'let normal = getNormal(pad.angle);を読んで、degとradの間に単位変換を見ません回転のスケールとは別に、使用されるユニットに問題はありません。 – Blindman67