0votos

Escribe el nombre de un lenguaje de programación o su logo en 3D y en ASCII en Haskell

por josejuan hace 2 años

Lo de ASCII no lo entiendo (¿el soporte para rasterizar la geometría en 3D? similar a esta solución de otro desafío http://www.solveet.com/exercises/Piramides-de-asteriscos/541/solution-2906 )

Escribe el nombre de un lenguaje de programación o su logo en 3D y en ASCII

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{-# LANGUAGE OverloadedStrings #-} 
import Data.List 
import Data.IORef 
import Graphics.Rendering.OpenGL hiding (Front) 
import Graphics.Rendering.FTGL                                        
import Graphics.UI.GLUT hiding (Front)                                
import System.IO                
import Control.Monad 
 
main :: IO () 
main = do 
  void getArgsAndInitialize 
  initialDisplayMode $= [DoubleBuffered] 
  createWindow "" 
  font ← createExtrudeFont "/usr/share/fonts/TTF/DejaVuSerif.ttf" 
  setFontFaceSize font 7 7 
  fsetFontDepth font 1.0 
  displayCallback $= display font 
  mainLoop 
 
display font = do 
  clear [ColorBuffer] 
  loadIdentity 
  frustum (-50) 50 (-50) 50 (-50) 50 
  let s = 0.02 :: GLdouble 
  scale s s s 
  ↱_(rotate 25) [vo 1 0 0, vo 0 1 0] 
  translate (vo (-50) 0 0) 
  ↰_[0,0.01…1] $ λk → do 
    color $ co (0.5 × k) (0.7 × k) k 
    renderFont font Front "return \"Haskell\" >>= print" 
    translate (vo 0 0 0.1) 
  swapBuffers  
  postRedisplay 𝑁 
   
vo :: GLdouble → GLdouble → GLdouble → Vector3 GLdouble; vo = Vector3 
vx :: GLdouble → GLdouble → GLdouble → Vertex3 GLdouble; vx = Vertex3 
co :: GLdouble → GLdouble → GLdouble → Color3  GLdouble; co = Color3 
2 comentarios
1votos

Escrito por josejuan hace 2 años

Por que se vea algo (mientras siga en el servidor...)
ejemplo
0votos

Escrito por AverageUser hace 2 años

Esta genial pero ASCII son los signos mas básicos, ahora subiré una solución échale un vistaso para que veas a que me refiero

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.