You need more edges around the ring (in other words, the object needs more "resolution" - not in terms of pixels of course, but in terms of edges), so one option is to use the subdivision modifier.
If you use the subdivision modifier make sure to use Supporting Edge Loops around the ring to keep the edge 'sharp' and in place.
If you already have ...
Here's a script that generates a blender image from the array, and maps it to an image texture on a displacement modifier assigned to a Plane object.
import bpy, math
import numpy as np
a = np.array([
[1, 2, 1, -1, -1, -3],
[3, 4, 2, 1, -2, -2],
[3, 4, 1, -1, -2, -2]
# Normalize values
anorm = (a - a.min()) / (a.max() - a.min())
# Generate ...
For this kind of effect it's very common to use normal maps. You don't want to use normal maps if the shape change is supposed to affect the silhouette of the object, that is, if the change in geometry can affect the ray hitting the object or not. This is why normal maps do very well on subtle changes like in your question, because it's very unlikely to have ...
I would just add to @Alexandre's (perfectly good) answer.. If you have closely fitting parts, make them from the same mesh. The outlines should be duplicates of one another, if at all possible. That may set you a topology puzzle, reducing the detail of the perforated plate towards the outside, but at least the area in which you have to do that is flat, and ...
It's the expected behaviour: by extruding that vertex you're creating a "non-manifold" geometry. Check this answer for understanding what is manifold and why you should avoid non-manifold geometry.
What is non-manifold geometry?
As I understand the question, you want the subdivision modifier to "know" where you want things smoother and rounder and where you want sharper edges.
In Blender there are (at least) two methods for doing this:
This is the most common way (this way can be used in any 3D software that uses Catmull-Clark subdivision).
Just add ...
Your subdivision is way too high and you don't have enough geometry to work with the subdivision, your object is basically a cube. add more geometry and use "Extrude alone faces" to extrude in different directions at the same time to create the "head shape"
Here is a quick example
i added a mirror modifier just to show you half of the ...
The edge crease tool is very limited and will not give a good result in every situation. In my experience situations such as the one you're showing have to be dealt with good old retopology techniques.
Adding loops doesn't have to mess with the curve of the cylinder. Here is a suggestion on how you could deal with that crease without messing with the ...
I use a grid (instead a plane, i hope that's ok).
Then i just loop over the vertices and set the vertices height from the array.
Array = ([[1, 2, 1, -1, -1, -3],
[3, 4, 2, 1, -2, -2],
[3, 4, 1, ...
Disable the modifier's visibility so that you can see the mesh as it is without any Subdivision Surface effect. As you can see the topology is quite messy, you must have worked on it with the modifier visibility on, so you were unable to see it, you need to fix that in Edit mode:
Whenever you want to have a "sharper" edge to you model with subdivision modifier, the trick is, to use loopcuts, which are near enough.
So you can insert loopcuts here:
then select the 2 edges:
and move them with G -> Y as you need it to get this:
add another loopcut here
select this edge
and move again with G -> Y
so hopefully this was,...
Array as vertex height
Similarly to @Chris's answer if the array values are interpreted as vertex z values
Add a grid of same dimensions (unit size)
Scale such that each xy grid is square
Use foreach_get and foreach_set to quickly set the z offset without looping. (Or edit mode)
import numpy as np
from mathutils import Matrix
Ok, I agree with the previous reply, the person who posted it is quite experienced. However, here is another way of creating the same type of model.
In this version I delete the faces I want as the holes first, and then model the shape of the rim and the lid. I just keep on adding edge loops to control the shape of the object and add details. I can use the ...
If you recreate the steps of the tutorial, the result looks exactly like in the tutorial. What your friend accidentally did is doubling the center edge by hitting E for Extrude. Maybe she realised her error and pressed Esc or RMB to exit the Extrude, but unlike moving, rotating or scaling for example, the extra vertices remain created - aborting the function ...