How to resolve the algorithm Draw a cuboid step by step in the FreeBASIC programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Draw a cuboid step by step in the FreeBASIC programming language

Table of Contents

Problem Statement

Draw a   cuboid   with relative dimensions of   2 × 3 × 4.

The cuboid can be represented graphically, or in   ASCII art,   depending on the language capabilities. To fulfill the criteria of being a cuboid, three faces must be visible. Either static or rotational projection is acceptable for this task.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Draw a cuboid step by step in the FreeBASIC programming language

Source code in the freebasic programming language

#include once "GL/gl.bi"
#include once "GL/glu.bi"

dim rquad as single

screen 18, 16, , 2

glViewport 0, 0, 640, 480                      '' Reset The Current Viewport
glMatrixMode GL_PROJECTION                     '' Select The Projection Matrix
glLoadIdentity                                 '' Reset The Projection Matrix
gluPerspective 45.0, 640.0/480.0, 0.1, 100.0   '' Calculate The Aspect Ratio Of The Window
glMatrixMode GL_MODELVIEW                      '' Select The Modelview Matrix
glLoadIdentity                                 '' Reset The Modelview Matrix
glShadeModel GL_SMOOTH                         '' Enable Smooth Shading
glClearColor 0.0, 0.0, 0.0, 0.5                '' Black Background
glClearDepth 1.0                               '' Depth Buffer Setup
glEnable GL_DEPTH_TEST                         '' Enables Depth Testing
glDepthFunc GL_LEQUAL                          '' The Type Of Depth Testing To Do
glHint GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST    '' Really Nice Perspective Calculations
do
	glClear GL_COLOR_BUFFER_BIT OR GL_DEPTH_BUFFER_BIT      '' Clear Screen And Depth Buffer
	glLoadIdentity                                          '' Reset The Current Modelview Matrix
   	
	glLoadIdentity                                          '' Reset The Current Modelview Matrix
	glTranslatef 0.0, 0.0, -7.0                             '' Move Right 1.5 Into The Screen 7.0
	glRotatef rquad,1.0, 1.0, 1.0                           '' Rotate The Quad On The X axis ( NEW )
   		
	glBegin GL_QUADS                                        '' Draw A Quad
    glColor3f 0.0, 1.0, 0.0                              '' Set The Color To Blue
    glVertex3f 1.0, 1.5, -2.0                            '' Top Right Of The Quad (Top)
    glVertex3f -1.0, 1.5, -2.0                           '' Top Left Of The Quad (Top)
    glVertex3f -1.0, 1.5, 2.0                            '' Bottom Left Of The Quad (Top)
    glVertex3f 1.0, 1.5, 2.0                             '' Bottom Right Of The Quad (Top)
		    
    glColor3f 1.0, 0.5, 0.0                              '' Set The Color To Orange
    glVertex3f 1.0, -1.5, 2.0                            '' Top Right Of The Quad (Bottom)
    glVertex3f -1.0, -1.5, 2.0                           '' Top Left Of The Quad (Bottom)
    glVertex3f -1.0, -1.5, -2.0                          '' Bottom Left Of The Quad (Bottom)
    glVertex3f 1.0, -1.5, -2.0                           '' Bottom Right Of The Quad (Bottom)
		    
    glColor3f 1.0, 0.0, 0.0                              '' Set The Color To Red
    glVertex3f 1.0, 1.5, 2.0                             '' Top Right Of The Quad (Front)
    glVertex3f -1.0, 1.5, 2.0                            '' Top Left Of The Quad (Front)
    glVertex3f -1.0, -1.5, 2.0                           '' Bottom Left Of The Quad (Front)
    glVertex3f 1.0, -1.5, 2.0                            '' Bottom Right Of The Quad (Front)
		    
    glColor3f 1.0, 1.0, 0.0                              '' Set The Color To Yellow
    glVertex3f 1.0, -1.5, -2.0                           '' Top Right Of The Quad (Back)
    glVertex3f -1.0, -1.5, -2.0                          '' Top Left Of The Quad (Back)
    glVertex3f -1.0, 1.5, -2.0                           '' Bottom Left Of The Quad (Back)
    glVertex3f 1.0, 1.5, -2.0                            '' Bottom Right Of The Quad (Back)
		    
    glColor3f 0.0, 0.0, 1.0                              '' Set The Color To Blue
    glVertex3f -1.0, 1.5, 2.0                            '' Top Right Of The Quad (Left)
    glVertex3f -1.0, 1.5, -2.0                           '' Top Left Of The Quad (Left)
    glVertex3f -1.0, -1.5, -2.0                          '' Bottom Left Of The Quad (Left)
    glVertex3f -1.0, -1.5, 2.0                           '' Bottom Right Of The Quad (Left)
		    
    glColor3f 1.0, 0.0, 1.0                              '' Set The Color To Violet
    glVertex3f 1.0, 1.5, -2.0                            '' Top Right Of The Quad (Right)
    glVertex3f 1.0, 1.5, 2.0                             '' Top Left Of The Quad (Right)
    glVertex3f 1.0, -1.5, 2.0                            '' Bottom Left Of The Quad (Right)
    glVertex3f 1.0, -1.5, -2.0                           '' Bottom Right Of The Quad (Right)
    glEnd                                                   '' Done Drawing The Quad

	rquad -= 0.15                                     

	flip
loop while inkey = ""

  

You may also check:How to resolve the algorithm Pythagoras tree step by step in the uBasic/4tH programming language
You may also check:How to resolve the algorithm Averages/Arithmetic mean step by step in the Ruby programming language
You may also check:How to resolve the algorithm Prime triangle step by step in the Julia programming language
You may also check:How to resolve the algorithm Factors of an integer step by step in the Maple programming language
You may also check:How to resolve the algorithm Sort an integer array step by step in the Smalltalk programming language