Projectile flight. Suppose a cannonball is propelled straight into the air with a starting velocity v0. Any calculus book will state that the position of the ball after t seconds is s(t) =
In fact, we will confirm the theorem from calculus by a simulation. In our simulation, we will consider how the ball moves in very short time intervals At. In a short time interval the velocity v is nearly constant, and we can compute the distance the ball moves as Δs = vΔt. In our program, we will simply set
const double DELTA_T = 0.01;
and update the position by
s = s + v * DELTA_T;
The velocity changes constantly—in fact, it is reduced by the gravitational force of the earth. In a short time interval, Δv = −gΔt, we must keep the velocity updated as
v = v - g * DELTA_T;
In the next iteration the new velocity is used to update the distance.
Now run the simulation until the cannonball falls back to the earth. Get the initial velocity as an input (100 m/s is a good value). Update the position and velocity 100 times per second, but print out the position only every full second. Also printout the values from the exact formula s(t) =
Note: You may wonder whether there is a benefit to this simulation when an exact formula is available. Well, the formula from the calculus book is not exact. Actually, the gravitational force diminishes the farther the cannonball is away from the surface of the earth. This complicates the algebra sufficiently that it is not possible to give an exact formula for the actual motion, but the computer simulation can simply be extended to apply a variable gravitational force. For cannonballs, the calculus-book formula is actually good enough, but computers are necessary to compute accurate trajectories for higher-flying objects such as ballistic missiles.
Want to see the full answer?
Check out a sample textbook solutionChapter 4 Solutions
Big Java Late Objects
Additional Engineering Textbook Solutions
Starting Out with Java: From Control Structures through Objects (6th Edition)
Starting Out With Visual Basic (8th Edition)
Computer Systems: A Programmer's Perspective (3rd Edition)
Java How to Program, Early Objects (11th Edition) (Deitel: How to Program)
Starting Out with Python (3rd Edition)
Web Development and Design Foundations with HTML5 (8th Edition)
- Write a program to calculate the surface area and volume of a square pyramid. A square pyramid has a base that is square and all triangle faces are congruent isosceles triangles. (An isosceles triangle is a triangle in which two of the sides are equal. Length of the base: a Height of the pyramid: h Volume = a2h/3 Slant height, s = sqrt(h2 + (a/2)2) This is the Pythagorean Theorem part. Area of one pyramid side = s*a/2 Here are my calculations: Test Case #1 Height(h): 5.0’ Base(a): 2.5’ Volume = (2.5**2) * (5/3) (6.25) * (1.66) = 10.375 cubic feet Slant Height = math.sqrt(5**2) + (2.5/2)**2) Sqrt(25+1.5625) Sqrt(26.5625) = 5.154 feet Pyramid (not including base) = (5.154) * (2.5/2) * 4 (5.154) * (1.25) * (4) = 25.769 sq. Ft. I have attached a screenshot of my program I have so far. When I run the program, the output doesn't match what I have for the surface area and volume, am I missing something?arrow_forwardWrite a program to calculate the surface area and volume of a square pyramid. A square pyramid has a base that is square and all triangle faces are congruent isosceles triangles. (An isosceles triangle is a triangle in which two of the sides are equal. Length of the base: a Height of the pyramid: h Volume = a2h/3 Slant height, s = sqrt(h2 + (a/2)2) This is the Pythagorean Theorem part. Area of one pyramid side = s*a/2 For this program you are to determine two things about a square pyramid. 1) the surface area of the four sides. 2) the volume. Do not include surface area of the base. Test case 1: Height: 5.0' Base: 2.5' Test case 2: Height 2.5 Base: 4.3' The program asks the user to enter the pyramid height (in feet) and length of the base (in feet). Your program will need to determine surface area, and volume by using pythagorean theorem. Your output should neatly show the height, base, total surface area, and volume of the pyramid using 33 decimal place of…arrow_forwardA very known application in natural language processing is to extract information from a given text. In this lab, you will be able to extract some emotions (Sad and Happy) from a given string and calculate the score of each emotion. You will be given below the words that express sadness, anger, and happiness. For each word, you will be given weight as well, so that when you are calculating for example the score for sadness in the text (string), you can use this formula:arrow_forward
- Write a graphical program to trace a random walk (see previous two prob-lems) in two dimensions. In this simulation you should allow the step to be taken in any direction. You can generate a random direction as an angleoff of the x axis. angle = random() * 2 * math.piarrow_forwardQ2: A mercury thermometer having a time constant of 0.1 min is placed temperature bath at 100°F and allowed to come to equilibrium with the bath. At time t= 0, the temperature of the bath begins to vary sinusoidally about its average temperature of 100°F with an amplitude of 2°F If the frequency of oscillation is 10/π cycles/min, What is the phase lag? In terms of the symbols used T = 0.1 <0 120 f = 10 元 s=100 x(t) = 100+ 2 sin(wt)) يسيفر نظارت دقت السائل SLOWarrow_forwardThe following problem shows up in a number of Java texts, including Savitch's textbook: The Harris-Benedict equation estimates the number of calories your body needs to maintain your weight if you do no exercise. This is called your basal metabolic rate, or BMR. The calories needed for a woman to maintain her weight is: WBMR = 655 + (4.3 × weight in pounds) + (4.7 × height in inches) − (4.7× age in years) The calories needed for a man to maintain his weight is: MBMR = 66 + (6.3 × weight in pounds) + (12.9 × height in inches) − (6.8 × age in years) A typical chocolate bar will contain around 230 calories. Write a program that allows the user to input his or her weight in pounds, height in inches, and age in years. The program should then output the number of chocolate bars that should be consumed to maintain one’s weight for both a woman and a man of the input weight, height, and age. NOTE: This is an application of a selection statement! Input Data: Use a named constant for the…arrow_forward
- Write an Arduino program that simulates a robot car using: • Two gear motors (DC motors) • One motor driver • A servo motor The car should move forward, stop for a one second, and then move backward (this process should be repeated continuously). When the car is moving forward the servo motor should rotate from angle 0 to angle 180 and back from angle 180 to angle 0. When the car stops or is moving backward the servo motor should stop rotating. Hello i need the solution using arduino c language as soon as possiblearrow_forwardWrite a program using Python to solve the locker riddle which reads as follows: Imagine 100 lockers numbered 1 to 100 with 100 students lined up in front of those 100lockers:The first student opens every locker.The second student closes every 2nd locker.The 3rd student changes every 3rd locker; if it’s closed, she opens it; if it’s open, she closes it.The 4th student changes every fourth locker (e.g., 4th, 8th, etc.).The 5th student changes every 5th locker (e.g., 5th, 10th, etc.).That same pattern continues for all 100 students. Which lockers are left open after all 100 students have walked the rowof lockers?arrow_forwardIN JAVA please not python In this game, one flyand three frogs are placed randomly on a board with the size 7x7.In each iteration, they move randomlywithin the board, and the simulation stops when one of the frogs eats the fly.Fly and frogs are essentially creatures that can move, make noise, and eat. Frogs can move up to 2squares in any direction, and flies can move up to 1. Frogs make the "Croak! Croak!" sound, and fliesmake "ZzzZZz!". Since frogs should not eat their kind, a function of "isEatable" should also beimplemented in decision making. A variable or function to check if the fly is alive is also required as aterminate condition for simulation.In each iteration, an 'f' character represents frogs' position on board, and an '*' character is used torepresent the position of fly. Java language pleasearrow_forward
- A robot starts on a point marked “A” on a rectangular grid of points. The starting point is always the top left point on the grid. The robot can move left, right, up or down, moving from one point to the next. By moving in steps going left, right, up or down, the robot would like to reach a point marked “B”, which is always the bottom right point in the grid. Sometimes, points are marked as “x”, and the robot is not allowed to visit them at all. A robot is never allowed to visit a point more than once. In how many ways can the robot move from A to B and visit all points along the way? For example, in the following grid, represented in text as A . . . . B there is only one path from A to B: In the following grid, represented in text as A . . x x B there is still only one path (we're lucky because of the two x's): However, in the grid A . . . x B there are no ways for the robot to move from A to B and visit all points that are not marked with “x”. Write a single…arrow_forwardA chess knight, on one turn, moves either two squares vertically and one horizontally, or two horizontally and one vertically. If we consider a knight starting at the point ⟨x, y⟩ in Z × Z, it has eight possible moves, to ⟨x+1,y+2⟩,⟨x+1,y−2⟩,⟨x−1,y+2⟩,⟨x−1,y−2⟩,⟨x+ 2, y + 1⟩, ⟨x + 2, y − 1⟩, ⟨x − 2, y + 1⟩, or⟨x − 2, y − 1⟩. (a) Prove that given any two points ⟨x, y⟩ and ⟨x′, y′⟩ in Z × Z, there is a sequence of knight moves from the first point to the second. (b) Let a and b be different positive naturals. An (a, b)-knight also has eight possible moves, from ⟨x,y⟩ to ⟨x±a,y±b⟩ or ⟨x±b,y±a⟩. What conditions on a and b allow the (a, b)-knight to go from any point in Z × Z to any other? Prove your answer. (c) If a and b do not meet the conditions of part (b), exactly which points can the (a,b)- knight reach from ⟨x, y⟩arrow_forwardComputer Science Write a Java program that reads a line and a line segment and then determines whether they intersect or not. When they overlap completely, consider that as intersecting. Use variables ((lp1x, lp1y), (lp2x, lp2y)) to represent a line and ((sp1x, sp1y), (sp2x, sp2y)) to represent a line segmentarrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education