3
$\begingroup$

I'm trying to draw a right angled triangle with hypotenuse length 1,opposite length b and adjacent length c in Mathematica. How do I do this? I'm trying to draw an isosceles triangle showing length 1 for hypotenuse and side a and side b for other sides.

$\endgroup$
6
  • $\begingroup$ So a 45,45,90 triangle, and you want the hypotenuse labeled "1", one side labeled "b", and one side labeled "c"? Is this what you're after? $\endgroup$
    – ktm
    Commented Aug 29, 2018 at 1:05
  • $\begingroup$ That is what I want. Please $\endgroup$ Commented Aug 29, 2018 at 1:07
  • $\begingroup$ Perhaps you want to look up Graphics, Line and Text. Using just these three commands you can draw all kinds of illustrations and add labels. If you already have something, just share it with us and we can help you more easily. $\endgroup$
    – Johu
    Commented Aug 29, 2018 at 1:11
  • 1
    $\begingroup$ SSSTriangle generates lengths 3 4 5 but not 1,a, and b. $\endgroup$ Commented Aug 29, 2018 at 1:13
  • $\begingroup$ b=.3;Graphics[SSSTriangle[1,b,Sqrt[1-b^2] ]]? $\endgroup$
    – kglr
    Commented Aug 29, 2018 at 1:17

2 Answers 2

4
$\begingroup$

Here's a suggestion for a function which takes arbitrary x and y lengths, and plots a right triangle with those values. Adjust the styling/options as desired.

plotTriangle[x_, y_] := 
 Graphics[{Red, Thick, 
   Line /@ {{{0, 0}, {x, 0}}, {{0, 0}, {0, y}}, {{x, 0}, {0, y}}}}, 
  Axes -> True, 
  Epilog -> {Inset[Style["a", 20, Red], {x/2, 0 + y/15}], 
    Inset[Style["b", 20, Red], {x/15, y/2}],
    Inset[Style["1", 20, Red], {x/2 + x/15, y/2 + y/15}]}]

enter image description here

$\endgroup$
5
  • $\begingroup$ Why do you prefer to use Epilog instead of Text or Inset in the first argument of Graphics? $\endgroup$
    – Johu
    Commented Aug 29, 2018 at 1:15
  • $\begingroup$ You can use whatever you want. This is just what I chose in this instance. $\endgroup$
    – ktm
    Commented Aug 29, 2018 at 1:15
  • $\begingroup$ I tried the code you suggested and pressed shift enter and the graph didn't show. How do I get the graph to show? $\endgroup$ Commented Aug 29, 2018 at 1:16
  • $\begingroup$ It's a function definition. Plug values into the function. Like plotTriangle[2,2] $\endgroup$
    – ktm
    Commented Aug 29, 2018 at 1:17
  • $\begingroup$ Sorry I missed plotTriangle[4,5]. $\endgroup$ Commented Aug 29, 2018 at 1:19
2
$\begingroup$

You can also post-process the diagram produced by LaminaData["Filled345Triangle" , "BoundaryDiagram"] to get a diagram labeled as desired:

text = {"b", "c", 1};
i = 1; Replace[LaminaData["Filled345Triangle" , "BoundaryDiagram"] , 
 {p : Polygon[{{0, 0}, __}] :> {LightBlue, p}, Text[_, p_] :> Text[text[[i++]], p]}, ∞]

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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