2
$\begingroup$

I was working with some complex geometry and after a lot of calculations some vertices should have perfectly connected. I tried to just merge them since they were supposed to be at the exact same spot but instead it didn't work.

This is where I decided to zoom in and realized that it wasn't actually at the same location, but the difference was so small that you wouldn't notice it unless you zoomed into max.

Ok so either my calculations are wrong or blender isn't as perfect as I thought it was.

I decided to recreate the problem in a simpler way that anyone can recreate.

  1. Cursor or object origin at world center.
  2. Extrude a single vertex from the center to any distance. In my case it was 50 meters.
  3. Now press "." and change the pivot point depending on what you chose at step 1.
  4. Zoom into the vertex that was extruded until you cant go any further.
  5. Now select the vertex and duplicate it "Shift + d"
  6. Rotating it should now pivot world center and 360° should equal to one circle so it should end up at the exact same spot as the original vertex right? well you wont notice it with such small rotation so try to increase it to multiple round trips like 1800° which is five circles around world origin. Now you should see that it's not in the same spot and the discrepancy increases with each full rotation added.

Is this intentional, bug or just some minor detail that nobody would even bother with.

$\endgroup$

1 Answer 1

1
$\begingroup$

You've just encountered one of the nightmares of doing maths on computers, and it's not a blender bug.

Blender uses floating point numbers internally, and they have finite precision. This means that when you do complicated calculations like calculating movement through an angle, you only get an approximation of the final answer.

For the majority of uses, the approximations are close enough to the right answer that people don't notice, but you've found one of the rare cases where it does.

If you want to merge the two vertices, select the one that is in the right position, then select the other by holding shift when you left click on it. Type M to get the merge menu and select "At First":

select the first vertex with left mouse:

select first

select the second vertex with left mouse while holding shift:

select second

notice that the first vertex is orange. That means it's the 'active' vertex.

Now type M to bring up the merge menu

merge menu

and select "At First"

merged vertices

$\endgroup$
1
  • $\begingroup$ Thanks, makes sense. I guess I need to quit my perfectionism to such absurd level... $\endgroup$ May 1, 2021 at 15:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .