首页 > 其他分享 >COM6503: 3D Computer Graphics:

COM6503: 3D Computer Graphics:

时间:2024-12-27 18:52:39浏览次数:5  
标签:will scene texture should COM6503 window Computer Graphics robot

 

COM6503: 3D Computer Graphics: Assignment 1 (40%) Dr Steve Maddock

Deadline: 3pm, Wednesday 11 December

  1. IntroductionThe assignment will involve using modern OpenGL to render a scene. Scene graphs are required in themodelling process and animation controls are required for hierarchical models.
  1. Learning outcomeAfter completing this assignment, you will be able to:
  • Use data structures and mathematics in representing and manipulating 3D objects
  • Produce interactive software that makes use of a graphics APIFigure 1. The scene – a room on a spaceship with a view of space out of thewindow. The dashed blue arrows show the rotation of the spotlight on top of thesmall robot (robot 2) and the rotation of the globe.Name2RequirementsFigure 1 shows a scene set in a room on a

spaceship. The whole scene should be modelledusing transformed flat planes, cubes and spheres.The view through the window is space (i.e. stars,etc).You must satisfy allthe following requirements.

3.1 The room

In Figure 1, the room is made of three walls anda floor. The wall nearest to the viewer is not

modelled. The room size is your choice.

The left wall has a window in it.

  • The back wall has a texture added to it. Thistexture includes a large shiny text message of aname. You should use part of your name for this,e.g. for me, I would choose ‘Steve’. A diffuse anda specular map will be required. The specularmap will make the name part appear shiny incontrast to the rest of the wall. You must createthe diffuse and specular maps. These texturesshould be stored in files callediffuse_name.jpgand specular_name.jpg in the assets/texturesfolder, where your chosen name part is used inthe filename so they are easy to find and check,e.g. diffuse_steve.jpg and specular_steve.jpg.The right wall has a repeating texture added to it.Here, a picture of a bug is used (as illustrated inFigure 2, which repeats four times in onedirection and three times in the other). Youshould make your own choice oftexture. It mustrepeat over the wall, i.e. the wall is not a singletexture image containing multiple pictures.The floor should be textured. You choose a

texture. However, it should also feature a serieof thick lines in any colour you choose. Thissequence of lines is the path a robot needs tofollow.A ceiling is not shown butshould be added tomake the scene lookbetter.This should beextured too. You choose the texture.

3.2 The window and the view

  • The left wall in the room is a large window.
  • An outside scene of space (i.e. stars, etc) can beseen through the window. Consider how youmight do this: Should the scene be a texture mappasted onto the wall to look like a fake windowand a scene? O代写COM6503: 3D Computer Graphics:  should there be a hole in the wallfor the window and a texture map is pasted ontoa plane that is a certaindistance outside thewindow (as illustrated in Figure 1)? Should thewindow have a frame? Or should the window bethe size of the whole wall with a simple smallframe around the edges? Should a box oftextures be added outside the window so atexture can be seen at all angles when lookingout of the window? Or should a skybox be usedthat is outside the whole room rather than a

separate plane with a texture map on it?

  • Depending on the approach you choose, howthrough the window?)
  • The scene outside the window should changeover time whilst the program is running, e.g. thetars and planets move.
  • The quality of what you produce for this part ofthe scene will be part of the marking. Somealternatives indicated above are more advancedhan others. You must choose what to try.

3.3 The robots

  • There are two robots, both modelled as scenegraph hierarchies. Both are made up oftransformed spheres and/or cubes.Robot 1, the dancing robot, is at the back leftofthe room in Figure 1.Robot 2, the small robot, is on the track on thefloor at the right side of the room in Figure 1.

Robot 1 should feature a base, three parts thatform the leg and body, two arms and a head, asillustrated in Figure 1. Each of the parts canFigure 3. Some poses of robot 1, the dancing robot.Figure 2. A bug texture in a repeating pattern.3articulate to make the robotdance, as illustratedin Figure 3, which shows three poses.

  • The head of robot 1 should be your own design.It must have a minimum of 4 pieces. Figure 4gives a few possible designs. Again, this is achance to show some creativity.
  • Robot 2, the small robot, has a body, two eyesand an antenna. The antenna has a spotlightattached to it which is made of two transformedspheres, one for a small bulb and one for itsasing (alternatively called its holder) – these areshaded as white and grey, respectively, in Figure
  1. You can choose to vary the look of thespotlight, but it must feature a bulb and a casingfor the bulb. The two together indicate whichdirection the spotlight is pointing in and thuswhere the pool of light from the spotlight shouldappear in the scene.
  • Robot 2, the small robot, continually follows thepath of grey lines on the floor, with its two eyesshowing the forward direction.When robot 2 reaches a corner in thepath, itchanges direction to follow the new line.The hierarchy and associated transformationsare more important than the quality of thindividual pieces in each of the robot hierarchies.Transformed spheres and cubes must be used. Int you to demonstrate that you understandtransformations and a scene graph hierarchy.You must texture-map both robots. You mustdecide on which textures to use. You cannot usethe same texture(s) on each robot.
  • I’ll be looking for a little creativity in theanimation for each robot. For example, howshould robot 1 perform its dance? How should itsparts move with respect to each other? Perhapssome cartoon effects could be used, e.g. headparts appearing to enlarge or move position forparts of the dance? For robot 2, when it reachesa corner, how should it turn? Should it lean alittle to one side? Or spin in some way?

3.4 Spotlight

  • Robot 2 has a bright white spotlight attached tothe top of its antenna. The dashed lines in Figure1 are to illustrate where this spotlight is. Thesedashed lines would not be seen in the realeffect!!

The spotlight continuously rotates around the

top of the antenna whilst robot 2 moves. Thus,different parts of the scene will be illuminated bythe spotlight as robot 2 moves. (The spotlightstops rotating when robot 2 stops moving.)This is an advanced requirement as you areresponsible for working out how to implement aspotlight effect.

3.5 The globe

  • This is made of transformed spheres (one for theglobe and one for the central axis) and atransformed cube (for the pedestal).The globe continually rotates about the centralaxis.
  • The texture map for the globe must look likeplanet Earth or a cartoon version of it. You willneed to find a texture to show this or draw acartoon version of it yourself.
  • The stand for the globe also needs to be texturemapped. Try to be creative with this.

3.6 General illumination

  • The scene should be illuminated with a generalworld light which can be positioned anywhere inthe scene.This general world light will illuminate all parts ofthe sceneWhen you switch off the general light (using an

interface option – see the next section), theeffects of the spotlight will be much clearer.

  • (You can include more than one general light ifyou wish.)
  • You do NOT have to do shadows. Do not worryabout shadow effects. (The general world lightwill illuminate all polygons with a normalpointing towards it and the spotlight willilluminate all objects in the direction it is pointingin which are inside its spotlight area as there areno shadow effects to show light not reachingparticular points.)3.7 User interface
  • A user-controlled camera should be positioned ithe scene. Use the camera that was given in theFigure 4. Some possible head designs for robot 1.4utorial material – the mouse can be used tochange the direction the camera is pointing in,and the keys can be used to move about. Do notchange the key mappings from the ones in thetutorial. If you change the key mappings, it willmake it difficult to mark. It doesn’t matter thatthe camera can move and see outside the room.It should be possible to turn the general light onand off (or, more creatively, dim it, i.e. reducethe intensity) from the interface.
  • It should be possible to turn the spotlight (lamp

bulb) on and off (or, more creatively, dim it, i.e.

reduce the intensity) from the interface.

  • Robot 1’s dancing animation should start whenrobot 2 is ‘near’ to it and stop when robot 2 is not‘near’ to it. You decide how near it needs to be.You will need to implement a proximity test(based on distance) to do this.

 should also add buttons on the interface, soyou can start and stop robot 1’s dancingroom!!

  • It should be possible to stop and start robot 2’smovement - the spotlight stops rotating whenobot 2 stops moving. You need to implementinterface controls to do this.

There is no need to stop and start the globerotation. This just continually rotates.

3.8 Animation

  • Some of the animations are not straightforwardand you may decide not to do them, althoughthat would affect your marks for animation.
  • Use Euler angles for the animation. Do notconsider using quaternions, as this is beyond therequirements for this assignment.Deliverables
  • You should submit a zip file containing a copy oyour program code (and any other necessary
  • You should submit whatever you have done,even if you have not completed all therequirements – for example, you might haveproduced a model of the scene but not done theanimation. If you submit nothing, you cannotreceive any marks.
  • The program MUST compile and run from thecommand window on a Windows PC or the terminal window on a Mac. You should assumethat the jogl environment (and paths) hasalready been set up (on my machine), so you donot have to include this as part of what you handI won’t install ‘YetAnotherIDE’ to make yourprogram work; I want to compile and run theprogramfrom a command (or terminal) windowusing the standard javac and java commands.You must include appropriate comments toidentify parts of the code that you wrote, e.g.* I declare that this code is my own work */

* Author <insert your name here> <insert your emailaddress here> */. This could be done around majorchunks of code and/or at the start of a class toidentify the main changes you made.You can make use of all the code that I have givenyou in the tutorial material. However, use yourcomments to state which bits/chunks/files arenew.

The body of the Blackboard submission messageshould state that the work you have handed in isyour own in addition to the code that wassupplied in the tutorial material.

The name of the main class in your prograshould be Spacecraft. That way it is easy for meto compile and run the program. (In previousyears, where this has been ignored, I havewasted time for some handins trying to work outwhich was the main class touse.)Optional: You might like to make a short video ofyour animation. If you do so, DO NOT include thisin the handin as it will be too big for Blackboardto handle – we tried using Blackboard for this in

 acareer in the graphics/games industry, then youshould be adding such animation pieces to yourpersonal website (your digital portfolio) to showoff what you are capable of.MarkingI will check that the program meets therequirements listed above. The program must compile and do some part of the work requested 5even if it is not complete. Your program will be ruand exercised thoroughly.In considering the requirements, four aspects illbe considered (including the quality of the  foreach aspect):29 marks) Modelling the scene: Each robot mustbe a hierarchical model. Is there a spotlightmodel ttachedto robot 2’s antenna? Is there aglobe? How is the room modelled? (Considerdrawing scene graphs for the scene beforestarting to program.)(28 marks) Texturing:Use of texture mapping inthe scene, e.g. basic texture mapping, use ofdiffuse and specular textures, extra texturingeffects, e.g. the changingviewthrough thewindow.(15 marks) Lighting and interface controls: alllights should behave correctly such that theireffect is seen on the scene. Allnecessaryinterfacecontrols, asdescribed in the abovespecification, should be included.

  • (28 marks) Robot 1 and 2 animations. Spotlightanimation. Animation for the globe. Is all theanimation smooth rather than jerky?
  1. Unfair meansThe School’s student handbooks (UG and PGT)give detailed information on the topic of unfairmeans and what happens if unfair means is used.
  • Some students in previous years have placedsolutions of their assignments on their personalworld-readable websites/GitHub – wherepossible, they have been asked to take thesedown. Be careful you are not attracted to these,as using any of their code would be regarded asuse of unfair means – this has happened inprevious years and students have failed themodule because of doing this.

标签:will,scene,texture,should,COM6503,window,Computer,Graphics,robot
From: https://www.cnblogs.com/MATH1131/p/18636019

相关文章

  • ELEC362 location personal computer
    Page1of5DepartmentofElectricalEngineeringandElectronicsELEC362ProjectDataVizversion0.4HELevel5Lablocationpersonalcomputers/laptops,universityremotecomputerWorkIndividual*Estimatedtimetofinish40hours(codingandtesting)Assessme......
  • CS305 Computer Networks
    CS305ComputerNetworksProject:RemoteMeetingIntroductionVideomeetingshavebecomeessentialintoday’sdigitallandscape,transforminghowpeopleconnect,collaborate,andcommunicate.Withtheriseofremotework,onlinelearning,andglobalpartne......
  • CSC1001: Introduction to Computer Science
    CSC1001:IntroductiontoComputerScienceProgrammingMethodologyAssignment4Assignmentdescription:Thisassignmentwillbeworth10%ofthefinalgrade.Foreachquestion,writeyourcodeinthecorresponding.pyfile(i.e.,forquestion1,useq1.py).Once......
  • C# Graphics 中如何快速反转Y轴坐标系,方便后续绘图
    这段时间搞东西发现C#Windows库里没有了以前C++中修改坐标系的一些API,比如  SetViewportExtEx, SetWindowExtEx这些东西。众所周知,在Windows系统中,坐标系的原点是从左上角开始为(0,0)的,Y轴越下值越大。这与现实生活中场景,低的Y才是0,向上Y值会越来越大,正好相反。 如......
  • QGraphicsScene保存图片
    QGraphicsScene保存图片1importsys2importtime3fromPySide6.QtCoreimport*4fromPySide6.QtGuiimport*5fromPySide6.QtWidgetsimport*67classMyQWidget(QWidget):8def__init__(self,parent=...,f=...):9super().__init......
  • ECE3080 Microprocessors and Computer SystemsP
    ECE3080MicroprocessorsandComputerSystemsProject2024-2025Term1ECE3080MicroprocessorsandComputerSystems–MiniProjectObjectivesInthisminiproject,wewillspendthe3-weeksessiononthefollowing:Todesignandbuildupa2-playerbouncing......
  • CE235 Computer Security Bitcoin
    Assignment2:BlockchainandMiningwithProof-of-workforBitcoinCE235ComputerSecurityIntroduction1.1BitcoinMiningBitcoinisacryptocurrency.IntheBitcoinsystemBitcoinsareminedthroughproof-of-workmechanism.Bitcoinminersaregiven......
  • CCIT4020 Introduction to Computer
     CCIT4020IntroductiontoComputerProgrammingAssignment3–SectionCGeneralguidelines:Useconciseanddirecttechniques/programcodeswelearninourcourse.Uselessorover-complicatedtechniques/programcodesmaybeignoredorpenalized.Stud......
  • CS 0447 Computer Organization and Assembly
    CS0447ComputerOrganizationandAssemblyLanguageMidtermProject–Connect4IntroductionInthisproject,youwillimplementa2playergameinMIPSassembly:Connect4akaFour-in-line.Thegameconsistsaboardrepresentingtheplayarea.Twoplaye......
  • COMP42215 Introduction to Computer Science
    INTRODUCTIONTOCOMPUTERSCIENCE2024/2025MastersProgrammesCourseworkAdministrativeDetailsModule/LectureCourse:COMP42215IntroductiontoComputerScienceeadlineforsubmission:14:00Friday13thDecember2024Workreturned:WeekBeginning13th......