1 CS 248 Assignment 1 Paint Program CS248 Help Session #1 Ethan Dreyfuss Stanford University October 3, 2008 Original slides by Georg Petschnigg Modified.

Slides:



Advertisements
Similar presentations
Inpainting Assigment – Tips and Hints Outline how to design a good test plan selection of dimensions to test along selection of values for each dimension.
Advertisements

Chapter 6 Raster Editing
Incorporating Color Techniques
SuperStar Basics Brian Bruderer. Sequence Editors Traditional sequence editors use a large grid to control when channels are turned on and off. This approach.
CGA 115 Professor Mary A. Malinconico. Questions from Last Week ????????
Introduction to Multimedia
1 CS 248 Assignment 1 Paint Program CS248 Help Session #1 Eino-Ville Talvala Stanford University October 10, 2006 Original slides by Georg Petschnigg Modified.
Adobe Photoshop CS Design Professional TECHNIQUES INCORPORATING COLOR.
1 CS 248 – Project 1 Help Session (demo) (demo) Painting RGB and HSV sliders Brush visualization Weighted mask driven painting HSV checkboxes.
USER VERIFICATION SYSTEM. Scope Web Interface RGB separation Pervasive.
CS 248 Assignment 1 Paint Program Introduction to Computer Graphics Help Session presented by Georg Petschnigg Stanford University October 4, 2002.
1 CS 248 Assignment 1 Paint Program CS248 Help Session #1 Original slides by Georg Petschnigg Modified by: Sean Walker, Rene Patnode Stanford University.
Adobe Photoshop 6 Advanced Level Course. Easy Fixes Photoshop is the best tool to fix old, torn and faded photographs, and can fix almost all flaws in.
02/14/02(c) University of Wisconsin 2002, CS 559 Last Time Filtering Image size reduction –Take the pixel you need in the output –Map it to the input –Place.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Colour Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman
INF1090 Part Deux Photography- Photomanipulation.
Digital Images The digital representation of visual information.
GIMP Graphic Image Manipulation Program. GIMP Image manipulation software Free Open Source Written by two students First version in 1996.
Programming and Application Packages
Product Design Sketching Chromatic Theories. Color Spectrum The range of colors seen by human eye is the “visible color spectrum”
Instructor: Tina Tian. About me Office: RLC 203A Office Hours: Wednesday 1:30 - 4:30 PM or .
Adobe Photoshop CS5 – Illustrated Unit F: Working with Brushes and Color Effect.
Chapter 5 Creating an Image Map.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
Filtering and Color To filter a color image, simply filter each of R,G and B separately Re-scaling and truncating are more difficult to implement: –Adjusting.
Adobe Photoshop CS4 - Illustrated
Graphics Concepts CS 2302, Fall /3/20142 Drawing Paths.
Manipulate Graphics Skill Area Lecture Overview Photoshop’s GUI Basic Function Basic Image Manipulation.
1. Press the New Layer Button 3. Double click names to re-name Ball & Shadow layers 2. Click to change to 12 fps Step 1.
JRN 302: Introduction to Graphics and Visual Communication - Intro to Photoshop Thursday, 9/3/15.
ADOBE PHOTOSHOP VECTOR VS RASTER. Pixel A pixel is the fundamental unit of an image in Photoshop. It is a small square block of color. An image often.
CAP4730: Computational Structures in Computer Graphics
Prepare an Asset List Project 4 Due date: Friday, September 24 th.
Graphics Lecture 4: Slide 1 Interactive Computer Graphics Lecture 4: Colour.
Texture Mapping CAP4730: Computational Structures in Computer Graphics.
DIGITAL IMAGE. Basic Image Concepts An image is a spatial representation of an object An image can be thought of as a function with resulting values of.
Color and Blending 03/22/06. RGB  Why?  Monitor  Human vision system  Scale: 0-1, 0-n.
Graphics Concepts CS 2302, Fall /17/20142 Drawing in Android.
Hank Childs, University of Oregon Volume Rendering, pt 1.
Open up your still frame image in photoshop. Create a copy of the Background copy.
Lecture # 19 Image Processing II. 2 Classes of Digital Filters Global filters transform each pixel uniformly according to the function regardless of.
CISC 110 Day 3 Introduction to Computer Graphics.
 You will be starting with an original image, or you can combine 2-3 images.  Then you will add a new layer on top and you will experiment with the.
JRN 302: Introduction to Graphics and Visual Communication -Intro. to InDesign Thursday,
Illustrator Training Level I Training; Using Illustrator as a 2d visualization tool.
Copyright © Texas Education Agency, All rights reserved.1 Web Technologies Motion Graphics & Animation.
GEOMETRIC STILL LIFE PAINTING PAINTING STUDIO. WHAT ARE YOU GOING TO BE DOING? You have recently completed a painting using acrylic paint that shows form.
JRN 302: Introduction to Graphics and Visual Communication -Intro. to InDesign Thursday, 3/3/2016.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Adobe Products Introduction. Menu Within this PowerPoint I plan to give small introduction to some of the applications provided by adobe. These are the.
CMPT 201 Computer Science II for Engineers
Design Fundamentals Bobby Wan.
Pixels, Colors and Shapes
Week 7 - Monday CS361.
Adjusting Image Colors Lasso & Marquee Tools
CS4610/7610: Introduction to Computer Graphics
Introduction to Basic Interface of
Design and Layout (part one)
CSC020, Computer Graphics Adjustment Layers 1.
Chapter 8, Exploring the Digital Domain
Computer Graphics Enhancing Photos with Adobe Photoshop – Level 1.
Microsoft Word - Formatting Pages
Comic Life in the Classroom
Design and Layout (part one)
Color Model By : Mustafa Salam.
CS 4731: Computer Graphics Final review
Design Fundamentals Bobby Wan.
Agenda for Unit 5: Control Structures
Presentation transcript:

1 CS 248 Assignment 1 Paint Program CS248 Help Session #1 Ethan Dreyfuss Stanford University October 3, 2008 Original slides by Georg Petschnigg Modified by: Eino-Ville Talvala, Sean Walker, Rene Patnode, Gaurav Garg

2 Session Overview Getting Started Assignment Discussion Overpainting Brush Tinting Brush Brush Visualization Grading Details Extra Credit Questions

3 Getting Started 1. Read assignment carefully and pay attention to the details 2. Go to help session (you’re doing well on this one) 3. Get the VM setup and familiarize yourself with a Unix programming environment and the starter code.

4 Setting up the Assignment 1. Make sure you have at least 4.5GB hard drive space 2. Visit Install VMware player/fusion 4. Download and unzip VM 5. Run the VM 6. Open a terminal, cd to “Desktop\assignments\assignment1” 7. Run ‘./paint ’

5 Other environments 1. You are free to set up your own Unix development environment with one very import caveat: The assignment you submit must run on our VM 2. Xcode for Mac is apparently pretty easy to set up. 3. Installing X development libraries and LessTif under Linux should get you most of the way there. 4. Our VM has some useful tools! (xzoom)

6 Assignment Discussion You are going to write a paint program Teaches you 2D Raster Graphics Visualize concepts learned in Class (Brushes, HSV) Be creative with extra credit The next slides follow the Assignment (Handout #3) step by step Reminder: Read the assignment!

7 Paint Program 1973 Source: Dick Shoup “SuperPaint: An Early Frame Buffer Graphics System” IEEE Annals of the History of Computing, Vol 23, No 2, Apr-Jun 2001

8 Part 1: Over Painting Brush Rectangular Overpainting Brush Like Microsoft Paint or “Pencil Tool” in PhotoShop Color Picker for RGB, HSV See components/colorchooser.html or any components/colorchooser.html commercial paint program Value (1.0 bright, 0.0 black) Saturation (1.0 strong hue, 0.0 faded hue) Size Control for Brush Demo: Painting, Picking Colors in Photoshop

9 Part 1: Basic Painting Loop Brush region

10 Part 1: Over Painting Brush Once you are done with Part 1 you should be able to draw some basic images Notice the hard edges and jaggies around the stroke… this is what Part 2 will fix

11 Part 2: Tinting Brush Implement Weighted Mask Driven Brush as described in Handout #4 Instead of a rectangular brush, have it gently “blend” to its surroundings. Use HSV interpolation Checkboxes for interpolating along H,S,V axis Allow all permutations HSV, HS, HV, SV, H, S, V Choose a mask function and give user control over it Make sure it gradually falls off to zero at edges!

12 Part 2: Weighted Blending Like painting with partially transparent paint. Commonly referred to as “alpha” blending. C new = (1-  ) C old +  C paint Compositing equation 

13 Part 2: Mask driven painting Lookup array determines how each pixel in the brush is affected. Paint every pixel in the brush region Paint only some of the pixels

14 Part 2: Weighted mask driven painting Mask contains alpha/weight for each pixel in brush

15 Part 2: RGB vs. HSV interpolation NewR = (1-  ) CanvasR +  PaintR NewG = (1-  ) CanvasG +  PaintG NewB = (1-  ) CanvasB +  PaintB NewH = (1-  ) CanvasH +  PaintH NewS = (1-  ) CanvasS +  PaintS NewV = (1-  ) CanvasV +  PaintV RGBinterpolation RGB interpolation HSV interpolation

16 Hue Saturation Part 2: RGB vs. HSV

17 Hue Saturation HSV RGB Part 2: RGB vs. HSV interpolation

18 Part 2: Math Example Interpolating half way between Red and Cyan (  = 0.5) NewColor = 0.5 Cyan Red Demo: Blending in Photoshop RGBHSV Cyan Red Interpolation % GrayGreenish

19 Part 2: HSV Checkboxes Choose which HSV components to affect. Allow for any combination. if (H_check) NewH = (1-  ) CH +  PaintH else NewH = CH; if (S_check) NewS = (1-  ) CS +  PaintS else NewS = CS; if (V_check) NewV = (1-  ) CV +  PaintV else NewV = CV;

20 Part 3: Brush Visualization Brush Visualization should tell user what its color, falloff and size is Brush should always be visible regardless of color Draw 1x (actual size) and 4x (four times larger in x and y) versions of the brush Make the larger version discretized – that is it should be a choppy/chunky/pixel replicated version of the actual brush (think xmag, snoop) Make sure this visualization will help you explain to user, TAs, Professor and yourself how the brush weights affect drawing

21 Requirements Correctness (40%) Don’t crash Implement all required features (Read the directions like a lawyer) Efficiency (20 %) No noticeable lag while using your application User Interface (20%) Programming Style (20%) Copying code (Don’t do it) Submit with ‘/usr/class/cs248/bin/submit’ or from the VM ‘~/Desktop/assignments/submitAssignment1’

22 Extra credit example Filtering:

23 Questions? Ask now Come to Office Hours Newsgroup: su.class.cs248 su.class.cs Remember: Computer Graphics is fun - if you are not having fun ask TAs for help