Author
Possible loss of precision
kavitha ms
Greenhorn
Joined: Oct 21, 2008
Posts: 1
posted Oct 21, 2008 23:28:00

0

import java.awt.*; import java.util.*; import java.applet.*; import java.lang.*; public class m1 extends Applet { public void paint (Graphics g) { float Dx=0,Dy=0,Dz=0, Vxy=0,Vz=0,Vx=0,Vy=0,Axy=0,Az=0; double heading=75, climb=30; float TAccn=15,TSpeed=10,t=5; int n=1,i; double[] X = new double[5]; double[] Y = new double[5]; double[] Z = new double[5]; //Acceleration with climb motion Axy = TAccn * ((float) Math.cos(climb)); Az = TAccn * ((float) Math.sin(climb)); Vxy = TSpeed * ((float) Math.cos(climb)); Vz = TSpeed * ((float) Math.sin(climb)); Vx = Vxy * ((float) Math.sin(heading)); Vy = Vxy * ((float) Math.cos(heading)); float sin_heading = (float) Math.sin(heading); float t1 = t * t; Dx = 0.5 * Axy * t1 * sin_heading; Dy = 0.5 * Axy * t1 * ((float) Math.cos(heading)); Dz = 0.5 * Az * t1; for(i=0;i<n;i++) { X[i] = X[i] + Vx * t + Dx; Y[i] = Y[i] + Vy * t + Dy; Z[i] = Z[i] + Vz * t + Dz; int x1 = (int) X[i]; int y1 = (int) Y[i]; g.drawLine(0,0,x1,y1); } } } this is the program i hav written but its giving error like possible loss of precision for the lines Dx = 0.5 * Axy * t1 * sin_heading; Dy = 0.5 * Axy * t1 * ((float) Math.cos(heading)); Dz = 0.5 * Az * t1;
Vijitha Kumara
Bartender
Joined: Mar 24, 2008
Posts: 3899
posted Oct 22, 2008 00:09:00
0

0.5 * Axy * t1 * sin_heading;

The problem is you are multiplying the float variable with 0.5 (which is double by default). Try using 0.5f if you want to do it the same way you are doing. [ October 22, 2008: Message edited by: Vijitha Kumara ]
SCJP 5 | SCWCD 5
[How to ask questions ] [Twitter ]
Campbell Ritchie
Sheriff
Joined: Oct 13, 2005
Posts: 43984
posted Oct 22, 2008 00:25:00
0

And you would appear to have missed the naming policy when you logged on, "Kavitha Ms". We require first name-space-last name not abbreviation. Please go to "my profile" "update profile" and correct your displayed name to comply. CR
Martijn Verburg
author
Bartender
Joined: Jun 24, 2003
Posts: 3275
posted Oct 22, 2008 03:59:00
0

Also please do UseCodeTags , it makes it easier for us to help you . Now onto your question, did you manage to resolve your problem?
Cheers, Martijn - Blog ,
Twitter , PCGen , Ikasan , My The Well-Grounded Java Developer book! ,
My start-up .
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
subject: Possible loss of precision