5
$\begingroup$

I faced a strange behavior of Blender while trying to make something like this:

enter image description here

in one of the projections. It's clear that angle B (see picture below) should be 60 degrees for trivial trigonometrical reasons: just assume that the side of the square has the length 1 and calculate sin(A). Also note that D-D1 is divided into two equal parts by the inclined segment.

enter image description here

I try to reproduce that in Blender in orthographic projection of 3d view. Steps:

  1. Create a new file
  2. Delete cube
  3. Press numpad 1 to view XZ plane
  4. Press numpad 5 to switch to orthographic projection
  5. Shift+s -> Cursor to center to ensure that cursor is centered
  6. Shift+a -> Mesh -> Plane, so in selected projection we see the new plane as a segment.
  7. Press N and enter "-60" to "Rotation: Y:" in the panel appeared.
  8. Enter "-0.5" to "Location: X:" in the same panel.
  9. Scale to ensure that we didn't get the required picture.

After this steps I get the following (open image in new tab or window):

enter image description here

If we fulfill this image to squares like above (see fulfilled image below) and count smaller squares, then we get 10 squares in horizontal line and less than 18 squares in vertical line, so sine of A on the picture from blender is not equal to 1/2 (it's greater) => angle A itself is greater than 30 degrees, but angle B is equal to 60 degrees by our definition! So the sum of degree measures in triangles drawn in blender gets greater than 180 degrees.

enter image description here

Looks like a weird logic in blender. Or are there any mistakes in my argumentation and I don't understand something about Blender?

Note 1.

It's not a computational precision issue. We use plane of the default size and there is no bouncing if we zoom the scene either in or out.

Note 2.

Scaling the plane (i.e. lengthening it's projection) will homogeneously scale all construction and will not affect angles and trigonometric functions of them.

Explanation of the "paradox":

I confused lengths of what I have on the "paint" picture with what I want to get in blender. Of course, half-length of the inclined segment is not equal to 1 => sin(a) != 1/2.

$\endgroup$
  • 4
    $\begingroup$ If that is meant to be a 2x1 rectangle (which is what it looks like, but my eyes may deceive me), then .5 is tan(A), not sin(A). $\endgroup$ – user7952 Feb 26 '15 at 19:17
  • 3
    $\begingroup$ Maybe, this should be moved to math.stackexchange.com $\endgroup$ – Cem Kalyoncu Feb 26 '15 at 19:52
  • $\begingroup$ @CemKalyoncu I Think no, because it's about Blender, not about math. $\endgroup$ – Sergey Feb 27 '15 at 3:13
  • $\begingroup$ @SixthOfFour Your comment helped me to understand! I'll add the explanation of my mistake to the question. $\endgroup$ – Sergey Feb 27 '15 at 3:15
  • $\begingroup$ It was kind of sarcastic expression as it's your math that is flawed. $\endgroup$ – Cem Kalyoncu Feb 27 '15 at 7:59
5
$\begingroup$

I believe the issue comes more with the maths than with Blender.

If you remember SOHCAHTOA, we know the adjacent side to angle B (0.5) and the length of the side opposite angle B (1). Adjacent and Opposite sides work with tan as:

tanθ = Opposite/Adjacent

Substitute in the known lengths with arctan as

arctan(1/0.5) = 63.43...`

This is why Blender looked to be slightly imprecise, where you thought it was 60 degrees, it's actually 63.4 degrees, a small difference, but it explains what seemed to be an error on Blender's part.

As a little tip, you can use shift while scale(s), rotating(r) and translating(g) objects to do it more precisely and this could help you test things a little bit by judging by eye.

$\endgroup$
  • $\begingroup$ I don't think that's it, it is really a 60 degree angle, the problem is that he is confusing the values of Sin(60) and Cos(60), see my answer. $\endgroup$ – PGmath Feb 26 '15 at 20:30
10
$\begingroup$

It seems you have made a slight mathematical error.

The plane has a length of 2 (by default), so if you look at the diagram, the hypotenuse of one of the smaller right triangles is half the length of the plane, so it is 2/2 = 1 unit long. Now, Cos(60) = 1/2 so the shorter leg will have length 1*Cos(60) = 1*(1/2) = 1/2. Here is where you made a mistake: Sin(60) = sqrt(3)/2, so the longer leg will have length 1*Sin(60) = sqrt(3)/2, not 2.

Since I stink at making mathematical diagrams on paint and that is all I have on my tablet, here is a diagram I drew:
enter image description here

$\endgroup$
  • $\begingroup$ YAY! A practical application of trig! I didn't believe they existed! $\endgroup$ – Scalia Feb 27 '15 at 2:33
  • $\begingroup$ @VinceScalia Computer graphics is trig. $\endgroup$ – wchargin Feb 27 '15 at 3:12
  • $\begingroup$ Not that I have to do. the computer does it for me. $\endgroup$ – Scalia Feb 27 '15 at 16:50
4
$\begingroup$

your math is wrong...

angle 1: 90° angle 2: 63.435° angle 3: 26.565°

side 1: 1 side 2: 0.5 side 3: 1.118

correct this may be in: triangle calculator

image example

$\endgroup$
  • 1
    $\begingroup$ IMHO the view you posted brings a new layer of confusion to the issue, please consider making your image a 2D view $\endgroup$ – cegaton Feb 26 '15 at 22:52
4
$\begingroup$

To create a rectangle like that, where angle B is 60°, I'd do like this.

Create a circle with 3 vertices. This will create an equiangular triangle.
enter image description here

Tab into Edit mode, select one edge and subdivide it once.
enter image description here

Create an edge. Select the middle vertex of the edge you subdivided and the vertex to which it's not connected and hit F.
enter image description here

Delete half of it. Select one of the corner vertices of the edge you subdivided and hit X > V.
enter image description here

Select the other corner vertex of the edge you subdivided and snap cursor to selected (ShiftS > U). Set pivot point to 3D Cursor (see red marking in the image). Select all (A twice), duplicate but cancel the translation (ShiftD > Esc) and rotate 180° around the Z1 axis (RZ180).
enter image description here

Select all (A twice). Duplicate but cancel the translation (ShiftD > Esc) and rotate 180° around the X1 axis (RX180).
enter image description here

Select all (A twice). Remove doubles (CtrlV > D). Select the diagonal you don't want (two edges, three vertices) and delete it (X > E).
enter image description here

Select two adjacent, unconnected vertices and make an edge between them (F), then do the same with the other two adjacent, unconnected vertices.
enter image description here


1I'm in top view. If you're in another view, you will need to rotate around other axes.

$\endgroup$
  • $\begingroup$ It does not explain where I was wrong, but thanks for new methods how to create that picture. $\endgroup$ – Sergey Feb 27 '15 at 3:21
  • 1
    $\begingroup$ No it didn't. I just tried to provide alternatives to the number crunching. And a little note, it's perfectly possible to enter simple math expressions in the transform fields of the object properties. I haven't found this documented anywhere, and I just tried it a while ago, and realised that it worked. $\endgroup$ – user7952 Feb 27 '15 at 7:01
2
$\begingroup$

If what you're after is that Z shape, here's how I'd go about it.

Add a circle with 3 vertices.
enter image description here

Tab into Edit mode. Select the edge to the right and delete it (X > E).
enter image description here

Select the top vertex and snap cursor to selected (ShirtS > U). Set pivot point to 3D cursor (see red marking in the image).
enter image description here

Select all (A twice). Duplicate but cancel the translation (ShiftD > Esc). Rotate 180° around the Z1 axis. Select all (A twice). Remove doubles (CtrlV > D). Optionally, select the middle vertex and dissolve it (X > D).
enter image description here


1I'm in top view. If you're in another view, you will need to rotate around another axis.

$\endgroup$
  • $\begingroup$ would you crop your images, as it is the model is quite small, and the rest of the picture is just the interface. $\endgroup$ – David Feb 26 '15 at 21:14
  • $\begingroup$ @David Sorry about that. I'm working on it right now. $\endgroup$ – user7952 Feb 26 '15 at 21:16

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.