看板 NTU-Exam 關於我們 聯絡資訊
課程名稱︰虛擬實境 課程性質︰選修 課程教師:歐陽明 開課學院:電資學院 開課系所︰資工所、網媒所 考試日期(年月日)︰2013.05.06 考試時限(分鐘): 試題 : Virtual Reality Mid-term Exam, May 6, 2013 1. (20%) Hierarchical animation using OpenGL Andy downloads a Human medical model from the internet, and he wants to make animation of this model using OpenGL, so he splits the model into many parts. But Andy doesn't know how to build model in OpenGL and let it stand. Please answer the following question: http://i.imgur.com/rEaBGH4.png (a.) (10%) How to combine each part to make model standing? Please write pseudo OpenGL code to complete it. Notice that you should use Body as root, and you need to consider that the model must be able to do other motion in design. (The following are functions you need, and you don't need to define any parameter.) (Function: glPushMatrix(), glPopMatrix(), glRoatef(), glTranslatef(), DrawHead(), DrawBody(), DrawRightArm(), DrawLeftArm(), DrawRightLeg(), DrawLeftLeg(), and any other OpenGL function is okay.) (b.) (5%) Andy thinks that the model is too small, and he wants the model bigger than a 50-meter-high wall in animation. Please briefly answer that how to enlarge the whole model. (c.) (5%) Andy thinks the model's head is so big that it looks weird. Please briefly answer that how to reduce the scale of head and let other parts unchanged. 2. Term project (5%) What is the term project you want to do for this semester? What kind of technical problems will you encounter and have to be solved? 3. (20%) In terms of graphics acceleration, there are at least two approaches been proposed, namely (1) parallel processing or SIMD, such as in the nVidia GeForce4 chip set, and (2) binary machines such as the PixelPlanes chip set. (a) (10%) There is a functon fast_calculate (A, B, C, x, y) which can be evaluated in parallel, where fast_calculate() can calculate A*x + B*y + C for each pixel position (x, y) in PixelPlanes. For a triangle defined by vertices (5, 9), (3, 2) and (10, 3), please write a parallel procedure using fast_calculate() to draw all the pixels (x1, y1) inside this triangle. (Hint: you have to determine whether (x1, y1) is inside of the triangle first, and for this case, what are the value of A, B, and C for this particular triangle. In general, what is the distance from (x1, y1) to the triangle edge?) (b) (5%) For 3D triangle vertices A(5, 9, 0), B(3, 2, 0) and C(10, 3, 0), how to use Z-buffer algorithm in Pixel Planes for visibility testing? Hint: Z-buffer algorithm: (a) Initialize frame_buffer [1000, 1000] to be all very big numbers (far from view point). For a pixel (x, y) located inside a triangle, (b) If it is closer (its Z value) to the view point (human eye), then paint this pixel with its color. At the same time, set frame_buffer (x, y) = Z value. (c) Otherwise, don't paint this pixel. 4. (15%) Assume that a Google glass VERSION G has (i) camera (ii) lens on the right eye, that can reflect images from a Android phone, through a prism, for head-up display (iii) a Microsoft Kinect depth camera. (iv) Blue-tooth for near field communication (v) a GPS sensor. Hint: how to make the images from Android phone to be projected to your right eye through a prism? (a) (10%) Although the exact configuration is not yet disclosed, please draw a design (sketech diagram) so that every module is connected, and in its correct positions. (b) (5%) Please give one example of its possible cool usage, especially those that are not yet mentioned in the Internet introduction. 5. Augmented Reality (10%) (a) (5%) What's Augmented Reality (AR) and Mixed Reality (MR)? (b) (5%) Design an AR application. Please describe in detail about the motivation, hardware/software system, and operating scenario of your design. 6. Force-feedback devices (15%) Agent Mulder build his 3D sculpting system with a force-feedback joystick. The pseudo code of his main algorithm is the following: ┌───────────────────────────────────┐ │while(sculpting){ │ │ Do the "collusion detection" with current sculptor position │ │ Calculate the "feedback force" and set it to force-feedback device│ │ Modify the 3D scene │ │ Render the 3D scene │ │} │ └───────────────────────────────────┘ (a) (5%) What are the parameters that the force feedback device needs to send them back to the computer to simulate the force system? Can you write down and explain the formula for simulating the force feedback system with previous parameters? (b) (5%) Let's simulate a "rock" wall (hard surface) using such a spring system using a large spring constant K = 100000 NT/m. Do you think it is a good system design? What are the potential problems? Hint: (for a system to be stable: Sampling period T <= B/K, where B is the total system viscosity, K is the total system stiffness.) (c) (5%) For the problem in (b), can you think of ways to actually simulate a hard surface in virtual reality? 7. (15%) The goal of 3D sound is to simulate the direction and distance of a sound source in a real world. (a) (5%) Please explain how to reduce the (big) engine noise in an airplane for the pilot wearing a headphone, while listening to music. (b) (10%) The following is the shape of your study room, and you want to hear the music (without wearing a headphone) exactly as it was generated in the opera house in Paris, France. Can it be done? How? Hint: use head related transfer functions (HRTF) and its measurements, then write down each steps to achieve this goal. http://i.imgur.com/xFOTU0t.png -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.152.36 ※ 文章網址: https://www.ptt.cc/bbs/NTU-Exam/M.1436624254.A.E3E.html
rod24574575 : 已收資訊系精華區! 07/11 22:18
t0444564 : 好強, 居然有這麼多年的?! 07/12 15:52