All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > Shapes > Geometry
Triangle cosine (Posted on 2023-12-01) Difficulty: 3 of 5
In triangle ABC, a=9 and a(cos A)+b(cos C)+c(cos B)=450/29. Find the value of sin A.

No Solution Yet Submitted by Danish Ahmed Khan    
No Rating

Comments: ( Back to comment list | You must be logged in to post comments.)
Some Thoughts Computer approximation | Comment 1 of 3
I was not having success at a trig solution.

I wrote a program that loops through 2 angles, calculating the third angle and finds the smallest error between the calculated function and the goal of 450/29

Results:
smallest error     0.00030537362685656433
numerator/29 (close to 450) 450.00885583517885
Angles A,B,C [43.6, 0.1, 136.3]
sin of angle A 0.6896195437356698

Putting that number into Wolfram Alpha finds:
sin((109 π)/450) ≈ 0.68961954373566978308

{edited to add:  making the mesh 10 times finer does not change the value of sin(A) but shows slightly different angles
smallest error     0.00030537362685478797
numerator/29 (close to 450) 450.0088558351788
Angles A,B,C [43.6, 3.48, 132.92000000000002]
sin of angle A 0.6896195437356698  }

-----
import math

def sin(x):
    return math.sin(x*math.pi/180)
def cos(x):
    return math.cos(x*math.pi/180)

def f(A,B):
    """ return value of function a(cos A)+b(cos C)+c(cos B). Angles A and B are inputs, C is calculated.    A,B,C  are angles in degrees,  a,b,c are side lengths opposite the angles """
    C = 180 - A - B
    if A<=0 or B<=0 or C<=0 or A>=180 or B>=180 or C>=180:
        return 0
    a = 9
    b = a * sin(B)/sin(A)
    c = a * sin(C)/sin(A)
    return  a*cos(A) + b*cos(C) + c*cos(B)

goal = 450/29

leasterr = 10000
bestfunc = 10000
bestABC = []
for x in range(1,900): 
    for y in range(1,900):
        A = x/10
        B = y/10
        if A+B >=90:
            continue
        C = 180 - A - B
        if A<=0 or B<=0 or C<=0 or A>=180 or B>=180 or C>=180:
            continue
        func = f(A,B)
        err = abs(goal - func)
        if err < .0001:
            print(A,B,C,goal, sin(A))
        if err < leasterr:
            leasterr = err
            bestfunc = func
            bestABC = [A,B,C]

print('smallest error    ',leasterr)
print('numerator/29 (close to 450)', bestfunc*29)
print('Angles A,B,C',    bestABC)
print('sin of angle A',  sin(bestABC[0]) )

Edited on December 1, 2023, 12:53 pm
  Posted by Larry on 2023-12-01 12:43:17

Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (19)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2024 by Animus Pactum Consulting. All rights reserved. Privacy Information