私は高低に見えましたが、私は何もしていないようです。弾丸軌跡のx座標とy座標を計算し、Chart.jsにプロットする必要があります。弾丸軌跡のx座標とy座標を計算する - Chart.js
(0、5)から発射された弾丸が(250,5)でターゲットに当る。問題はその間の軌道上に正しくグラフを描くことにある(xはヤード、yはフィート)。
私は目標を打つことなく弾丸と弾丸の弾道の軌道をうまく計算できますが、弾丸がx距離で弾に当たるように発射角を計算することはできません。
これは私が私の計算を得ているところ主に次のとおりです。https://en.wikipedia.org/wiki/Trajectory_of_a_projectile
マイアプリは次のようになります。
ここで私がこれまで持っているものです。
calcTrajectory() {
// get target distance - passed in
// get launch angle to hit target at that distance
let x = this.distance;
let y = this.height;
let g = 10.733; // gravity in yds
let v = this.velocity/3; // velocity in yds
let angle = Math.atan(
Math.pow(v, 2) + Math.sqrt(
Math.pow(v, 4) - g * ((g * x * x) + (2 * y * v * v)
))
/
(g * x)
);
// graph x y coords based on target distance, launch angle, and bullet drop
for (let i = 0; i < 10; i++) {
let time = (i * 100)/v;
let bulletY: number = Math.sin(angle - (Math.PI/2)) * v;
let dropVal = ((10.733/2) * Math.pow(time, 2)) * 3;
console.log('Bullet Y:', bulletY);
this.myChart.data.datasets.forEach((dataset) => {
dataset.data.push({
x: (i * 100),
y: parseInt(this.height) + bulletY - dropVal
});
});
// update chart
this.myChart.update();
}
何私は行方不明ですか?
編集:質問を明確にし、私は角/活字体のもののすべてを削除する必要がありましたが、あなたは以下のコードを実行し、グラフプログラムに出力を貼り付けて、それを検証することができるはず絵