Fill This Form To Receive Instant Help

Help in Homework
trustpilot ratings
google ratings


Homework answers / question archive / Setting up morphing in java with control points, description of assignment attached CS335 Exercise 9: "JMorph" Phase I Due Sunday, 21 November  1

Setting up morphing in java with control points, description of assignment attached CS335 Exercise 9: "JMorph" Phase I Due Sunday, 21 November  1

Computer Science

Setting up morphing in java with control points, description of assignment attached

CS335 Exercise 9: "JMorph" Phase I Due Sunday, 21 November 
1. Introduction The goal of this project is to provide a user interface and backend driver that supports the specification and rendering of a piecewise (triangular) image morph between two images. Once specified, the morph will be rendered as a sequence of images that can be wrapped as a video (mp4) and used in standard video editing software. This first phase will develop graphical user interface support for specifying and previewing all the parameters (geometry, number of frames, start/end images, etc.) of the morph. The second phase will complete the backend image rendering of the framework. 
2. Features The morph is defined to be a piecewise linear mapping over time from a start image to an end image. The start and end images function as keyframes; this project will manage the specification of those keyframes and the algorithm to generate the tween frames of the mapping between the two frames. The user must specify three primary pieces of information to define the morph: position of control points in the starting image; position of control points in the ending image; the number of tween frames to render. 
In this phase you must support a 5x5 evenly spaced grid of control points on both the start and end images. The user must be allowed to re-position the control points by interactively dragging them with the mouse. You must devise a cue that indicates correspondence between the two sets of control points (which control point in the other image corresponds to the one I am dragging in this image?). Overall the user must be able to position any/all of the control points in each of the two images in order to define the piecewise mapping between the two images. The final position of the control points is the definition of the piecewise image warp: corresponding triangles in the two images (from a triangulation based on the control points) define a geometric warp of those triangles from the start position to the end position. You decide how the control points define the triangulation. 
The user must be allowed to set the number of tweens to render between the start and end keyframes. 
Once parameters are selected and control points have been positioned, the user must be allowed to preview the geometric warp as an animation. The preview should animate the control points moving over time from the start position to the end position. It is not necessary in this stage to apply the image warp to underlying images, or to render actual warped image frames to files. That will happen in the final phase. This phase should concentrate on the user interface and the specification/localization of the control points and warp parameters, and the preview of the defined piecewise warp. 
Design your project so that parameters can be changed. The 5x5 grid resolution is not ultimately fixed, but variable (in the next phase). Also, consider a way to save and restore projects (positions of points, the settings, the images being used, etc.), which is helpful for creating interesting morphs over lots of sessions. 
4. What to Turn In Name your IntelliJ project "Jmorph" and submit all relevant files as a single zip file to the canvas portal. 
 

Purchase A New Answer

Custom new solution created by our subject matter experts

GET A QUOTE