math 312: class meeting 10 - some applicationskazdan/312f12/jj/error-corr-slides.pdf · math 312:...

55
Error-correcting codes Computer graphics Math 312: Class meeting 10 Some applications Jeff Jauregui September 26, 2012 Linear systems

Upload: others

Post on 25-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Math 312: Class meeting 10Some applications

Jeff Jauregui

September 26, 2012

Linear systems

Page 2: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Errors in transmission

Situation: transmitting a binary data signal (0’s and 1’s)across some (noisy) channel.

Errors (0s and 1s being randomly swapped) will occur.

Examples: WiFi, cell phones, lasers reading DVDs, etc.

Problem: devise a scheme for errors to be detected, correctedautomatically by receiver.

Linear systems

Page 3: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Errors in transmission

Situation: transmitting a binary data signal (0’s and 1’s)across some (noisy) channel.

Errors (0s and 1s being randomly swapped) will occur.

Examples: WiFi, cell phones, lasers reading DVDs, etc.

Problem: devise a scheme for errors to be detected, correctedautomatically by receiver.

Linear systems

Page 4: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Errors in transmission

Situation: transmitting a binary data signal (0’s and 1’s)across some (noisy) channel.

Errors (0s and 1s being randomly swapped) will occur.

Examples: WiFi, cell phones, lasers reading DVDs, etc.

Problem: devise a scheme for errors to be detected, correctedautomatically by receiver.

Linear systems

Page 5: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Errors in transmission

Situation: transmitting a binary data signal (0’s and 1’s)across some (noisy) channel.

Errors (0s and 1s being randomly swapped) will occur.

Examples: WiFi, cell phones, lasers reading DVDs, etc.

Problem: devise a scheme for errors to be detected, correctedautomatically by receiver.

Linear systems

Page 6: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Naive solution 1

One idea: sender repeats each bit (0 or 1) in segments of two.

Data [0 1 0] would be encoded as [0 0 : 1 1 : 0 0],etc.

If recipient gets [0 0 : 1 1 : 1 0], for instance, they knowan error occurred in third segment of message.

But they can’t correct the error!

We’ll ignore possibility of multiple errors.

Linear systems

Page 7: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Naive solution 1

One idea: sender repeats each bit (0 or 1) in segments of two.

Data [0 1 0] would be encoded as [0 0 : 1 1 : 0 0],etc.

If recipient gets [0 0 : 1 1 : 1 0], for instance, they knowan error occurred in third segment of message.

But they can’t correct the error!

We’ll ignore possibility of multiple errors.

Linear systems

Page 8: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Naive solution 1

One idea: sender repeats each bit (0 or 1) in segments of two.

Data [0 1 0] would be encoded as [0 0 : 1 1 : 0 0],etc.

If recipient gets [0 0 : 1 1 : 1 0], for instance, they knowan error occurred in third segment of message.

But they can’t correct the error!

We’ll ignore possibility of multiple errors.

Linear systems

Page 9: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Naive solution 1

One idea: sender repeats each bit (0 or 1) in segments of two.

Data [0 1 0] would be encoded as [0 0 : 1 1 : 0 0],etc.

If recipient gets [0 0 : 1 1 : 1 0], for instance, they knowan error occurred in third segment of message.

But they can’t correct the error!

We’ll ignore possibility of multiple errors.

Linear systems

Page 10: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Naive solution 1

One idea: sender repeats each bit (0 or 1) in segments of two.

Data [0 1 0] would be encoded as [0 0 : 1 1 : 0 0],etc.

If recipient gets [0 0 : 1 1 : 1 0], for instance, they knowan error occurred in third segment of message.

But they can’t correct the error!

We’ll ignore possibility of multiple errors.

Linear systems

Page 11: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Naive solution 2

Next idea: sender repeats each bit (0 or 1) in segments ofthree.

Data [0 1 0] would be encoded as[0 0 0 : 1 1 1 : 0 0 0], etc., and sent.

If recipient gets [0 0 0 : 1 1 0 : 0 0 0], for instance,they know an error occurred in second segment.

Second segment should have been 1 1 1, so message can becorrected.

The cost: requires 3 times as much data to send.

Linear systems

Page 12: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Naive solution 2

Next idea: sender repeats each bit (0 or 1) in segments ofthree.

Data [0 1 0] would be encoded as[0 0 0 : 1 1 1 : 0 0 0], etc., and sent.

If recipient gets [0 0 0 : 1 1 0 : 0 0 0], for instance,they know an error occurred in second segment.

Second segment should have been 1 1 1, so message can becorrected.

The cost: requires 3 times as much data to send.

Linear systems

Page 13: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Naive solution 2

Next idea: sender repeats each bit (0 or 1) in segments ofthree.

Data [0 1 0] would be encoded as[0 0 0 : 1 1 1 : 0 0 0], etc., and sent.

If recipient gets [0 0 0 : 1 1 0 : 0 0 0], for instance,they know an error occurred in second segment.

Second segment should have been 1 1 1, so message can becorrected.

The cost: requires 3 times as much data to send.

Linear systems

Page 14: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Naive solution 2

Next idea: sender repeats each bit (0 or 1) in segments ofthree.

Data [0 1 0] would be encoded as[0 0 0 : 1 1 1 : 0 0 0], etc., and sent.

If recipient gets [0 0 0 : 1 1 0 : 0 0 0], for instance,they know an error occurred in second segment.

Second segment should have been 1 1 1, so message can becorrected.

The cost: requires 3 times as much data to send.

Linear systems

Page 15: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Naive solution 2

Next idea: sender repeats each bit (0 or 1) in segments ofthree.

Data [0 1 0] would be encoded as[0 0 0 : 1 1 1 : 0 0 0], etc., and sent.

If recipient gets [0 0 0 : 1 1 0 : 0 0 0], for instance,they know an error occurred in second segment.

Second segment should have been 1 1 1, so message can becorrected.

The cost: requires 3 times as much data to send.

Linear systems

Page 16: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

(7, 4) Hamming code

Hamming codes: Richard Hamming 1950

“(7, 4) Hamming code” takes a 4 bit message, encodes it as 7bits, requiring only 7/4 = 1.75 times as much data.

Can detect and correct single errors.

Setup: say the senders message is x1, x2, x3, x4 (each 0 or 1).Denote by the vector:

~x =

x1

x2

x3

x4

.

Linear systems

Page 17: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

(7, 4) Hamming code

Hamming codes: Richard Hamming 1950

“(7, 4) Hamming code” takes a 4 bit message, encodes it as 7bits, requiring only 7/4 = 1.75 times as much data.

Can detect and correct single errors.

Setup: say the senders message is x1, x2, x3, x4 (each 0 or 1).Denote by the vector:

~x =

x1

x2

x3

x4

.

Linear systems

Page 18: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

(7, 4) Hamming code

Hamming codes: Richard Hamming 1950

“(7, 4) Hamming code” takes a 4 bit message, encodes it as 7bits, requiring only 7/4 = 1.75 times as much data.

Can detect and correct single errors.

Setup: say the senders message is x1, x2, x3, x4 (each 0 or 1).Denote by the vector:

~x =

x1

x2

x3

x4

.

Linear systems

Page 19: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

(7, 4) Hamming code

Hamming codes: Richard Hamming 1950

“(7, 4) Hamming code” takes a 4 bit message, encodes it as 7bits, requiring only 7/4 = 1.75 times as much data.

Can detect and correct single errors.

Setup: say the senders message is x1, x2, x3, x4 (each 0 or 1).Denote by the vector:

~x =

x1

x2

x3

x4

.

Linear systems

Page 20: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Parity

We’ll use addition “mod 2”, meaning:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0,

Linear systems

Page 21: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

How it works

Write the bits in a Venn diagram:

... then fill in the 3 circles with the sum of the bits inside thatcircle, taken mod 2.

Linear systems

Page 22: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

How it works

Write the bits in a Venn diagram:

... then fill in the 3 circles with the sum of the bits inside thatcircle, taken mod 2.

Linear systems

Page 23: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Example

If original message is [0 1 0 1], we have

... filled in as?

The sender sends 7 bits: the original four, plus the additional3 “parity bits” (starting at top left, moving clockwise):

[0 1 0 1 1 0 0] gets sent.

Linear systems

Page 24: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Example

If original message is [0 1 0 1], we have

... filled in as?

The sender sends 7 bits: the original four, plus the additional3 “parity bits” (starting at top left, moving clockwise):

[0 1 0 1 1 0 0] gets sent.

Linear systems

Page 25: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Example

If original message is [0 1 0 1], we have

... filled in as?

The sender sends 7 bits: the original four, plus the additional3 “parity bits” (starting at top left, moving clockwise):

[0 1 0 1 1 0 0] gets sent.

Linear systems

Page 26: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Example

If original message is [0 1 0 1], we have

... filled in as?

The sender sends 7 bits: the original four, plus the additional3 “parity bits” (starting at top left, moving clockwise):

[0 1 0 1 1 0 0] gets sent.

Linear systems

Page 27: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Correcting errors

Now, recipient gets 7 bits, and fills out the picture in order.Example:

They check the validity of each parity bit to locate errors.In which position did error occur?Corrected message is?

Linear systems

Page 28: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Correcting errors

Now, recipient gets 7 bits, and fills out the picture in order.Example:

They check the validity of each parity bit to locate errors.

In which position did error occur?Corrected message is?

Linear systems

Page 29: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Correcting errors

Now, recipient gets 7 bits, and fills out the picture in order.Example:

They check the validity of each parity bit to locate errors.In which position did error occur?

Corrected message is?

Linear systems

Page 30: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Correcting errors

Now, recipient gets 7 bits, and fills out the picture in order.Example:

They check the validity of each parity bit to locate errors.In which position did error occur?Corrected message is?

Linear systems

Page 31: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Matrix formalism: encoding

Say ~x ∈ R4 is original message.

Then G~x ∈ R7 is the 7-bitversion, where

G =

1 0 0 00 1 0 00 0 1 00 0 0 11 0 1 11 1 0 10 1 1 1

.

G is “code generator matrix”

Linear systems

Page 32: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Matrix formalism: encoding

Say ~x ∈ R4 is original message. Then G~x ∈ R7 is the 7-bitversion, where

G =

1 0 0 00 1 0 00 0 1 00 0 0 11 0 1 11 1 0 10 1 1 1

.

G is “code generator matrix”

Linear systems

Page 33: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Matrix formalism: encoding

Say ~x ∈ R4 is original message. Then G~x ∈ R7 is the 7-bitversion, where

G =

1 0 0 00 1 0 00 0 1 00 0 0 11 0 1 11 1 0 10 1 1 1

.

G is “code generator matrix”

Linear systems

Page 34: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Matrix formalism: decoding

Recipient gets some ~c ∈ R7.

To perform error check, whatthey do is make sure, that mod 2:

c1 + c3 + c4 + c5 = 0

c1 + c2 + c4 + c6 = 0

c2 + c3 + c4 + c7 = 0.

In other words, they check P~c = ~0 in R3, where

P =

1 0 1 1 1 0 01 1 0 1 0 1 00 1 1 1 0 0 1

,P is “parity check matrix”.If P~c 6= ~0, recipient can deduce where error occurred.G , P can be viewed as linear transformations.Messages without errors can be thought of as image of G andkernel of P. How so?

Linear systems

Page 35: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Matrix formalism: decoding

Recipient gets some ~c ∈ R7. To perform error check, whatthey do is make sure, that mod 2:

c1 + c3 + c4 + c5 = 0

c1 + c2 + c4 + c6 = 0

c2 + c3 + c4 + c7 = 0.

In other words, they check P~c = ~0 in R3, where

P =

1 0 1 1 1 0 01 1 0 1 0 1 00 1 1 1 0 0 1

,P is “parity check matrix”.If P~c 6= ~0, recipient can deduce where error occurred.G , P can be viewed as linear transformations.Messages without errors can be thought of as image of G andkernel of P. How so?

Linear systems

Page 36: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Matrix formalism: decoding

Recipient gets some ~c ∈ R7. To perform error check, whatthey do is make sure, that mod 2:

c1 + c3 + c4 + c5 = 0

c1 + c2 + c4 + c6 = 0

c2 + c3 + c4 + c7 = 0.

In other words, they check P~c = ~0 in R3, where

P =

1 0 1 1 1 0 01 1 0 1 0 1 00 1 1 1 0 0 1

,

P is “parity check matrix”.If P~c 6= ~0, recipient can deduce where error occurred.G , P can be viewed as linear transformations.Messages without errors can be thought of as image of G andkernel of P. How so?

Linear systems

Page 37: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Matrix formalism: decoding

Recipient gets some ~c ∈ R7. To perform error check, whatthey do is make sure, that mod 2:

c1 + c3 + c4 + c5 = 0

c1 + c2 + c4 + c6 = 0

c2 + c3 + c4 + c7 = 0.

In other words, they check P~c = ~0 in R3, where

P =

1 0 1 1 1 0 01 1 0 1 0 1 00 1 1 1 0 0 1

,P is “parity check matrix”.

If P~c 6= ~0, recipient can deduce where error occurred.G , P can be viewed as linear transformations.Messages without errors can be thought of as image of G andkernel of P. How so?

Linear systems

Page 38: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Matrix formalism: decoding

Recipient gets some ~c ∈ R7. To perform error check, whatthey do is make sure, that mod 2:

c1 + c3 + c4 + c5 = 0

c1 + c2 + c4 + c6 = 0

c2 + c3 + c4 + c7 = 0.

In other words, they check P~c = ~0 in R3, where

P =

1 0 1 1 1 0 01 1 0 1 0 1 00 1 1 1 0 0 1

,P is “parity check matrix”.If P~c 6= ~0, recipient can deduce where error occurred.

G , P can be viewed as linear transformations.Messages without errors can be thought of as image of G andkernel of P. How so?

Linear systems

Page 39: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Matrix formalism: decoding

Recipient gets some ~c ∈ R7. To perform error check, whatthey do is make sure, that mod 2:

c1 + c3 + c4 + c5 = 0

c1 + c2 + c4 + c6 = 0

c2 + c3 + c4 + c7 = 0.

In other words, they check P~c = ~0 in R3, where

P =

1 0 1 1 1 0 01 1 0 1 0 1 00 1 1 1 0 0 1

,P is “parity check matrix”.If P~c 6= ~0, recipient can deduce where error occurred.G , P can be viewed as linear transformations.

Messages without errors can be thought of as image of G andkernel of P. How so?

Linear systems

Page 40: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Matrix formalism: decoding

Recipient gets some ~c ∈ R7. To perform error check, whatthey do is make sure, that mod 2:

c1 + c3 + c4 + c5 = 0

c1 + c2 + c4 + c6 = 0

c2 + c3 + c4 + c7 = 0.

In other words, they check P~c = ~0 in R3, where

P =

1 0 1 1 1 0 01 1 0 1 0 1 00 1 1 1 0 0 1

,P is “parity check matrix”.If P~c 6= ~0, recipient can deduce where error occurred.G , P can be viewed as linear transformations.Messages without errors can be thought of as image of G andkernel of P. How so?

Linear systems

Page 41: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Displaying 3D graphics

Imagine n points (x1, y1, z1), . . . (xn, yn, zn) ∈ R3, connectedby various line segments:

Viewer located along z-axis.

Imagine points being projected onto a flat screen in z = 0plane.

Store points as a 3× n matrix:

Linear systems

Page 42: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Displaying 3D graphics

Imagine n points (x1, y1, z1), . . . (xn, yn, zn) ∈ R3, connectedby various line segments:

Viewer located along z-axis.

Imagine points being projected onto a flat screen in z = 0plane.

Store points as a 3× n matrix:

Linear systems

Page 43: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Displaying 3D graphics

Imagine n points (x1, y1, z1), . . . (xn, yn, zn) ∈ R3, connectedby various line segments:

Viewer located along z-axis.

Imagine points being projected onto a flat screen in z = 0plane.

Store points as a 3× n matrix:

Linear systems

Page 44: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Displaying 3D graphics

Imagine n points (x1, y1, z1), . . . (xn, yn, zn) ∈ R3, connectedby various line segments:

Viewer located along z-axis.

Imagine points being projected onto a flat screen in z = 0plane. Store points as a 3× n matrix:

Linear systems

Page 45: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Views

Straight-on view looks like

Can apply various linear transformations of R3, for instance

Matrix product “SP” means apply S to each column.

Linear systems

Page 46: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Views

Straight-on view looks like

Can apply various linear transformations of R3, for instance

Matrix product “SP” means apply S to each column.

Linear systems

Page 47: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Views

Straight-on view looks like

Can apply various linear transformations of R3, for instance

Matrix product “SP” means apply S to each column.

Linear systems

Page 48: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Scaling example

Here’s an example

Original view was:

In this initial discussion, z coordinate doesn’t factor in directly.

Linear systems

Page 49: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Scaling example

Here’s an example

Original view was:

In this initial discussion, z coordinate doesn’t factor in directly.

Linear systems

Page 50: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Rotations

We can also rotate about x , y , and z axes. With θ = π/2:

Linear systems

Page 51: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Rotations

We can also rotate about x , y , and z axes. With θ = π/2:

Linear systems

Page 52: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Rotations

We can also rotate about x , y , and z axes. With θ = π/2:

Linear systems

Page 53: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Rotations

We can also rotate about x , y , and z axes. With θ = π/2:

Linear systems

Page 54: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Stereoscopic views

By composing x , y , and z rotations, we can create obliqueviews on the object.

See handout.

Linear systems

Page 55: Math 312: Class meeting 10 - Some applicationskazdan/312F12/JJ/error-corr-slides.pdf · Math 312: Class meeting 10 Some applications Je Jauregui September 26, 2012 Linear systems

Error-correcting codesComputer graphics

Stereoscopic views

By composing x , y , and z rotations, we can create obliqueviews on the object.

See handout.

Linear systems