1. Homepage
  2. Programming
  3. 159.235 Programming for Computer Graphics - Assignment 3 - A 3D Graphics Scene

159.235 Programming for Computer Graphics - Assignment 3 - A 3D Graphics Scene

Engage in a Conversation
New ZealandMassey UniversityProgramming for Computer GraphicsA 3D Graphics SceneJavaOpenGL

159.235 Assignment 3 - A 3D Graphics Scene CourseNana.COM

This assignment covers the concepts of coordinate transformations (in homogeneous coordinates), ray tracing, illumination, shading, and texture mapping. The necessary theory is discussed in the lectures together with programming tips. CourseNana.COM


CourseNana.COM


CourseNana.COM

Getting started CourseNana.COM

The Stream site provides some startup .java code together with some images you can use as texture maps. You can find this under the “Assignment 3” section. CourseNana.COM

  • Bring up IntelliJ and create a new project - call it Assignment3 (or whatever). Create a new package called nz.ac.massey.a3.
  • Copy all the .java files from Stream in to the package folder in IntelliJ.
  • Copy the images into the top level folder of your project
  • Run Main.java from IntelliJ. You should see a JPanel/JFrame with a little blue square at the centre. This is the view of the graphics scene comprising a single plane surface from the point-of-view of an imaginary camera placed on the z-axis and looking down. Try changing the camera and target positions and see what happens.
  • Have a look at the code and read the comments and figure out what is going on. Note that the planar surface is rendered by the ray tracing method.

Going further CourseNana.COM

The next steps are to try and render other shapes, and implement shading, colouring, and texture mapping. CourseNana.COM

  • Complete the implementation of the placeModel() method in the Placement class. This will set up the transformations to/from local to world space. Once this method is set up, try changing the position, orientation, and size of the unit plane surface.
  • Now try and draw a sphere. You will need to complete the ray intersection computation in the Sphere class which is a subclass of SurfaceGeometry. You should see the sphere rendered as a filled circle on your display.
  • Complete the shading to include the ambient, diffuse, and specular reflection terms according to the Phong reflection model. You need to take into account the position of ray intersection with the surface as well as the positions of the light source and view point. Implement this in the Material class.
  • Complete the texture mapping procedure so that a 2d image can be pasted onto any of the surfaces (planar and spherical). Do this by making a TextureMap class in TextureMap.java.
  • Try and create 6 planes and manipulate them so that they form the 6 faces of a cube. Place the cube in the scene by treating it as a compound figure.

Requirements CourseNana.COM

With these tasks complete, use your project to generate a 3D graphics scene comprising planar and spherical surfaces. It is possible to create impressive scenes using just these two types of surfaces. To get high/full marks, you should also implement shadowing. CourseNana.COM

Marking CourseNana.COM

Basic surfaces
You will receive the marks as indicated, if your graphics scene showcases the following:
CourseNana.COM

  • A plane surface with a texture pasted on it.
  • A uniform colour sphere with a shiny surface (ie specular highlight)
  • A sphere with a texture pasted on it (eg the beachball)

[4 marks] CourseNana.COM

[4 marks] CourseNana.COM

[4 marks] CourseNana.COM

• The visible faces of a uniform colour cube correctly placed and shaded. The cube should be located at any arbitrary position in the scene—not just aligned with the principle axes in the world coordinates. CourseNana.COM

[5 marks] CourseNana.COM

Graphics Scene CourseNana.COM

Here you can create a scene using several instances of planes, spheres, and cubes. Marks will be awarded for initiative. Be creative! CourseNana.COM

[4 marks] CourseNana.COM

Shadowing CourseNana.COM

Full marks here will be earned if you can show shadows of objects in your scene. Here we are using just a single point source of light for illumination. You can place this at any suitable location in the scene. Use of ambient light can soften the shadows. CourseNana.COM

[4 marks] CourseNana.COM

Note CourseNana.COM

This assignment is to be completed using the ideas discussed in the lectures together with your own Java programming skills. You are not being asked to do your own research in advanced APIs. Do not use Java 3D, OpenGL, Vulkan, DirectX, Blender, etc. CourseNana.COM

A graphical user interface is not required in this assignment. Your program should directly display the rendered scene to the screen upon running the program. An additional class Display is provided to do that. CourseNana.COM

  CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
New Zealand代写,Massey University代写,Programming for Computer Graphics代写,A 3D Graphics Scene代写,Java代写,OpenGL代写,New Zealand代编,Massey University代编,Programming for Computer Graphics代编,A 3D Graphics Scene代编,Java代编,OpenGL代编,New Zealand代考,Massey University代考,Programming for Computer Graphics代考,A 3D Graphics Scene代考,Java代考,OpenGL代考,New Zealandhelp,Massey Universityhelp,Programming for Computer Graphicshelp,A 3D Graphics Scenehelp,Javahelp,OpenGLhelp,New Zealand作业代写,Massey University作业代写,Programming for Computer Graphics作业代写,A 3D Graphics Scene作业代写,Java作业代写,OpenGL作业代写,New Zealand编程代写,Massey University编程代写,Programming for Computer Graphics编程代写,A 3D Graphics Scene编程代写,Java编程代写,OpenGL编程代写,New Zealandprogramming help,Massey Universityprogramming help,Programming for Computer Graphicsprogramming help,A 3D Graphics Sceneprogramming help,Javaprogramming help,OpenGLprogramming help,New Zealandassignment help,Massey Universityassignment help,Programming for Computer Graphicsassignment help,A 3D Graphics Sceneassignment help,Javaassignment help,OpenGLassignment help,New Zealandsolution,Massey Universitysolution,Programming for Computer Graphicssolution,A 3D Graphics Scenesolution,Javasolution,OpenGLsolution,