ManimCommunity / ManimCommunity/manim
Cylinders transparent below height = 1 on ThreeDAxes
- 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

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
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