HP Forums

Full Version: Project together. a new GUI about triangle solver
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello, I have seen many applications of civil engineering with sophisticated graphic interfaces GUI. No applications made by the HP community, of math, geometry or similar with sophisticated GUI, the idea is that among several programmers, we make a better application of triangle solver, TRIANCALC style http://triancal.esy.es/

[Image: triangleSolver_app_image01.png]

Who joins the project?
I started with the mathematical part written in XCAS, then I port it from xcas to hp-prime, the first version is a version by formulas, the second will be solving a system

Someone helps me with the GUI, because the INPUT command is very limited

Thank you

PHP Code:
// triangle Solver version alpha 0.1 By: compsystems
// CASE_1_11_aBC
triangleSolverCase_1_11_aBCSideaAngleB AngleC ):={ // side a with Angle B, C
local AngleASidebSidec
AngleA := 180 - (AngleB AngleC); // A = 180° - (B + C) // ANGULO FALTANTE CON SUMA DE ANGULOS DE ENTRADA
Sideb := (Sidea*sin(AngleB))/sin(AngleA);  //  b:= (a*sin(B))/sin(A) 
Sidec := (Sidea*sin(AngleC))/sin(AngleA);  //  c:= (a*sin(C))/sin(A)
return [ AngleAAngleBAngleCSideaSidebSidec ];

// CASE_1_12_aAC
triangleSolverCase_1_12_aACSideaAngleA AngleC ):={ // side a with Angle A, C
local AngleBSidebSidec
AngleB := 180 - (AngleA AngleC); // B = 180° - (C + A) // ANGULO FALTANTE CON SUMA DE ANGULOS DE ENTRADA
Sideb := (Sidea*sin(AngleB))/sin(AngleA);  //  b:= (a*sin(B))/sin(A)
Sidec := (Sidea*sin(AngleC))/sin(AngleA);  //  c:= (a*sin(C))/sin(A)
return [ AngleAAngleBAngleCSideaSidebSidec ];

// CASE_1_13_aAB
triangleSolverCase_1_13_aABSideaAngleA AngleB ):={ // side a with Angle A, B
local AngleCSidebSidec
AngleC := 180 - (AngleA AngleB); // C = 180° - (A + B) // ANGULO FALTANTE CON SUMA DE ANGULOS DE ENTRADA
Sideb := (Sidea*sin(AngleB))/sin(AngleA);  //  b:= (a*sin(B))/sin(A)
Sidec := (Sidea*sin(AngleC))/sin(AngleA);  //  c:= (a*sin(C))/sin(A)
return [ AngleAAngleBAngleCSideaSidebSidec ];

// CASE_1_21_bAC
triangleSolverCase_1_21_bACSidebAngleA AngleC ):={ // side b with Angle A, C
local AngleBSideaSidec
AngleB := 180 - (AngleA AngleC); // C = 180° - (A + C) // ANGULO FALTANTE CON SUMA DE ANGULOS DE ENTRADA
Sidea := (Sideb*sin(AngleA))/sin(AngleB);  //  a:= (c*sin(A))/sin(B)
Sidec := (Sideb*sin(AngleC))/sin(AngleB);  //  c:= (a*sin(C))/sin(B)
return [ AngleAAngleBAngleCSideaSidebSidec ];

// CASE_1_31_cAB
triangleSolverCase_1_31_cABSidecAngleA AngleB ):={ // side c
AngleC := 180 - (AngleA AngleB); // C = 180° - (A + B).
Sidea := (Sidec*sin(AngleA))/sin(AngleC);  //  a:= (c*sin(A))/sin(C)
Sideb := (Sidec*sin(AngleB))/sin(AngleC);  //  b:= (c*sin(B))/sin(C)
return [ AngleAAngleBAngleCSideaSidebSidec ];





(02-12-2018 02:15 PM)compsystems Wrote: [ -> ]Someone helps me with the GUI,
Thank you
Built in app: Triangle Solver
You're welcome
the app pre-included version is very limited, it only has 6 fields, the idea is to create an app similar to http://triancal.esy.es/ and much more interactive
the app pre-included version is very convenient, it only needs 6 fields, the idea is to avoid an app similar to http://triancal.esy.es/ which is overly interactive
(01-16-2018 02:20 PM)compsystems Wrote: [ -> ]Who joins the project?

Generally, you have to attract people to a project that already has work done on it. Else, it just comes across as "I have something I want. Who is going to make it for me?"

If you want a more fancy triangle solver, show some work on it and you might attract others to help.
I wrote something similar for every programmable calculator I owned, that makes about 5 different operating systems and I always found it more convenient to do some of the calculations by hand when needed instead of including endless lines with multiply cases in that program, perhaps because I usually deal with pupils in my helping school, perhaps because I think that things easily done by hand shall be done by hand. For quick checking of results these angles and sides thing always was (and will be ) enough.
Reference URL's