This is just a random thought that came to mind upon trying to find a solution to another problem.

You are given the angle of the hypotenuse in a right angle triangle, from the origin. You then want to scale this triangle along each axis, multiplicative. Each side can be scaled by a different value.

Now this is easy enough to solve by using the first angle to calculate the side lengths of the triangle, scaling them, and calculating the second angle. However I want to avoid this intermediary step.

Is there a concise way to turn the first angle directly in to the second angle, only using a provided scaling ratio, not calculating side lengths first?

Image description of problem

  • $\begingroup$ What is "the" angle of the hypotenuse of a right triangle? What does it mean to "scale" each side of a triangle by a different value--multiply each of the three side lengths by a different factor to obtain three arbitrary lengths? What if those lengths do not form a triangle? Or are you scaling only the two legs? $\endgroup$ – David K Jan 24 '17 at 3:35
  • $\begingroup$ I suspect you have in mind not an arbitrary right triangle, but one placed in a very specific way on a Cartesian plane, perhaps the triangle $(0,0)$, $(u,0)$, $(u,v)$ for some $u>0$ and $v>0$. Is that what this is about? $\endgroup$ – David K Jan 24 '17 at 3:40
  • $\begingroup$ I've added an image to help clarify. I'd only be scaling the triangle on the X, and Y axis. It'll remain as a right angle triangle. You can assume the triangle isn't rotated. For example, could there be a formula like NewAngle = OldAngle * someTrigFunction(scalingRatio)? $\endgroup$ – EMora Jan 24 '17 at 3:50

Let's suppose that the horizontal dimension is scaled by a factor of $n$ and the vertical dimension is scaled by a factor of $m$. In the original triangle, the angle is related to the legs by $\tan\theta = \frac{y}{x}$. The new angle in the scaled triangle is $\theta' = \arctan\frac{my}{nx}$. Combining these, we have $$\theta' = \arctan \left(\frac{m}{n} \tan\theta \right)$$ This gives the new angle in terms of the old angle and the scaling ratio, without needing to explicitly calculate either the old side lengths or the new side lengths as an intermediate step.

  • $\begingroup$ Excellent, that works. I see now how that was worked out. I forgot that I could substitute y/x back in to tanTheta. Thanks! $\endgroup$ – EMora Jan 24 '17 at 4:06
  • $\begingroup$ Ah yes, it seems I don't have to wait 15 minutes to accept here. However I cannot show my upvote due to reputation. $\endgroup$ – EMora Jan 24 '17 at 4:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.