In this project you will create a unique 3 graphics scene composed of OpenGL graphic components using transformation methods.

1. Using Netbeans or Eclipse, develop a JOGL application that displays a unique 3D scene. The scene has the following specifications:
a. Size: minimum 640x480
b. Includes at least 6 different shapes
c. Uses at least 6 different transformation methods

2. Use Java and JOGL for your implementation of OpenGL

3. All Java source code should be written using Google Java style guide.

4. Prepare, conduct and document a test plan verifying your application is working as expected.
This plan should include a test matrix listing each method you tested, how you tested it, and the results of testing.

1. All Java source code used for this project. Code should adhere to the Google Java style guide.
2. Word or PDF file demonstrating with clearly labeled screen captures and associated well-written
descriptions, the successful execution of your 3D graphics scene. The document should be wellwritten, well-organized, include the test plan, include page numbers, captions for all screen captures, and a title page including your name, class, section number and date.

should be included for all sources used and formatted in APA style

Solution PreviewSolution Preview

These solutions may offer step-by-step problem-solving explanations or good writing examples that include modern styles of formatting and construction of bibliographies out of text citations and references. Students may use these solutions for personal skill-building and practice. Unethical use is strictly forbidden.

public class MyCube extends GLJPanel implements GLEventListener {

    public static void main(String[] args) {
       JFrame window = new JFrame("A unique 3D scene");
       MyCube panel = new MyCube();
       window.setLocation(50, 50);

    private GLJPanel drawable; // The OpenGL display panel.
    private int frameNumber;    // Current frame number, increases by 1 in each frame.
    private double size = 0.1;
    private double sign = 0.1;
    private GLUT glut = new GLUT();

    //-------------------- methods to draw the cube ----------------------
    double rotateX = 15;    // rotations of the cube about the axes
    double rotateY = -15;
    double rotateZ = 0;

    * Constructor for class MyCube.
    public MyCube() {
       drawable = new GLJPanel();
       drawable.setPreferredSize(new Dimension(640, 480));
       setLayout(new BorderLayout());
       add(drawable, BorderLayout.CENTER);
       // help to transform all objects
       Timer timer = new Timer(300, new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                rotateX += 15 * Math.random();
                rotateY += 15 * Math.random();
                rotateZ += 15 * Math.random();
                if (size >= 1.5) {
                   sign = -0.1;
                } else if (size < 0.2) {
                   sign = 0.1;
                size += sign;


By purchasing this solution you'll be able to access the following files:

for this solution

PayPal, G Pay, ApplePay, Amazon Pay, and all major credit cards accepted.

Find A Tutor

View available 3D Graphics Tutors

Get College Homework Help.

Are you sure you don't want to upload any files?

Fast tutor response requires as much info as possible.

Upload a file
Continue without uploading

We couldn't find that subject.
Please select the best match from the list below.

We'll send you an email right away. If it's not in your inbox, check your spam folder.

  • 1
  • 2
  • 3
Live Chats