🔮 Crypto 3D Sphere Terminal (crypto-3d)
Aplicación para terminales (Windows, macOS, Linux) que muestra esferas 3D volumétricas en tiempo real, dibujadas como ASCII art a color, con logotipos en relieve proyectados sobre la superficie curva, iluminación física Blinn-Phong, transiciones degradadas suaves (morph/cross-dissolve) y datos de mercado en vivo para Bitcoin (BTC), Ethereum (ETH) y Litecoin (LTC).
La escena se sombrea como una imagen RGB real y luego se resuelve a caracteres sueltos sobre negro. Dos canales llevan la imagen: la densidad sostiene la silueta (la cara oscura pierde glifos, la iluminada los agolpa) y el color separa cuerpo de emblema — la esfera va teñida y tenue, el logo va blanco. Los glifos están anclados a la superficie, así que viajan con el giro en lugar de quedarse como una rejilla fija.
🌟 Características
| Característica | Descripción |
|---|---|
| 🔠 Esfera de caracteres | Dígitos sueltos sobre negro: la forma sale de cuántos sobreviven y de su brillo, no de un degradado de símbolos. El fondo son espacios, así que la esfera flota en tu terminal en vez de vivir dentro de un rectángulo pintado |
| 🌐 Esfera volumétrica por trazado de rayos | Intersección analítica rayo–esfera y normal 3D por píxel, con corrección de la relación de aspecto de la celda del terminal |
| 💎 Logos vectoriales con relieve real | Cada marca se hornea como campo de distancia con signo y biselado; su gradiente perturba la normal (bump mapping), así que el logo capta su propio brillo especular en vez de ser una mancha de color |
| 🪙 Grabado en las dos caras | Cada moneda lleva el logo en ambos polos: al girar, la marca vuelve dos veces por vuelta en lugar de desaparecer media rotación |
| ✨ Iluminación de estudio | Luz principal + relleno + reflejo especular Blinn-Phong + borde Fresnel + reflexión de entorno con horizonte y tono fílmico ACES |
| 🔄 Transición degradada | Disolución cruzada de texturas y color que viaja por la rueda cromática con un destello metálico a mitad de camino, en vez de pasar por un marrón muerto |
| 📈 Precios y métricas en vivo | CoinGecko en hilo aparte: la red nunca bloquea un fotograma |
| 📊 Ticker de las tres monedas | BTC, ETH y LTC a la vez, con la activa resaltada |
| 🖥️ Adaptativo | El tamaño de la esfera se ajusta al alto del terminal; la animación va por reloj, así que la velocidad es la misma a 12 o a 60 FPS |
| 🚀 Sin dependencias de cálculo | Todo en Python puro: solo rich y requests |
🚀 Instalación y Uso Rápido
Todavía no está publicado en PyPI. El nombre
crypto-3destá libre, así quepip install crypto-3dhoy falla con 404. Usa la instalación local.
Opción 1: Instalación local como comando global
Desde la carpeta del proyecto:
pip install -e .
Eso deja disponibles crypto3d, crypto-3d y btc3d en cualquier terminal.
Opción 2: Ejecución directa
-
Instala las dependencias:
pip install -r requirements.txt
o
pip install rich requests
-
Ejecuta la aplicación:
python -m crypto_3d.cli
o en Windows con el archivo
.bat:crypto3d.bat
⚙️ Argumentos de Línea de Comandos
| Argumento | Alias | Descripción | Ejemplo |
|---|---|---|---|
--coin |
-c |
Empieza en una moneda concreta | crypto3d --coin eth |
--fps |
-f |
Fotogramas por segundo objetivo (1–60, por defecto 24) | crypto3d --fps 30 |
--rows |
-r |
Alto de la esfera en filas (por defecto: según el terminal) | crypto3d --rows 18 |
--cell-aspect |
Alto/ancho de la celda del terminal, por defecto 2.0 | crypto3d --cell-aspect 1.85 |
|
--glyphs |
-g |
Caracteres de la esfera: digits, hex, binary o ticker |
crypto3d -g hex |
--static |
-s |
Sin rotación | crypto3d --static |
--freeze |
Se queda en una moneda, sin ciclar | crypto3d -c btc --freeze |
|
--no-donations |
Oculta las direcciones de tips | crypto3d --no-donations |
Ejemplos
crypto3d --coin eth --fps 30
crypto3d -c ltc --freeze
Si la esfera no sale redonda
Depende de la relación alto/ancho de la celda de tu terminal. Windows Terminal y la mayoría de fuentes monoespaciadas están cerca de 2.0, que es el valor por defecto. Si la ves achatada, sube el valor; si la ves estirada, bájalo:
crypto3d --cell-aspect 1.85
Tamaño de terminal
Maximiza la ventana. La esfera se dimensiona a lo que quede libre, así que el tamaño del terminal es lo que decide la resolución:
| Terminal | Esfera | Columnas laterales | Donaciones |
|---|---|---|---|
| 60×24 | 22×11 | no caben | no caben |
| 80×28 | 36×18 | sí | no caben |
| 120×40 | 50×25 | sí | sí |
| 160×50 | 70×35 | sí | sí |
| 200×60 | 90×45 | sí | sí |
A partir de unas 72 columnas el ticker y las cifras de 24 h se mueven a dos columnas laterales junto a la esfera: eso llena el hueco y devuelve tres filas a la animación. Por debajo vuelven a apilarse debajo, porque las columnas ahogarían la esfera. Si el alto no da para una esfera legible, el bloque de donaciones se retira solo y le cede sus filas. Si redimensionas la ventana en marcha, todo se recalcula al vuelo.
🛠️ Añadir al PATH de Windows (Atajo Global Local)
Para escribir crypto3d desde cualquier carpeta sin instalar desde PyPI:
- Abre el Símbolo del Sistema (CMD) como Administrador.
- Ejecuta:
setx PATH "%PATH%;C:\Ruta\A\Tu\Carpeta"
☕ Donaciones
Si te gusta el proyecto y deseas apoyar su desarrollo:
| Criptomoneda | Dirección |
|---|---|
| ₿ Bitcoin (BTC) | bc1q54wksh4fqhcfdwmlvp9x6g4wzgqt3u2kxds33c |
| Ξ Ethereum (ETH) | 0x94e0eb2b6f30c5e41Df5bb60Ad24Df3B2C58C9bd |
| Ł Litecoin (LTC) | ltc1qcfwweu62kee4y42r34kj7fpqa39xya5zjk9y6v |
Made with love for my crypto bros ❤️
📄 Licencia
MIT License © 2026
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file crypto_3d-1.0.0.tar.gz.
File metadata
- Download URL: crypto_3d-1.0.0.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5581e9295f229c0a869b0b66ad4efe1926e8d50dfd204211fc7b6582d2e7764
|
|
| MD5 |
39b9ab286115299b21786b9f2f8a66af
|
|
| BLAKE2b-256 |
06d5bdd386a9336b30ca8b3469c71dbe5dd57c7b16964d24fa06351107e150d0
|
File details
Details for the file crypto_3d-1.0.0-py3-none-any.whl.
File metadata
- Download URL: crypto_3d-1.0.0-py3-none-any.whl
- Upload date:
- Size: 28.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c8c5b32bb6749b334f162f71cd04ed8d0e9a5b0f8c7f8f296f8100483b31b38
|
|
| MD5 |
a9b00935e9eb0d2d632c3262b4dd39a5
|
|
| BLAKE2b-256 |
5a8e6e5608145e051b72b8ef5f1fc7ab57e7eb17d48ede2caae80d164abd36dd
|