SlideShare a Scribd company logo
1 of 22
jgs
SER332
Introduction to Graphics and Game
Development
Lecture 01: Course Presentation
Javier Gonzalez-Sanchez
javiergs@asu.edu
PERALTA 230U
Office Hours: By appointment
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 1
jgs
SER332
Introduction to Graphics
Definitions
Rendering
Foundations of graphics
Math concepts
Programming
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 2
jgsTopics
§ Review of foundations
§ Algorithms and Linear Algebra
§ Graphics rendering
§ Transformations
§ Meshes
§ Camera
§ Lightening
§ Materials
§ Animation
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 3
jgsRequired Skills and Goal
§ Programming Skills
C++
OpenGL
Note: programming requires (much) practice
Data Structures: Linked-List (Vector), Stack, Trees*
§ Goal
You have to be able to understand the theory (midterm, final) and
implement the theory in practice (projects).
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 4
jgsGrading
Exams (2) 50%25% + 25%
40%10% + 10% + 10% + 10%Projects
10%10%
Quizzes +
Attendance
100%
A+97
A93
A-89
B+85
B81
B-77
C+73
C69
D65
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 5
jgsTextbook
§ Tomas Akenine-Moller and Eric Haines. Real-Time
Rendering (3rd Edition). AK Peters, Ltd.
§ D. Hearn and M. P. Baker. Computer Graphics with
OpenGL (3rd Edition). Prentice Hall.
§ J. Neider, T. Davis, M. Woo, The OpenGL Programming
Guide, Addison-Wesley
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 6
jgsBlackboard
§ syllabus
§ slides
§ projects
§ announcements
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 7
jgsSlides
§ The slides will be available on blackboard and are intended for your
personal studies
§ You are not allowed to distribute the slides
§ You are still required to read the book for a better and more complete
understanding of the topics in this class
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 8
jgsProjects
§ Four projects are the core of the course
§ It is important that you are able to implement computer graphics algorithms
§ The projects will have a clear specification
§ Approximately, 10 hours of work outside of class per week. If you miss the
class you will need more time.
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 9
jgsExams
§ 1 midterm during the semester (before Spring break)
§ 1 final exam (comprehensive)
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 10
jgsEthics
§ Violations of academic integrity include (but are not limited to) cheating,
fabrication, tampering, plagiarism or facilitating such activities.
§ it is unethical to bring to your instructor's attention the possible impact of
your course grade on your future plans, including graduation, scholarships,
jobs, etc.
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 11
jgsAttendance
§ Attendance is required
§ Announcements are made in class
§ I will try to post all important information on Blackboard
§ If you come to class you are expected to participate
jgs
Test Yourself
The following slides should give you some idea about topics, difficulty
and requirements are to be successful
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 13
jgsDesign an Algorithm
§ You have a screen, size 100 x 100.
lower left corner (0,0)
upper right is (100, 100).
§ The function PutPixel(x, y) will draw a pixel on location (x,y).
§ Give a pseudo-code algorithm to draw a circle with center (50,50) and
radius 10.
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 14
jgsProposed Algorithm
clearScreen();
i = 0;
while (i < 360)
PutPixel( 50 + 10*sin(i), 50 + 10*cos(i) )
i = i + 1
§ Is this a good algorithm?
§ What are some of the problems?
§ How could the algorithm be improved
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 15
jgsMatrix Multiplication
§ Calculate this,
2 0 0
0 3 0
1 0 1
∗
1
2
3
=
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 16
jgsMatrix Multiplication
§ Calculate this,
2 0 0
0 3 0
1 0 1
∗
1
2
3
=
2
6
4
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 17
jgsGeometry
§ Given a line 7x + 3y = 0
§ How can you test if a point is on the left or right side of the line?
§ Can you draw the line on a piece of paper?
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 18
jgsProgramming
void init (void) {
//set display-window color to white.
glClearColor(1.0, 1.0, 1.0, 0.0);
// Set projection parameters.
glMatrixMode (GL_PROJECTION);
gluOrtho2D (0.0, 200.0, 0.0, 150.0);
}
void lineSegment (void) {
// Clear display window.
glClear (GL_COLOR_BUFFER_BIT);
// Set line segment color to red.
glColor3f (0.0, 0.0, 1.0);
glBegin (GL_LINES);
// Specify line-segment geometry.
glVertex2i (180, 15);
glVertex2i (10, 145);
glEnd ( );
// Process all OpenGL routines as quickly as possible.
glFlush ( );
}
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 19
jgsProgramming
§ How to create a project in Visual Studio
§ How to copy a project from one computer to other
§ Debugging
§ What about Object-Oriented Programming? Yes, classes, objects,
inheritance, and so on...
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 20
jgsHomework
Read the Syllabus
Microsoft Visual Studio Up and Running
jgs
SER332 Introduction to Graphics
Javier Gonzalez-Sanchez
javiergs@asu.edu
Spring 2018
Disclaimer. These slides can only be used as study material for the class SER332 at ASU. They cannot be distributed or used for another purpose.

More Related Content

Similar to 201804 SER332 Lecture 01 (12)

201707 SER332 Lecture18
201707 SER332 Lecture18201707 SER332 Lecture18
201707 SER332 Lecture18
 
201707 SER332 Lecture 22
201707 SER332 Lecture 22  201707 SER332 Lecture 22
201707 SER332 Lecture 22
 
201801 SER332 Lecture 03
201801 SER332 Lecture 03201801 SER332 Lecture 03
201801 SER332 Lecture 03
 
Big data101kagglepresentation
Big data101kagglepresentationBig data101kagglepresentation
Big data101kagglepresentation
 
201707 SER332 Lecture 26
201707 SER332 Lecture 26  201707 SER332 Lecture 26
201707 SER332 Lecture 26
 
201707 SER332 Lecture 03
201707 SER332 Lecture 03   201707 SER332 Lecture 03
201707 SER332 Lecture 03
 
201707 SER332 Lecture 15
201707 SER332 Lecture 15  201707 SER332 Lecture 15
201707 SER332 Lecture 15
 
201707 SER332 Lecture 21
201707 SER332 Lecture 21   201707 SER332 Lecture 21
201707 SER332 Lecture 21
 
201707 SER332 Lecture 14
201707 SER332 Lecture 14   201707 SER332 Lecture 14
201707 SER332 Lecture 14
 
201707 SER332 Lecture 24
201707 SER332 Lecture 24  201707 SER332 Lecture 24
201707 SER332 Lecture 24
 
201801 CSE240 Lecture 16
201801 CSE240 Lecture 16201801 CSE240 Lecture 16
201801 CSE240 Lecture 16
 
2021 videojuego matematico-guia docentes-v1.1
2021 videojuego matematico-guia docentes-v1.12021 videojuego matematico-guia docentes-v1.1
2021 videojuego matematico-guia docentes-v1.1
 

More from Javier Gonzalez-Sanchez (20)

201801 SER332 Lecture 04
201801 SER332 Lecture 04201801 SER332 Lecture 04
201801 SER332 Lecture 04
 
201801 SER332 Lecture 02
201801 SER332 Lecture 02201801 SER332 Lecture 02
201801 SER332 Lecture 02
 
201801 CSE240 Lecture 26
201801 CSE240 Lecture 26201801 CSE240 Lecture 26
201801 CSE240 Lecture 26
 
201801 CSE240 Lecture 25
201801 CSE240 Lecture 25201801 CSE240 Lecture 25
201801 CSE240 Lecture 25
 
201801 CSE240 Lecture 24
201801 CSE240 Lecture 24201801 CSE240 Lecture 24
201801 CSE240 Lecture 24
 
201801 CSE240 Lecture 23
201801 CSE240 Lecture 23201801 CSE240 Lecture 23
201801 CSE240 Lecture 23
 
201801 CSE240 Lecture 22
201801 CSE240 Lecture 22201801 CSE240 Lecture 22
201801 CSE240 Lecture 22
 
201801 CSE240 Lecture 21
201801 CSE240 Lecture 21201801 CSE240 Lecture 21
201801 CSE240 Lecture 21
 
201801 CSE240 Lecture 20
201801 CSE240 Lecture 20201801 CSE240 Lecture 20
201801 CSE240 Lecture 20
 
201801 CSE240 Lecture 19
201801 CSE240 Lecture 19201801 CSE240 Lecture 19
201801 CSE240 Lecture 19
 
201801 CSE240 Lecture 18
201801 CSE240 Lecture 18201801 CSE240 Lecture 18
201801 CSE240 Lecture 18
 
201801 CSE240 Lecture 17
201801 CSE240 Lecture 17201801 CSE240 Lecture 17
201801 CSE240 Lecture 17
 
201801 CSE240 Lecture 15
201801 CSE240 Lecture 15201801 CSE240 Lecture 15
201801 CSE240 Lecture 15
 
201801 CSE240 Lecture 14
201801 CSE240 Lecture 14201801 CSE240 Lecture 14
201801 CSE240 Lecture 14
 
201801 CSE240 Lecture 13
201801 CSE240 Lecture 13201801 CSE240 Lecture 13
201801 CSE240 Lecture 13
 
201801 CSE240 Lecture 12
201801 CSE240 Lecture 12201801 CSE240 Lecture 12
201801 CSE240 Lecture 12
 
201801 CSE240 Lecture 11
201801 CSE240 Lecture 11201801 CSE240 Lecture 11
201801 CSE240 Lecture 11
 
201801 CSE240 Lecture 10
201801 CSE240 Lecture 10201801 CSE240 Lecture 10
201801 CSE240 Lecture 10
 
201801 CSE240 Lecture 09
201801 CSE240 Lecture 09201801 CSE240 Lecture 09
201801 CSE240 Lecture 09
 
201801 CSE240 Lecture 08
201801 CSE240 Lecture 08201801 CSE240 Lecture 08
201801 CSE240 Lecture 08
 

Recently uploaded

Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 

Recently uploaded (20)

Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 

201804 SER332 Lecture 01

  • 1. jgs SER332 Introduction to Graphics and Game Development Lecture 01: Course Presentation Javier Gonzalez-Sanchez javiergs@asu.edu PERALTA 230U Office Hours: By appointment
  • 2. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 1 jgs SER332 Introduction to Graphics Definitions Rendering Foundations of graphics Math concepts Programming
  • 3. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 2 jgsTopics § Review of foundations § Algorithms and Linear Algebra § Graphics rendering § Transformations § Meshes § Camera § Lightening § Materials § Animation
  • 4. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 3 jgsRequired Skills and Goal § Programming Skills C++ OpenGL Note: programming requires (much) practice Data Structures: Linked-List (Vector), Stack, Trees* § Goal You have to be able to understand the theory (midterm, final) and implement the theory in practice (projects).
  • 5. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 4 jgsGrading Exams (2) 50%25% + 25% 40%10% + 10% + 10% + 10%Projects 10%10% Quizzes + Attendance 100% A+97 A93 A-89 B+85 B81 B-77 C+73 C69 D65
  • 6. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 5 jgsTextbook § Tomas Akenine-Moller and Eric Haines. Real-Time Rendering (3rd Edition). AK Peters, Ltd. § D. Hearn and M. P. Baker. Computer Graphics with OpenGL (3rd Edition). Prentice Hall. § J. Neider, T. Davis, M. Woo, The OpenGL Programming Guide, Addison-Wesley
  • 7. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 6 jgsBlackboard § syllabus § slides § projects § announcements
  • 8. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 7 jgsSlides § The slides will be available on blackboard and are intended for your personal studies § You are not allowed to distribute the slides § You are still required to read the book for a better and more complete understanding of the topics in this class
  • 9. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 8 jgsProjects § Four projects are the core of the course § It is important that you are able to implement computer graphics algorithms § The projects will have a clear specification § Approximately, 10 hours of work outside of class per week. If you miss the class you will need more time.
  • 10. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 9 jgsExams § 1 midterm during the semester (before Spring break) § 1 final exam (comprehensive)
  • 11. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 10 jgsEthics § Violations of academic integrity include (but are not limited to) cheating, fabrication, tampering, plagiarism or facilitating such activities. § it is unethical to bring to your instructor's attention the possible impact of your course grade on your future plans, including graduation, scholarships, jobs, etc.
  • 12. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 11 jgsAttendance § Attendance is required § Announcements are made in class § I will try to post all important information on Blackboard § If you come to class you are expected to participate
  • 13. jgs Test Yourself The following slides should give you some idea about topics, difficulty and requirements are to be successful
  • 14. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 13 jgsDesign an Algorithm § You have a screen, size 100 x 100. lower left corner (0,0) upper right is (100, 100). § The function PutPixel(x, y) will draw a pixel on location (x,y). § Give a pseudo-code algorithm to draw a circle with center (50,50) and radius 10.
  • 15. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 14 jgsProposed Algorithm clearScreen(); i = 0; while (i < 360) PutPixel( 50 + 10*sin(i), 50 + 10*cos(i) ) i = i + 1 § Is this a good algorithm? § What are some of the problems? § How could the algorithm be improved
  • 16. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 15 jgsMatrix Multiplication § Calculate this, 2 0 0 0 3 0 1 0 1 ∗ 1 2 3 =
  • 17. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 16 jgsMatrix Multiplication § Calculate this, 2 0 0 0 3 0 1 0 1 ∗ 1 2 3 = 2 6 4
  • 18. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 17 jgsGeometry § Given a line 7x + 3y = 0 § How can you test if a point is on the left or right side of the line? § Can you draw the line on a piece of paper?
  • 19. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 18 jgsProgramming void init (void) { //set display-window color to white. glClearColor(1.0, 1.0, 1.0, 0.0); // Set projection parameters. glMatrixMode (GL_PROJECTION); gluOrtho2D (0.0, 200.0, 0.0, 150.0); } void lineSegment (void) { // Clear display window. glClear (GL_COLOR_BUFFER_BIT); // Set line segment color to red. glColor3f (0.0, 0.0, 1.0); glBegin (GL_LINES); // Specify line-segment geometry. glVertex2i (180, 15); glVertex2i (10, 145); glEnd ( ); // Process all OpenGL routines as quickly as possible. glFlush ( ); }
  • 20. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 19 jgsProgramming § How to create a project in Visual Studio § How to copy a project from one computer to other § Debugging § What about Object-Oriented Programming? Yes, classes, objects, inheritance, and so on...
  • 21. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 20 jgsHomework Read the Syllabus Microsoft Visual Studio Up and Running
  • 22. jgs SER332 Introduction to Graphics Javier Gonzalez-Sanchez javiergs@asu.edu Spring 2018 Disclaimer. These slides can only be used as study material for the class SER332 at ASU. They cannot be distributed or used for another purpose.