ManimCommunity / ManimCommunity/manim

Cylinders transparent below height = 1 on ThreeDAxes

Open
#2,474 0 comments 0 reactions 0 assignees View on GitHub
issue:bug
Dominant language
Python
Stars
40.9k
Forks
3.1k
Avg merge
3d 12h
Merged PRs (30d)
25

Description

## Description of bug / unexpected behavior
When manim.mobject.three\_dimensions.Cylinder is created over a ThreeDAxes has its height set to any value below 1, it becomes semi-transparent and the axes shows through. Above 1 it is opaque and does not show axes through the object.

I am using manim v0.13.1

## Expected behavior
I expected the cylinder to be opaque below 1 height, however it is not.

## How to reproduce the issue

Code for reproducing the problem

```py
from manim import *

class cylinder_test(ThreeDScene):
def construct(self):
axes = ThreeDAxes()
cylinder1 = Cylinder(radius=2, height=.2)
cylinder1.set_color(RED)
self.set_camera_orientation(phi=75 * DEGREES, theta=30 * DEGREES)
self.add(axes)
self.play(FadeIn(cylinder1))
self.wait(15)
```

## Additional media files

https://user-images.githubusercontent.com/80993792/150374208-f05908f3-5b9d-46f1-9ace-d17b5af10770.mp4

## Logs

## System specifications

System Details

- OS (with version, e.g Windows 10 v2004 or macOS 10.15 (Catalina)): Windows 11
- RAM: 32g
- Python version (`python/py/python3 --version`):3.10
- Installed modules (provide output from `pip list`): none
```
PASTE HERE
```

LaTeX des>LaTeX detailstails

![image](https://user-images.githubusercontent.com/80993792/150374789-7590ab15-f4c8-44f6-a821-08dac1f3cec0.png)

FFMPEG

Output of `ffmpeg -version`:

ffmpeg version 4.4.1-essentials_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 11.2.0 (Rev1, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100

```
PASTE HERE
```

## Additional comments

Contributor guide

Open the contributing guide

Research direction

Start at manim.mobject.three_dimensions.Cylinder and reproduce the issue with the provided ThreeDScene example, comparing height=.2 with a value above 1. Investigate why the cylinder becomes semi-transparent over ThreeDAxes, then verify that cylinders below height 1 render opaque without the axes showing through.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-graphics
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.