During a workshop in Hamburg I briefly attended a couple of months ago, I noticed a lot of people have trouble with basic trigonometry. Figuring out angles and length of triangles. Added two components to help with this (one for right-angle triangles, one for generic triangles). Input all the values you know, and it will compute all possible missing ones.
taz
What's the rule? You need to know 3 pieces of info (general case) about a given triangle to figure out the rest of the missing info? So 3 inputs required for the component to run?
Aug 21, 2014
Daniel González Abalde
Would also be useful a component to the bisector or the inscribed circle.
Aug 21, 2014
David Rutten
@Taz, if you supply two angles (or one angle in the right triangle case) it can work out the missing angle, but obviously not the edge lengths. If you supply three edge lengths, it can work out the angles. If you supply two edges and the angle in between, it'll also work out how to proceed. It basically applies a bunch of rules for determining edges and angles based on known values, and every time it finds a new value it will keep on trying to grow the list of known values.
It is still somewhat problematic at the moment if too many values are user-specified. I perform some checking to see if the data represents a valid triangle, but there are still plenty of impossible combinations that aren't caught.
Aug 21, 2014
Fred Becquelin
I would prefer that my students learn trigonometry! As you said, it's basic after all.
If the man is hungry, better teach him how to fish than serving him a meal...
Aug 22, 2014
Arend
Is it trivial to have an output for the equation(s) being used?
Aug 22, 2014
peter fotiadis
these 2 are not bad at all (the amount of people not knowing - even basic - trigonometry is 1000++ times bigger ... than the other thing).
Aug 22, 2014
David Rutten
@Dani, sure... I kept these components simple as the inputs are fairly obvious.
From top to bottom:
Aug 22, 2014
Daniel González Abalde
Cool, I can't wait for the GH2!
Aug 22, 2014
Danny Boyes
A general rule at the moment is if you can see it it is GH1.0. Look out for them in the next release I would guess.
Aug 22, 2014
Mateusz Zwierzycki
I'm not really after the idea to create those components (learn trig), but I think that this problem
Can be very nicely solved with ZUI.
Aug 23, 2014
David Rutten
@Mateusz. Are we talking about the same thing? I mean that all inputs are optional, and it's thus possible to 'provide' values that cannot possibly represent a valid triangle. For example two angles can be given as 88° and 95°. All three angles must sum up to 180, and we're already 3 degrees over balance. Or maybe the user specifies three edge-lengths: 21, 12 and 8. 21 is bigger than 12+8, so even if the triangle was stretched flat, the two short edges cannot reach the ends of the long edge. The above is easy to test for and I add errors to the component if an invalid triangle is provided. However there are also many angle+edge length combinations which result in invalid triangles.
I could of course test for these as well, but the problem is now tolerance. What if the user specifies a redundant angle of 54.7°, whereas the mathematics tell us that the actual angle is 54.7002°. Is that an error? If so, is the angle wrong or is perhaps one of the edges wrong? Or has the triangle simply been over-constrained? Is there a mathematically robust way of dealing with this? And if so, would that also be the most user-friendly way of dealing with it?
Aug 23, 2014