Java伽利略坐标变换

目录

题目

判断

        假定的因素

        思考

计算得出

GalileanCoordinateTransformation.java


刚学这部分的知识,可能存在错误的地方,如有发现错误恳请提醒一下谢谢!

题目

一个猎人练习弓箭,他点开手机视频拍摄后开始正式计时(从时间0开始),他往正北方射出一只弓箭,这只以8m/s百步穿杨,射中后他回看了手机射箭视频,射箭花费时间刚好6秒整(假定t=t'),在射中之后的3秒,杨树上的小鸟受到惊吓,假定小鸟和弓箭射出的水平高度相同(都是1.5米),假定猎人轴向及小鸟的轴向为0,小鸟往弓箭射出的同个方向即正北方逃离,在空中飞行了220米。由猎人的位置确定的这只小鸟此时的大致坐标?

判断

        假定的因素


                1.时间相同,都为6秒开始。

                2.高度相同,都为1.5米。

                3.轴向相同,都为0。

        思考

                1.需要通过确定猎人的坐标和树的坐标来判断小鸟此时的坐标。

计算得出

 

 

GalileanCoordinateTransformation.java

import java.util.Scanner;
class Factors{
    double x;
    double y;
    double z;
    double t;
    double t2;
    double t3;
    double v;
    //---------------------------------------------------------
    double x1;
    double y1;
    double z1;
    double t1;
    public Factors(double x, double y, double z, double t, double t2,double v) {
        this.x = x;
        this.y = y;
        this.z = z;
        this.t = t;
        this.t2 = t2;
        this.v = v;
        System.out.println("x为:"+x+"    y为:"+y+"    z为:"+z+"    t为:"+t+"    t2为:"+t2+"    v为:"+v);
    }
    public void Calculate(){
        x1=x-v*t;
        y1=y;   //假定相同高度
        z1=z;   //假定相同轴向
        t1=t;   //假定相同时间
        t3=t1+t2;
        x1=x1;
        System.out.print("这只小鸟此时的大致坐标为:("+Math.round(x1)+","+Math.round(y1)+","+Math.round(z1)+","+Math.round(t3)+")\n\n");
    }
}

public class GalileanCoordinateTransformation {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        System.out.print("请输入小鸟飞行的距离(单位:m):");
        double Distance=input.nextDouble();

        System.out.print("请输入猎人射出弓箭的水平高度(单位:m):");
        double Height=input.nextDouble();

        System.out.print("请输入猎人位置的轴向:");
        double AxialDirection=input.nextDouble();  //轴向

        System.out.print("请输入猎人射箭花费的时间(单位:s):");
        double Time=input.nextDouble();

        System.out.print("请输入猎人射中树后小鸟飞之前相隔的时间(单位:s):");
        double Time2=input.nextDouble();

        System.out.print("请输入猎人射出弓箭的速度(单位:m/s):");
        double Velocity=input.nextDouble();

        Factors factors=new Factors(Distance,Height,AxialDirection,Time,Time2,Velocity);
        factors.Calculate();
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZYT_庄彦涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值