mirror of
https://github.com/3b1b/manim.git
synced 2025-09-19 04:41:56 +00:00
Fix Surface.pointwise_become_partial bug
This commit is contained in:
parent
e8f288f753
commit
00e9c426ff
1 changed files with 21 additions and 9 deletions
|
@ -124,16 +124,28 @@ class Surface(Mobject):
|
|||
lower_index, lower_residue = integer_interpolate(0, max_index, a)
|
||||
upper_index, upper_residue = integer_interpolate(0, max_index, b)
|
||||
if axis == 0:
|
||||
points[:lower_index] = interpolate(points[lower_index], points[lower_index + 1], lower_residue)
|
||||
points[upper_index:] = interpolate(points[upper_index], points[upper_index + 1], upper_residue)
|
||||
points[:lower_index] = interpolate(
|
||||
points[lower_index],
|
||||
points[lower_index + 1],
|
||||
lower_residue
|
||||
)
|
||||
points[upper_index + 1:] = interpolate(
|
||||
points[upper_index],
|
||||
points[upper_index + 1],
|
||||
upper_residue
|
||||
)
|
||||
else:
|
||||
tuples = [
|
||||
(points[:, :lower_index], lower_index, lower_residue),
|
||||
(points[:, upper_index:], upper_index, upper_residue),
|
||||
]
|
||||
for to_change, index, residue in tuples:
|
||||
col = interpolate(points[:, index], points[:, index + 1], residue)
|
||||
to_change[:] = col.reshape((nu, 1, *resolution[2:]))
|
||||
shape = (nu, 1, resolution[2])
|
||||
points[:, :lower_index] = interpolate(
|
||||
points[:, lower_index],
|
||||
points[:, lower_index + 1],
|
||||
lower_residue
|
||||
).reshape(shape)
|
||||
points[:, upper_index + 1:] = interpolate(
|
||||
points[:, upper_index],
|
||||
points[:, upper_index + 1],
|
||||
upper_residue
|
||||
).reshape(shape)
|
||||
return points.reshape((nu * nv, *resolution[2:]))
|
||||
|
||||
def sort_faces_back_to_front(self, vect=OUT):
|
||||
|
|
Loading…
Add table
Reference in a new issue