PPaul
asked on
Math line for a program (Cube Root)
I'm creating a program in D2. a math Equation is going to be used to figerout the Volum to Surfase Area of of an Object. The book that I'm using has the following Math.
Surfase Area =[(cube root of volume) squared] x 6
Is there a command in D2 that calculates the cube root or do I have to find an nother way.
If there is no command, please supply code to add. willing to give the points.
Thanks
PPaul
Surfase Area =[(cube root of volume) squared] x 6
Is there a command in D2 that calculates the cube root or do I have to find an nother way.
If there is no command, please supply code to add. willing to give the points.
Thanks
PPaul
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
OK. I looked at the above code.. The one by ronit lost me. I'm trying to fuger out what's with the two varables. they just shoot me for a loop. :)
The code by AllenC, I tryed in the program and the results are nowere close to the the one from the Gaming book I'm making this program for :)
Is the above code using CUBE ROOT or did you make the same mastake I did , SQUARE ROOT.
The book I have, has a chart with Surface area rounded up/down to the close number. Example:
Volume Area
(cf) (sf)
Under 0.03 0.5
0.03 - 0.06 1
Etc...
I need to get the cube root of the voloum then sqruare it then times it by 6 : [(cube root of volume) squared]x6
I have only one number to plug in to the math line that is Volume.
When I did test the code by AllenC the result to 0.05 was realy off. It sould have been around 1. It gave me 383999999.999512.
Thanks for the help but I still need more.
ronit if you can can you discribe the steps the code is doing and why I need two numbers? Thanks.
The code by AllenC, I tryed in the program and the results are nowere close to the the one from the Gaming book I'm making this program for :)
Is the above code using CUBE ROOT or did you make the same mastake I did , SQUARE ROOT.
The book I have, has a chart with Surface area rounded up/down to the close number. Example:
Volume Area
(cf) (sf)
Under 0.03 0.5
0.03 - 0.06 1
Etc...
I need to get the cube root of the voloum then sqruare it then times it by 6 : [(cube root of volume) squared]x6
I have only one number to plug in to the math line that is Volume.
When I did test the code by AllenC the result to 0.05 was realy off. It sould have been around 1. It gave me 383999999.999512.
Thanks for the help but I still need more.
ronit if you can can you discribe the steps the code is doing and why I need two numbers? Thanks.
Sorry, my mistake here. Try this code instead, it works, I tried it.
function GetSurfaceArea(Volume: Real): Real;
begin
GetSurfaceArea := Exp( (1/3) * Ln(Volume)) * 6;
end;
begin
Writeln(Round( GetSurfaceArea(27) ));
{ You should get 18 }
end.
Exp( (1/3) * Ln(Volume)) <- Cube Root of Volume.
Sorry about the error..
http://tcp.home.ml.org/
function GetSurfaceArea(Volume: Real): Real;
begin
GetSurfaceArea := Exp( (1/3) * Ln(Volume)) * 6;
end;
begin
Writeln(Round( GetSurfaceArea(27) ));
{ You should get 18 }
end.
Exp( (1/3) * Ln(Volume)) <- Cube Root of Volume.
Sorry about the error..
http://tcp.home.ml.org/
I will give you the most general function, so that it will answer any case, not just the 6'th case:
procedure TForm1.Button1Click(Sender : TObject);
function Root(FSurface, FDegree: Real): Extended;
begin
Result:=Exp(FDegree*Ln(FSu rface));
end;
begin
ShowMessage(FloattoStr(Roo t(5,2)));/ /equel to 5²
ShowMessage(FloattoStr(Roo t(16,1/4)) );//equel to 16¼
end;
And In general:
Root(X, a)=Xª
SQRT(25)=Root(25, 1/2)=25½
procedure TForm1.Button1Click(Sender
function Root(FSurface, FDegree: Real): Extended;
begin
Result:=Exp(FDegree*Ln(FSu
end;
begin
ShowMessage(FloattoStr(Roo
ShowMessage(FloattoStr(Roo
end;
And In general:
Root(X, a)=Xª
SQRT(25)=Root(25, 1/2)=25½
ASKER
Thanks. Big Help!
begin
Result := Sqr( 1/Exp(3 * Ln(Volume)) ) * 6;
end;