ManimCommunity / ManimCommunity/manim

Polygon depth occlusion not working as expected

Open
#4,057 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
40.9k
Forks
3.1k
Avg merge
3d 12h
Merged PRs (30d)
25

Description

Description of bug / unexpected behavior

Object depth occlusion not working as expected.

Below is a code example which I believe includes the paths to draw polygons on the surface of a sphere.

The paths have been generated by another piece of code, so perhaps there are some issues there.

The code will draw regions on one side of a 3d sphere. When the camera rotates around the sphere, the polygons become hidden/visible depending on the camera location.

The code below also adds a smaller sphere within the area of the larger half sphere, however that too becomes completely invisible towards the end of the clip, when it should be fully visible as it is in front of the polygons to the rear of the scene.

Is this expected or am I missing something in my code so that objects are rendered correctly?

Apologies for the terrible colors.

Expected behavior

The objects should be rendered correctly when visible and hidden when obscured by other objects.

How to reproduce the issue

from manim import *
import numpy as np

all_regions = [[np.array([[-6.74157834e-17,  3.61155773e-16, -3.00000000e+00],
       [-1.32542158e-16,  3.42652823e-16, -3.00000000e+00],
       [-1.93167461e-16,  3.12513539e-16, -3.00000000e+00],
       [-2.47232887e-16,  2.71761440e-16, -3.00000000e+00],
       [-2.92902397e-16,  2.21780447e-16, -3.00000000e+00],
       [-3.28625076e-16,  1.64267891e-16, -3.00000000e+00],
       [-3.53187798e-16,  1.01176874e-16, -3.00000000e+00],
       [-3.65756425e-16,  3.46499359e-17, -3.00000000e+00],
       [-3.65904132e-16, -3.30536977e-17, -3.00000000e+00],
       [-3.53625902e-16, -9.96348429e-17, -3.00000000e+00],
       [-3.29338699e-16, -1.62832435e-16, -3.00000000e+00],
       [-2.93867305e-16, -2.20500312e-16, -3.00000000e+00],
       [-2.48416312e-16, -2.70680099e-16, -3.00000000e+00],
       [-1.94529216e-16, -3.11667715e-16, -3.00000000e+00],
       [-1.34035996e-16, -3.42071238e-16, -3.00000000e+00],
       [-6.89909760e-17, -3.60858179e-16, -3.00000000e+00],
       [-1.60305382e-18, -3.67390542e-16, -3.00000000e+00],
       [-2.55371824e-03, -5.85265395e-01, -2.94235584e+00],
       [-1.09904927e-01, -5.74859122e-01, -2.94235584e+00],
       [-2.13523815e-01, -5.44930898e-01, -2.94235584e+00],
       [-3.09891533e-01, -4.96497071e-01, -2.94235584e+00],
       [-3.95735476e-01, -4.31202431e-01, -2.94235584e+00],
       [-4.68140424e-01, -3.51264355e-01, -2.94235584e+00],
       [-5.24647538e-01, -2.59397502e-01, -2.94235584e+00],
       [-5.63337863e-01, -1.58721630e-01, -2.94235584e+00],
       [-5.82897493e-01, -5.26556435e-02, -2.94235584e+00],
       [-5.82662191e-01,  5.51985043e-02, -2.94235584e+00],
       [-5.62639949e-01,  1.61178136e-01, -2.94235584e+00],
       [-5.23510712e-01,  2.61684233e-01, -2.94235584e+00],
       [-9.15275282e-01,  6.93030044e-01, -2.77163860e+00],
       [-9.15275282e-01,  6.93030044e-01, -2.77163860e+00],
       [-7.72565034e-01,  8.49213019e-01, -2.77163860e+00],
       [-6.03618833e-01,  9.76557110e-01, -2.77163860e+00],
       [-4.14174013e-01,  1.07073777e+00, -2.77163860e+00],
       [-2.10664033e-01,  1.12855667e+00, -2.77163860e+00],
       [ 7.02978061e-17,  1.14805030e+00, -2.77163860e+00],
       [ 7.02978061e-17,  1.14805030e+00, -2.77163860e+00],
       [ 2.24963967e-32,  3.67394040e-16, -3.00000000e+00],
       [-6.74157834e-17,  3.61155773e-16, -3.00000000e+00]]), np.array([[-3.89256377e-01,  2.08530081e+00,  2.12132034e+00],
       [-7.65293786e-01,  1.97846542e+00,  2.12132034e+00],
       [-1.11534217e+00,  1.80444225e+00,  2.12132034e+00],
       [-1.42751405e+00,  1.56914105e+00,  2.12132034e+00],
       [-1.42751405e+00,  1.56914105e+00,  2.12132034e+00],
       [-1.32877376e+00,  1.00612368e+00,  2.49440884e+00],
       [-1.49083238e+00,  7.45213646e-01,  2.49440884e+00],
       [-1.60226301e+00,  4.58996499e-01,  2.49440884e+00],
       [-1.65928154e+00,  1.57192041e-01,  2.49440884e+00],
       [-1.14339456e+00, -1.03287760e-01,  2.77163860e+00],
       [-1.10502697e+00, -3.11343676e-01,  2.77163860e+00],
       [-1.02913317e+00, -5.08826504e-01,  2.77163860e+00],
       [-9.18290474e-01, -6.89029818e-01,  2.77163860e+00],
       [-7.76263059e-01, -8.45833995e-01,  2.77163860e+00],
       [-8.82496421e-01, -1.41390404e+00,  2.49440884e+00],
       [-7.73919158e-01, -1.97510737e+00,  2.12132034e+00],
       [-7.73919158e-01, -1.97510737e+00,  2.12132034e+00],
       [-7.73919158e-01, -1.97510737e+00,  2.12132034e+00],
       [-3.12982753e-01, -1.63706028e+00,  2.49440884e+00],
       [-7.27237427e-03, -1.66669483e+00,  2.49440884e+00],
       [-5.00929852e-03, -1.14803937e+00,  2.77163860e+00],
       [-0.00000000e+00, -0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00, -0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00, -0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00, -0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00, -0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00, -0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00, -0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00, -0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00, -0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00,  0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00,  0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00,  0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00,  0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00,  0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00,  0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00,  0.00000000e+00,  3.00000000e+00],
       [-0.00000000e+00,  0.00000000e+00,  3.00000000e+00],
       [ 0.00000000e+00,  0.00000000e+00,  3.00000000e+00],
       [ 7.02978061e-17,  1.14805030e+00,  2.77163860e+00],
       [ 1.29893408e-16,  2.12132034e+00,  2.12132034e+00],
       [ 1.29893408e-16,  2.12132034e+00,  2.12132034e+00],
       [-3.89256377e-01,  2.08530081e+00,  2.12132034e+00]])], [np.array([[-5.23510712e-01,  2.61684233e-01, -2.94235584e+00],
       [-5.62639949e-01,  1.61178136e-01, -2.94235584e+00],
       [-5.82662191e-01,  5.51985043e-02, -2.94235584e+00],
       [-5.82897493e-01, -5.26556435e-02, -2.94235584e+00],
       [-5.63337863e-01, -1.58721630e-01, -2.94235584e+00],
       [-5.24647538e-01, -2.59397502e-01, -2.94235584e+00],
       [-4.68140424e-01, -3.51264355e-01, -2.94235584e+00],
       [-3.95735476e-01, -4.31202431e-01, -2.94235584e+00],
       [-3.09891533e-01, -4.96497071e-01, -2.94235584e+00],
       [-2.13523815e-01, -5.44930898e-01, -2.94235584e+00],
       [-1.09904927e-01, -5.74859122e-01, -2.94235584e+00],
       [-2.55371824e-03, -5.85265395e-01, -2.94235584e+00],
       [-5.00929852e-03, -1.14803937e+00, -2.77163860e+00],
       [-5.00929852e-03, -1.14803937e+00, -2.77163860e+00],
       [-2.15586270e-01, -1.12762673e+00, -2.77163860e+00],
       [-4.18842030e-01, -1.06892041e+00, -2.77163860e+00],
       [-6.07874107e-01, -9.73914038e-01, -2.77163860e+00],
       [-7.76263059e-01, -8.45833995e-01, -2.77163860e+00],
       [-9.18290474e-01, -6.89029818e-01, -2.77163860e+00],
       [-1.02913317e+00, -5.08826504e-01, -2.77163860e+00],
       [-1.10502697e+00, -3.11343676e-01, -2.77163860e+00],
       [-1.14339456e+00, -1.03287760e-01, -2.77163860e+00],
       [-1.14293300e+00,  1.08275761e-01, -2.77163860e+00],
       [-1.10365796e+00,  3.16162287e-01, -2.77163860e+00],
       [-1.02690320e+00,  5.13312087e-01, -2.77163860e+00],
       [-1.32877376e+00,  1.00612368e+00, -2.49440884e+00],
       [-1.12159059e+00,  1.23286622e+00, -2.49440884e+00],
       [-8.76318720e-01,  1.41774118e+00, -2.49440884e+00],
       [-6.01287470e-01,  1.55447031e+00, -2.49440884e+00],
       [-3.05836773e-01,  1.63841033e+00, -2.49440884e+00],
       [ 1.02056596e-16,  1.66671070e+00, -2.49440884e+00],
       [ 7.02978061e-17,  1.14805030e+00, -2.77163860e+00],
       [-2.10664033e-01,  1.12855667e+00, -2.77163860e+00],
       [-4.14174013e-01,  1.07073777e+00, -2.77163860e+00],
       [-6.03618833e-01,  9.76557110e-01, -2.77163860e+00],
       [-7.72565034e-01,  8.49213019e-01, -2.77163860e+00],
       [-9.15275282e-01,  6.93030044e-01, -2.77163860e+00],
       [-9.15275282e-01,  6.93030044e-01, -2.77163860e+00],
       [-5.23510712e-01,  2.61684233e-01, -2.94235584e+00]]), np.array([[-4.57717077e-01,  2.45205435e+00,  1.66671070e+00],
       [-8.99890292e-01,  2.32642922e+00,  1.66671070e+00],
       [-1.25138163e+00,  2.02453198e+00,  1.82628429e+00],
       [-1.60162944e+00,  1.76053084e+00,  1.82628429e+00],
       [-1.69120820e+00,  1.28055255e+00,  2.12132034e+00],
       [-1.89746970e+00,  9.48477062e-01,  2.12132034e+00],
       [-2.03929400e+00,  5.84191732e-01,  2.12132034e+00],
       [-2.11186481e+00,  2.00067519e-01,  2.12132034e+00],
       [-2.11271767e+00, -1.90850895e-01,  2.12132034e+00],
       [-2.04182360e+00, -5.75288100e-01,  2.12132034e+00],
       [-2.04182360e+00, -5.75288100e-01,  2.12132034e+00],
       [-1.49406978e+00, -7.38701589e-01,  2.49440884e+00],
       [-1.33315114e+00, -1.00031625e+00,  2.49440884e+00],
       [-1.12695929e+00, -1.22796063e+00,  2.49440884e+00],
       [-1.12320489e+00, -1.79955849e+00,  2.12132034e+00],
       [-1.12320489e+00, -1.79955849e+00,  2.12132034e+00],
       [-8.68314893e-01, -2.21601330e+00,  1.82628429e+00],
       [-3.98351484e-01, -2.08358251e+00,  2.12132034e+00],
       [-9.25597675e-03, -2.12130015e+00,  2.12132034e+00],
       [-9.25597675e-03, -2.12130015e+00,  2.12132034e+00],
       [-7.27237427e-03, -1.66669483e+00,  2.49440884e+00],
       [-3.12982753e-01, -1.63706028e+00,  2.49440884e+00],
       [-7.73919158e-01, -1.97510737e+00,  2.12132034e+00],
       [-7.73919158e-01, -1.97510737e+00,  2.12132034e+00],
       [-7.73919158e-01, -1.97510737e+00,  2.12132034e+00],
       [-8.82496421e-01, -1.41390404e+00,  2.49440884e+00],
       [-7.76263059e-01, -8.45833995e-01,  2.77163860e+00],
       [-9.18290474e-01, -6.89029818e-01,  2.77163860e+00],
       [-1.02913317e+00, -5.08826504e-01,  2.77163860e+00],
       [-1.10502697e+00, -3.11343676e-01,  2.77163860e+00],
       [-1.14339456e+00, -1.03287760e-01,  2.77163860e+00],
       [-1.65928154e+00,  1.57192041e-01,  2.49440884e+00],
       [-1.60226301e+00,  4.58996499e-01,  2.49440884e+00],
       [-1.49083238e+00,  7.45213646e-01,  2.49440884e+00],
       [-1.32877376e+00,  1.00612368e+00,  2.49440884e+00],
       [-1.42751405e+00,  1.56914105e+00,  2.12132034e+00],
       [-1.42751405e+00,  1.56914105e+00,  2.12132034e+00],
       [-1.11534217e+00,  1.80444225e+00,  2.12132034e+00],
       [-7.65293786e-01,  1.97846542e+00,  2.12132034e+00],
       [-3.89256377e-01,  2.08530081e+00,  2.12132034e+00],
       [ 1.29893408e-16,  2.12132034e+00,  2.12132034e+00],
       [ 1.52738490e-16,  2.49440884e+00,  1.66671070e+00],
       [-4.57717077e-01,  2.45205435e+00,  1.66671070e+00]])], [np.array([[-3.05836773e-01,  1.63841033e+00, -2.49440884e+00],
       [-6.01287470e-01,  1.55447031e+00, -2.49440884e+00],
       [-8.76318720e-01,  1.41774118e+00, -2.49440884e+00],
       [-1.12159059e+00,  1.23286622e+00, -2.49440884e+00],
       [-1.32877376e+00,  1.00612368e+00, -2.49440884e+00],
       [-1.02690320e+00,  5.13312087e-01, -2.77163860e+00],
       [-1.10365796e+00,  3.16162287e-01, -2.77163860e+00],
       [-1.14293300e+00,  1.08275761e-01, -2.77163860e+00],
       [-1.14339456e+00, -1.03287760e-01, -2.77163860e+00],
       [-1.10502697e+00, -3.11343676e-01, -2.77163860e+00],
       [-1.02913317e+00, -5.08826504e-01, -2.77163860e+00],
       [-9.18290474e-01, -6.89029818e-01, -2.77163860e+00],
       [-7.76263059e-01, -8.45833995e-01, -2.77163860e+00],
       [-6.07874107e-01, -9.73914038e-01, -2.77163860e+00],
       [-4.18842030e-01, -1.06892041e+00, -2.77163860e+00],
       [-2.15586270e-01, -1.12762673e+00, -2.77163860e+00],
       [-5.00929852e-03, -1.14803937e+00, -2.77163860e+00],
       [-9.25597675e-03, -2.12130015e+00, -2.12132034e+00],
       [-1.20935164e-02, -2.77161221e+00, -1.14805030e+00],
       [-1.20935164e-02, -2.77161221e+00, -1.14805030e+00],
       [-5.63354071e-01, -2.94663065e+00,  1.83697020e-16],
       [-5.20471296e-01, -2.72233175e+00,  1.14805030e+00],
       [-1.08838772e-02, -2.49438509e+00,  1.66671070e+00],
       [-9.25597675e-03, -2.12130015e+00,  2.12132034e+00],
       [-3.98351484e-01, -2.08358251e+00,  2.12132034e+00],
       [-8.68314893e-01, -2.21601330e+00,  1.82628429e+00],
       [-1.12320489e+00, -1.79955849e+00,  2.12132034e+00],
       [-1.12320489e+00, -1.79955849e+00,  2.12132034e+00],
       [-1.12695929e+00, -1.22796063e+00,  2.49440884e+00],
       [-1.33315114e+00, -1.00031625e+00,  2.49440884e+00],
       [-1.49406978e+00, -7.38701589e-01,  2.49440884e+00],
       [-2.04182360e+00, -5.75288100e-01,  2.12132034e+00],
       [-2.04182360e+00, -5.75288100e-01,  2.12132034e+00],
       [-2.11271767e+00, -1.90850895e-01,  2.12132034e+00],
       [-2.11186481e+00,  2.00067519e-01,  2.12132034e+00],
       [-2.03929400e+00,  5.84191732e-01,  2.12132034e+00],
       [-1.89746970e+00,  9.48477062e-01,  2.12132034e+00],
       [-1.69120820e+00,  1.28055255e+00,  2.12132034e+00],
       [-1.60162944e+00,  1.76053084e+00,  1.82628429e+00],
       [-1.25138163e+00,  2.02453198e+00,  1.82628429e+00],
       [-8.99890292e-01,  2.32642922e+00,  1.66671070e+00],
       [-4.57717077e-01,  2.45205435e+00,  1.66671070e+00],
       [ 1.52738490e-16,  2.49440884e+00,  1.66671070e+00],
       [ 1.69713917e-16,  2.77163860e+00,  1.14805030e+00],
       [ 1.69713917e-16,  2.77163860e+00,  1.14805030e+00],
       [-5.08587966e-01,  2.72457681e+00,  1.14805030e+00],
       [-9.99904519e-01,  2.58498965e+00,  1.14805030e+00],
       [-9.99904519e-01,  2.58498965e+00,  1.14805030e+00],
       [-1.36600960e+00,  2.20998139e+00,  1.50000000e+00],
       [-1.74834051e+00,  1.92179746e+00,  1.50000000e+00],
       [-1.98865046e+00,  1.50577050e+00,  1.66671070e+00],
       [-2.23118833e+00,  1.11529104e+00,  1.66671070e+00],
       [-2.39795606e+00,  6.86936805e-01,  1.66671070e+00],
       [-2.48329031e+00,  2.35254514e-01,  1.66671070e+00],
       [-2.48429316e+00, -2.24416911e-01,  1.66671070e+00],
       [-2.40093055e+00, -6.76467242e-01,  1.66671070e+00],
       [-1.90159014e+00, -9.40188786e-01,  2.12132034e+00],
       [-1.69677955e+00, -1.27316109e+00,  2.12132034e+00],
       [-1.87406481e+00, -2.04202390e+00,  1.14805030e+00],
       [-1.87406481e+00, -2.04202390e+00,  1.14805030e+00],
       [-1.46753791e+00, -2.35123648e+00,  1.14805030e+00],
       [-1.46753791e+00, -2.35123648e+00,  1.14805030e+00],
       [-9.47853520e-01, -2.41900263e+00,  1.50000000e+00],
       [-5.20471296e-01, -2.72233175e+00,  1.14805030e+00],
       [-1.09448697e+00, -2.79322363e+00,  1.83697020e-16],
       [-1.09448697e+00, -2.79322363e+00,  1.83697020e-16],
       [-1.01117411e+00, -2.58060215e+00, -1.14805030e+00],
       [-1.12320489e+00, -1.79955849e+00, -2.12132034e+00],
       [-1.43434710e+00, -1.56289743e+00, -2.12132034e+00],
       [-1.69677955e+00, -1.27316109e+00, -2.12132034e+00],
       [-1.90159014e+00, -9.40188786e-01, -2.12132034e+00],
       [-2.04182360e+00, -5.75288100e-01, -2.12132034e+00],
       [-2.11271767e+00, -1.90850895e-01, -2.12132034e+00],
       [-2.11186481e+00,  2.00067519e-01, -2.12132034e+00],
       [-2.03929400e+00,  5.84191732e-01, -2.12132034e+00],
       [-1.89746970e+00,  9.48477062e-01, -2.12132034e+00],
       [-1.69120820e+00,  1.28055255e+00, -2.12132034e+00],
       [-1.42751405e+00,  1.56914105e+00, -2.12132034e+00],
       [-1.11534217e+00,  1.80444225e+00, -2.12132034e+00],
       [-9.99904519e-01,  2.58498965e+00, -1.14805030e+00],
       [-9.99904519e-01,  2.58498965e+00, -1.14805030e+00],
       [-5.08587966e-01,  2.72457681e+00, -1.14805030e+00],
       [ 1.69713917e-16,  2.77163860e+00, -1.14805030e+00],
       [ 1.69713917e-16,  2.77163860e+00, -1.14805030e+00],
       [ 1.29893408e-16,  2.12132034e+00, -2.12132034e+00],
       [ 1.02056596e-16,  1.66671070e+00, -2.49440884e+00],
       [-3.05836773e-01,  1.63841033e+00, -2.49440884e+00]])], [np.array([[-1.11534217e+00,  1.80444225e+00, -2.12132034e+00],
       [-1.42751405e+00,  1.56914105e+00, -2.12132034e+00],
       [-1.69120820e+00,  1.28055255e+00, -2.12132034e+00],
       [-1.89746970e+00,  9.48477062e-01, -2.12132034e+00],
       [-2.03929400e+00,  5.84191732e-01, -2.12132034e+00],
       [-2.11186481e+00,  2.00067519e-01, -2.12132034e+00],
       [-2.11271767e+00, -1.90850895e-01, -2.12132034e+00],
       [-2.04182360e+00, -5.75288100e-01, -2.12132034e+00],
       [-1.90159014e+00, -9.40188786e-01, -2.12132034e+00],
       [-1.69677955e+00, -1.27316109e+00, -2.12132034e+00],
       [-1.43434710e+00, -1.56289743e+00, -2.12132034e+00],
       [-1.12320489e+00, -1.79955849e+00, -2.12132034e+00],
       [-1.01117411e+00, -2.58060215e+00, -1.14805030e+00],
       [-1.09448697e+00, -2.79322363e+00,  1.83697020e-16],
       [-1.09448697e+00, -2.79322363e+00,  1.83697020e-16],
       [-5.20471296e-01, -2.72233175e+00,  1.14805030e+00],
       [-9.47853520e-01, -2.41900263e+00,  1.50000000e+00],
       [-1.46753791e+00, -2.35123648e+00,  1.14805030e+00],
       [-1.46753791e+00, -2.35123648e+00,  1.14805030e+00],
       [-1.87406481e+00, -2.04202390e+00,  1.14805030e+00],
       [-1.87406481e+00, -2.04202390e+00,  1.14805030e+00],
       [-1.69677955e+00, -1.27316109e+00,  2.12132034e+00],
       [-1.90159014e+00, -9.40188786e-01,  2.12132034e+00],
       [-2.40093055e+00, -6.76467242e-01,  1.66671070e+00],
       [-2.48429316e+00, -2.24416911e-01,  1.66671070e+00],
       [-2.48329031e+00,  2.35254514e-01,  1.66671070e+00],
       [-2.39795606e+00,  6.86936805e-01,  1.66671070e+00],
       [-2.23118833e+00,  1.11529104e+00,  1.66671070e+00],
       [-1.98865046e+00,  1.50577050e+00,  1.66671070e+00],
       [-1.74834051e+00,  1.92179746e+00,  1.50000000e+00],
       [-1.36600960e+00,  2.20998139e+00,  1.50000000e+00],
       [-9.99904519e-01,  2.58498965e+00,  1.14805030e+00],
       [-9.99904519e-01,  2.58498965e+00,  1.14805030e+00],
       [-5.08587966e-01,  2.72457681e+00,  1.14805030e+00],
       [ 1.69713917e-16,  2.77163860e+00,  1.14805030e+00],
       [ 1.83697020e-16,  3.00000000e+00,  1.83697020e-16],
       [ 1.69713917e-16,  2.77163860e+00, -1.14805030e+00],
       [-5.08587966e-01,  2.72457681e+00, -1.14805030e+00],
       [-9.99904519e-01,  2.58498965e+00, -1.14805030e+00],
       [-9.99904519e-01,  2.58498965e+00, -1.14805030e+00],
       [-1.11534217e+00,  1.80444225e+00, -2.12132034e+00],
       [-1.86513698e+00,  2.05018159e+00, -1.14805030e+00],
       [-2.39172957e+00,  1.81097478e+00,  1.83697020e-16],
       [-2.47916364e+00,  1.23924500e+00, -1.14805030e+00],
       [-1.98865046e+00,  1.50577050e+00, -1.66671070e+00],
       [-1.86513698e+00,  2.05018159e+00, -1.14805030e+00]]), np.array([[-1.20935164e-02, -2.77161221e+00, -1.14805030e+00],
       [-1.30899279e-02, -2.99997144e+00,  1.83697020e-16],
       [-1.20935164e-02, -2.77161221e+00,  1.14805030e+00],
       [-1.08838772e-02, -2.49438509e+00,  1.66671070e+00],
       [-5.20471296e-01, -2.72233175e+00,  1.14805030e+00],
       [-5.63354071e-01, -2.94663065e+00,  1.83697020e-16],
       [-1.20935164e-02, -2.77161221e+00, -1.14805030e+00]])], [np.array([[-1.98865046e+00,  1.50577050e+00, -1.66671070e+00],
       [-2.47916364e+00,  1.23924500e+00, -1.14805030e+00],
       [-2.39172957e+00,  1.81097478e+00,  1.83697020e-16],
       [-1.86513698e+00,  2.05018159e+00, -1.14805030e+00],
       [-1.98865046e+00,  1.50577050e+00, -1.66671070e+00]])]]


class SphereScene(ThreeDScene):
    def construct(self):
        self.camera.background_color = BLACK
        self.set_camera_orientation(phi=60 * DEGREES, theta=-102 * DEGREES)

        self.begin_ambient_camera_rotation(rate=0.5)

        color_idx = 0
        colors = [RED, BLUE, GREEN, YELLOW, PURPLE, WHITE, PINK]
        for regions in all_regions:
            for region in regions:

                polygon = Polygon(
                    *[np.array([x, y, z]) for x, y, z in region],
                    fill_color=colors[color_idx],
                    fill_opacity=1,
                    stroke_opacity=1,
                    stroke_width=1,
                    stroke_color=colors[color_idx],
                )

                self.add(polygon)
                self.wait(1)
            color_idx += 1


        sphere = Sphere(radius=2, resolution=12)
        sphere.set_color(RED)
        sphere.set_fill(RED,opacity=1)
        self.add(sphere)

        self.wait(10)


if __name__ == '__main__':
    with tempconfig({'quality': 'low_quality', 'preview': True}):
        scene = SphereScene()
        scene.render()


Additional media files

Images/GIFs

System specifications

System Details
  • OS Mac 15.1.1
  • RAM: 8GB
  • Python version (python/py/python3 --version): 3.11.10
  • Installed modules (provide output from pip list):
Package                Version
---------------------- -----------
click                  8.1.7
cloup                  3.0.5
Cython                 3.0.11
decorator              5.1.1
glcontext              3.0.0
isosurfaces            0.1.2
manim                  0.18.1
ManimPango             0.6.0
mapbox_earcut          1.0.2
markdown-it-py         3.0.0
mdurl                  0.1.2
moderngl               5.12.0
moderngl-window        3.0.3
networkx               3.4.2
numpy                  2.2.0
pillow                 11.0.0
pip                    24.3.1
pycairo                1.27.0
pydub                  0.25.1
pyglet                 2.0.20
PyGLM                  2.7.3
Pygments               2.18.0
pyobjc-core            10.3.2
pyobjc-framework-Cocoa 10.3.2
rich                   13.9.4
scipy                  1.14.1
screeninfo             0.8.1
setuptools             75.5.0
skia-pathops           0.8.0.post2
srt                    3.5.3
svgelements            1.9.6
tqdm                   4.67.1
typing_extensions      4.12.2
watchdog               6.0.0
wheel                  0.45.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the supplied Python reproduction and observing the rotating 3D sphere, polygon regions, and inner sphere. Trace the rendering and depth-occlusion entry points reached by this example; done means establishing whether the visibility behavior is expected or producing a confirmed correction with a reproducible test.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.