How to get x and y given only the diagonal line (of a golden section’s rectangle) ?

probably you’ll have a faster and more efficient answer than me

Hello.

The golden ratio is 1.618. I assume the short side is to the right and downwards from the diagonale.

If we insert 1.618xb for a in Pythagoras formulae, then we have that d^2 (diagonal)^2 = 3.617b^2

this gives that d = 1.90208412 (around 1.9)

so b = d/ 1.90208412

a is 1.618xb

you can control this by computing square root of ( a^2 + b^2)

(I have used b for y, and a for x).

If I’ve understood the question:

```
(*
(x ^ 2) + (y ^ 2) = (h ^ 2) (Pythagoras's Theorem)
Golden ratio = 1.6180339887 (Wikipedia)
âˆ´ x = y * 1.6180339887 (if landscape)
âˆ´ ((y * 1.6180339887) ^ 2) + (y ^ 2) = (h ^ 2)
âˆ´ (y ^ 2) * 2.618033988588 + (y ^ 2) = (h ^ 2)
âˆ´ (y ^ 2) * 3.618033988588 = (h ^ 2)
âˆ´ (y ^ 2) = (h ^ 2) / 3.618033988588
âˆ´ y = ((h ^ 2) / 3.618033988588) ^ 0.5
*)
on sidesOfGoldenRectangle(h, orientation)
set y to ((h ^ 2) / 3.618033988588) ^ 0.5
set x to y * 1.6180339887
if (orientation is "portrait") then set {x, y} to {y, x}
return {x:x, y:y}
end sidesOfGoldenRectangle
sidesOfGoldenRectangle(1.902113032548, "landscape")
```

Hello.

Having seen Nigels handler, I had to check my solution from earlier, and provide a handler as well. The two handlers provide the same solution, as far as I can see. Nigel’s constants for the gold ratio were more accurate, so used that one as well.

```
log phisides(10)
--> 8.506508085898, 5.257311122823
on phisides(diagonal)
if diagonal â‰¤ 0 then error "diagonal must be positive"
set b to diagonal / 1.902113032
set a to b * 1.6180339887
return {a, b}
end phisides
```

Ah yes. The ((h ^ 2) / 3.618033988588) ^ 0.5 in my handler can be reduced to h / 1.902113032548, making our maths practically them same. Thanks!