1
所以,我写了一个代码,允许用户以初始角度和速度抛出虚拟对象,以查看它们是否可以接近击球(即基于位置在用户输入上)。需要绘制投掷球的抛射体运动
但是,我很难绘制用户输入的角度和虚拟物体速度的曲线。
我已经使用了一个数学公式来计算所述对象的总时间和范围。那就是:
=02sin(一百八十〇分之二) =20sin(/ 180)
我已经尝试过试图把范围和总时间为圆弧状,并绘制它的方式。但这似乎并不奏效。
下面的代码:
import java.awt.AWTEvent;
import java.awt.*;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import java.util.Scanner;
import java.awt.geom.QuadCurve2D;
public class BallGame extends JFrame {
public static void main (String[]args)
{
Scanner cool= new Scanner(System.in);
double angle, speed, range, totalTime;
{
JFrame frame = new JFrame (" Throwing Ball");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(700,700);
}
{
System.out.println("Please enter the location of the ball (0 < X < 1)");
StdDraw.setPenRadius(0.06);
StdDraw.setPenColor(StdDraw.BLUE);
double x, y;
y = 0;
x = cool.nextDouble();
StdDraw.point(x, y);
}
System.out.println("Please enter an angle of your choosing:");
angle = cool.nextDouble();
System.out.println("Please enter the speed at wish you which to throw the ball");
speed = cool.nextDouble();
double g;
g = 9.8;
range = Math.pow(speed, 2) * Math.sin(2 * angle * (Math.PI/180)/g);
totalTime = (2 * speed * Math.sin(angle * Math.PI/180))/g;
为什么你在'{...}'中放置一些东西?通常你不使用这种块,它们在这里也不需要。 – Zabuza
@Zabuza,我将代码的某些部分放在括号中以使它更整洁,它使得我的代码的特定部分要求用户输入,以便创建程序工作所需的静止球而不会收到任何以前的错误因为X变量会告诉我它并未针对该点进行初始化,并且X值所需的用户输入根本不起作用,所以我之前没有使用它。因此为什么我放置括号。 – Yume
请参阅:https://stackoverflow.com/help/someone-answers – c0der