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