У меня математическая проблема. Я работаю над танком в андроид-студиях и хочу рассчитать траекторию выстрела. для этого я реализую небольшое приложение, в котором я беру каждого ангела от 0 до 360, чтобы посмотреть, в какую директорию попадает снимок. поэтому я прохожу 360 углов и размещаю каждый из них с одинаковой начальной скоростью и в то же время и добавляю texview с углом в качестве содержимого на макете с вычисленными x и y Posistion. я ожидал, что круг от 1 до 360. но угол не является регулярным. вот код
public class MainActivity extends AppCompatActivity {
private RelativeLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layout = findViewById(R.id.layout);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
shot( );
}
public void shot() {
for(int winkel = 0;angle<360;winkel++) {
TextView textView = new TextView(this);
textView.setText(""+angle);
textView.setTextSize(10);
int i = 10;
int power = 50;
System.out.println(angle);
textView.setX((float) (500+(power * Math.cos(angle) * i)));
textView.setY(((float) (0-((power * Math.sin(angle) * i) - (0.5 * 9.81 * Math.pow(i, 2))))));
//System.out.println((float) ((((power * Math.sin(angle) * i) - (0.5 * 9.81 * Math.pow(i, 2))))));
layout.addView(textView);
}
}
}
мощность представляет начальную скорость и время, когда я прекращаю выстрел. Вот две формулы для вычисления x / y-Position
- SX-direction = power · cos (угол) · i
- SY-direction = power · sin (угол)· I + 0,5 · -g · i2
результат должен быть кругом, состоящим из чисел, которые пошли от 0 до 360, но nubers совершенно случайны, почему?