Slide 1

Slide 1 text

$("GpOF5SBOTGPSN͸Ͳ͏ಇ͍ͯΔͷ͔ʁ ʙ4XJGUΤϯδχΞͷͨΊͷઢܗ୅਺ʙ f o r J 0 4 % $ +BQ B O

Slide 2

Slide 2 text

$("GpOF5SBOTGPSN͸Ͳ͏ಇ͍ͯΔͷ͔ʁ ʙ4XJGUΤϯδχΞͷͨΊͷઢܗ୅਺ʙ f o r J 0 4 % $ +BQ B O 嬭⓸

Slide 3

Slide 3 text

ઢܗ୅਺ ߦྻ ߦྻࣜ ݻ༗ۭؒ ઢܕ ํఔࣜ FUD ࠓ೔औΓ্͛Δൣғ

Slide 4

Slide 4 text

} var employedBy = "YUMEMI Inc." var job = "iOS Tech Lead" var favoriteLanguage = "Swift" var twitter = "@lovee" var qiita = "lovee" var github = "el-hoshino" var additionalInfo = """ ͸΍͘ίϩφऩଋͯ͠ग़ࣾۈ຿͍ͨ͠… """ final class Me: Developable, Talkable {

Slide 5

Slide 5 text

ͦ΋ͦ΋ CGAffineTransformͬͯʁ

Slide 6

Slide 6 text

Ҡಈ 5SBOTMBUJPO ֦ॖ 4DBMJOH ճస 3PUBUJPO

Slide 7

Slide 7 text

"GpOF5SBOTGPSN ΞϑΟϯม׵

Slide 8

Slide 8 text

O ΦϒδΣΫτݻ༗࠲ඪ ΞϑΟϯม׵ ΦϒδΣΫτදࣔ࠲ඪ O

Slide 9

Slide 9 text

ΞϑΟϯม׵͸࠲ඪม׵ͷҰछ

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

IUUQTTQFBLFSEFDLDPNMPWFFDHBGpOFUSBOTGPSNTIJKJBOSVNFO

Slide 12

Slide 12 text

IUUQTTQFBLFSEFDLDPNMPWFFDHBGpOFUSBOTGPSNTIJKJBOSVNFO

Slide 13

Slide 13 text

IUUQTTQFBLFSEFDLDPNMPWFFDHBGpOFUSBOTGPSNTIJKJBOSVNFO

Slide 14

Slide 14 text

CGAffineTransform͸ ΞϑΟϯม׵Λදݱ͢ΔͨΊʹ $PSF(SBQIJDT্ͷσʔλߏ଄

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

ΞϑΟϯࣸ૾ ΞϑΟϯม׵ O O x ax + by + t x x′ y cx + dy + t y y′ P(x, y) P′ (x′ , y′ )

Slide 17

Slide 17 text

O O a = 1.5 c = 0.8 tx = 13 ty = 2 b = -0.1 d = 0.9 x = 10 y = 10 x' = 27 y' = 19 x ax + by + t x x′ y cx + dy + t y y′ P(10, 10) P′ (27, 19)

Slide 18

Slide 18 text

O O a = 1.5 c = 0.8 tx = 13 ty = 2 b = -0.1 d = 0.9 x = 10 y = 10 x' = 27 y' = 19 x = 0 y = 0 x' = 13 y' = 2 x ax + by + t x x′ y cx + dy + t y y′ O(0, 0) O′ (13, 2)

Slide 19

Slide 19 text

O O(0, 0) O′ (13, 2) O a = 1.5 c = 0.8 tx = 13 ty = 2 b = -0.1 d = 0.9 x = 10 y = 10 x' = 27 y' = 19 x = 0 y = 0 x' = 13 y' = 2 x ax + by + t x x′ y cx + dy + t y y′ CGAffineTransformͷ a b c d tx ty Ͱ͢

Slide 20

Slide 20 text

ΞϑΟϯม׵͸ ࠲ඪม׵ͷϝιουͰ͋Γ ௚઀తʹҠಈ΍֦ॖΛѻΘͳ͍

Slide 21

Slide 21 text

Ҡಈ 5SBOTMBUJPO ֦ॖ 4DBMJOH ճస 3PUBUJPO

Slide 22

Slide 22 text

a = 1 c = 0 tx = 0 ty = 0 b = 0 d = 1 x = 10 y = 10 x' = 10 y' = 10 ม׵ޙɺݻ༗࠲ඪͱશ͘ಉ͡දࣔ࠲ඪ P(x, y) x ax + by + t x x′ y cx + dy + t y y′

Slide 23

Slide 23 text

Ҡಈ 5SBOTMBUJPO a = 1 c = 0 tx = tx ty = ty b = 0 d = 1 x = 10 y = 10 x' = 10 + tx y' = 10 + ty ม׵ޙɺݻ༗࠲ඪΑΓ Y͕࣠UYɺZ͕࣠UZҠಈͨ͠࠲ඪ P(x, y) P′ (x′ , y′ ) x ax + by + t x x′ y cx + dy + t y y′

Slide 24

Slide 24 text

֦ॖ 4DBMJOH a = a c = 0 tx = 0 ty = 0 b = 0 d = d x = 10 y = 10 x' = 10a y' = 10d ม׵ޙɺݻ༗࠲ඪΑΓ Y͕࣠BഒɺZ͕࣠Eഒ֦େͨ͠࠲ඪ P(x, y) P′ (x′ , y′ ) x ax + by + t x x′ y cx + dy + t y y′

Slide 25

Slide 25 text

ճస 3PUBUJPO a = cos(θ) c = sin(θ) tx = 0 ty = 0 b = -sin(θ) d = cos(θ) x = 10 y = 10 x' = 10a + 10b y' = 10c + 10d ม׵ޙɺݻ༗࠲ඪΑΓ В˃ճసͨ͠࠲ඪ P(x, y) P′ (x′ , y′ ) x ax + by + t x x′ y cx + dy + t y y′

Slide 26

Slide 26 text

IUUQTTQFBLFSEFDLDPNMPWFFDHBGpOFUSBOTGPSNTIJKJBOSVNFO

Slide 27

Slide 27 text

࿩͕͍ͩͿ௕͔ͬͨɻ ͱ͜ΖͰɺߦྻͬͯʁ

Slide 28

Slide 28 text

O O x ax + by + t x x′ y cx + dy + t y y′ P(x, y) P′ (x′ , y′ )

Slide 29

Slide 29 text

O O ߦྻ ( a b c d) × ( x y) + ( t x t y) = ( x′ y′ ) P(x, y) P′ (x′ , y′ )

Slide 30

Slide 30 text

ߦྻɿͦΕ͸ఆ·ͬͨߦͱྻʹΑΔ ɹɹɹ਺ࣈͷ૊Έ߹Θͤ ( 1 2 3 4) 458 488 718 911 595 124 ( 79.9 56 86 89 61 88) …

Slide 31

Slide 31 text

A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn NߦOྻ w ߦ ྻͷߦྻΛ ܕߦྻͱݴ͏ w ߦ໨ ྻ໨ͷ਺ Λ ͷ ੒෼ͱݴ͏ m n (m, n) i j a ij A (i, j)

Slide 32

Slide 32 text

༷ʑͳߦྻʢʣɿྵߦྻ O = 0 0 … 0 0 0 … 0 ⋮ ⋮ ⋱ ⋮ 0 0 … 0 ྵߦྻ͸ ͱ΋දه͞ΕΔ O શͯͷ੒෼͕ ͷߦྻΛྵߦྻͱݺͿ 0

Slide 33

Slide 33 text

༷ʑͳߦྻʢʣɿਖ਼ํߦྻ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a n1 a n2 … a nn ܕਖ਼ํߦྻ ࣍ਖ਼ํߦྻͱݺͿ (n, n) n ߦ਺ͱྻ਺͕౳͍͠ߦྻΛਖ਼ํߦྻͱݺͿ

Slide 34

Slide 34 text

༷ʑͳߦྻʢʣɿ୯Ґߦྻ E n = 1 0 … 0 0 1 … 0 ⋮ ⋮ ⋱ ⋮ 0 0 … 1 ࣍ਖ਼ํߦྻͰ΋ɺ ੒෼͕ ɺͦΕҎ֎ͷ੒෼͕ ͷ ߦྻΛ୯ҐߦྻͱݺͿ n a ii 1 0 ࣍୯Ґߦྻ͸ ͱ΋දه͞ΕΔ n E n

Slide 35

Slide 35 text

ߦྻͷܭࢉʢʣɿ૬౳ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1n b 21 b 22 … b 2n ⋮ ⋮ ⋱ ⋮ b m1 b m2 … b mn શͯͷ ɺ ʹର͠ɺ ͳ Βɺߦྻ ͱߦྻ ͕૬౳ʢٯ΋વΓʣ i j (1 ≤ i ≤ m, 1 ≤ j ≤ n) a ij = b ij A B ೋͭͷಉܕʢ ܕʣߦྻ ɺ ʹ͍ͭͯɿ (m, n) A B

Slide 36

Slide 36 text

ߦྻͷܭࢉʢʣɿ࿨ͱࠩ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1n b 21 b 22 … b 2n ⋮ ⋮ ⋱ ⋮ b m1 b m2 … b mn A ± B = a 11 ± b 11 a 12 ± b 12 … a 1n ± b 1n a 21 ± b 21 a 22 ± b 22 … a 2n ± b 2n ⋮ ⋮ ⋱ ⋮ a m1 ± b m1 a m2 ± b m2 … a mn ± b mn ೋͭͷಉܕʢ ܕʣߦྻ ɺ ʹ͍ͭͯɿ (m, n) A B

Slide 37

Slide 37 text

ߦྻͷܭࢉʢʣɿ࣮਺ഒ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn λ × A = λ × a 11 λ × a 12 … λ × a 1n λ × a 21 λ × a 22 … λ × a 2n ⋮ ⋮ ⋱ ⋮ λ × a m1 λ × a m2 … λ × a mn ࣮਺ ͱߦྻ ʹ͍ͭͯɿ λ A

Slide 38

Slide 38 text

ߦྻͷܭࢉʢʣɿੵ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1l b 21 b 22 … b 2l ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nl ˞ A × B = ∑n k=1 a 1k × b k1 ∑n k=1 a 1k × b k2 … ∑n k=1 a 1k × b kl ∑n k=1 a 2k × b k1 ∑n k=1 a 2k × b k2 … ∑n k=1 a 2k × b kl ⋮ ⋮ ⋱ ⋮ ∑n k=1 a mk × b k1 ∑n k=1 a mk × b k2 … ∑n k=1 a mk × b kl n ∑ k=1 a 1k × b k1 = a 11 × b 11 + a 12 × b 21 + … + a 1n × b n1 ܕߦྻ ͱɺ ܕߦྻ ʹ͍ͭͯɿ (m, n) A (n, l) B

Slide 39

Slide 39 text

ߦྻͷܭࢉʢʣɿੵ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1l b 21 b 22 … b 2l ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nl ˞ A × B = ∑n k=1 a 1k × b k1 ∑n k=1 a 1k × b k2 … ∑n k=1 a 1k × b kl ∑n k=1 a 2k × b k1 ∑n k=1 a 2k × b k2 … ∑n k=1 a 2k × b kl ⋮ ⋮ ⋱ ⋮ ∑n k=1 a mk × b k1 ∑n k=1 a mk × b k2 … ∑n k=1 a mk × b kl n ∑ k=1 a 1k × b k1 = a 11 × b 11 + a 12 × b 21 + … + a 1n × b n1 ܕߦྻ ͱɺ ܕߦྻ ʹ͍ͭͯɿ (m, n) A (n, l) B

Slide 40

Slide 40 text

ߦྻͷܭࢉʢʣɿੵ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1l b 21 b 22 … b 2l ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nl ˞ A × B = ∑n k=1 a 1k × b k1 ∑n k=1 a 1k × b k2 … ∑n k=1 a 1k × b kl ∑n k=1 a 2k × b k1 ∑n k=1 a 2k × b k2 … ∑n k=1 a 2k × b kl ⋮ ⋮ ⋱ ⋮ ∑n k=1 a mk × b k1 ∑n k=1 a mk × b k2 … ∑n k=1 a mk × b kl n ∑ k=1 a 1k × b k1 = a 11 × b 11 + a 12 × b 21 + … + a 1n × b n1 ܕߦྻ ͱɺ ܕߦྻ ʹ͍ͭͯɿ (m, n) A (n, l) B

Slide 41

Slide 41 text

ߦྻͷܭࢉʢʣɿੵ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1l b 21 b 22 … b 2l ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nl ˞ A × B = ∑n k=1 a 1k × b k1 ∑n k=1 a 1k × b k2 … ∑n k=1 a 1k × b kl ∑n k=1 a 2k × b k1 ∑n k=1 a 2k × b k2 … ∑n k=1 a 2k × b kl ⋮ ⋮ ⋱ ⋮ ∑n k=1 a mk × b k1 ∑n k=1 a mk × b k2 … ∑n k=1 a mk × b kl n ∑ k=1 a 1k × b k1 = a 11 × b 11 + a 12 × b 21 + … + a 1n × b n1 ܕߦྻ ͱɺ ܕߦྻ ʹ͍ͭͯɿ (m, n) A (n, l) B

Slide 42

Slide 42 text

ߦྻͷܭࢉʢʣɿੵ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1l b 21 b 22 … b 2l ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nl ˞ A × B = ∑n k=1 a 1k × b k1 ∑n k=1 a 1k × b k2 … ∑n k=1 a 1k × b kl ∑n k=1 a 2k × b k1 ∑n k=1 a 2k × b k2 … ∑n k=1 a 2k × b kl ⋮ ⋮ ⋱ ⋮ ∑n k=1 a mk × b k1 ∑n k=1 a mk × b k2 … ∑n k=1 a mk × b kl n ∑ k=1 a 1k × b k1 = a 11 × b 11 + a 12 × b 21 + … + a 1n × b n1 ܕߦྻ ͱɺ ܕߦྻ ʹ͍ͭͯɿ (m, n) A (n, l) B

Slide 43

Slide 43 text

ߦྻͷܭࢉʢʣɿੵ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1l b 21 b 22 … b 2l ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nl ˞ A × B = ∑n k=1 a 1k × b k1 ∑n k=1 a 1k × b k2 … ∑n k=1 a 1k × b kl ∑n k=1 a 2k × b k1 ∑n k=1 a 2k × b k2 … ∑n k=1 a 2k × b kl ⋮ ⋮ ⋱ ⋮ ∑n k=1 a mk × b k1 ∑n k=1 a mk × b k2 … ∑n k=1 a mk × b kl n ∑ k=1 a 1k × b k1 = a 11 × b 11 + a 12 × b 21 + … + a 1n × b n1 ܕߦྻ ͱɺ ܕߦྻ ʹ͍ͭͯɿ (m, n) A (n, l) B

Slide 44

Slide 44 text

ߦྻͷܭࢉʢʣɿੵ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1l b 21 b 22 … b 2l ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nl ˞ A × B = ∑n k=1 a 1k × b k1 ∑n k=1 a 1k × b k2 … ∑n k=1 a 1k × b kl ∑n k=1 a 2k × b k1 ∑n k=1 a 2k × b k2 … ∑n k=1 a 2k × b kl ⋮ ⋮ ⋱ ⋮ ∑n k=1 a mk × b k1 ∑n k=1 a mk × b k2 … ∑n k=1 a mk × b kl n ∑ k=1 a 1k × b k1 = a 11 × b 11 + a 12 × b 21 + … + a 1n × b n1 ܕߦྻ ͱɺ ܕߦྻ ʹ͍ͭͯɿ (m, n) A (n, l) B

Slide 45

Slide 45 text

ߦྻͷܭࢉʢʣɿੵ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1l b 21 b 22 … b 2l ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nl ˞ A × B = ∑n k=1 a 1k × b k1 ∑n k=1 a 1k × b k2 … ∑n k=1 a 1k × b kl ∑n k=1 a 2k × b k1 ∑n k=1 a 2k × b k2 … ∑n k=1 a 2k × b kl ⋮ ⋮ ⋱ ⋮ ∑n k=1 a mk × b k1 ∑n k=1 a mk × b k2 … ∑n k=1 a mk × b kl n ∑ k=1 a 1k × b k1 = a 11 × b 11 + a 12 × b 21 + … + a 1n × b n1 ܕߦྻ ͱɺ ܕߦྻ ʹ͍ͭͯɿ (m, n) A (n, l) B

Slide 46

Slide 46 text

ߦྻͷܭࢉʢʣɿੵ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1l b 21 b 22 … b 2l ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nl ˞ A × B = ∑n k=1 a 1k × b k1 ∑n k=1 a 1k × b k2 … ∑n k=1 a 1k × b kl ∑n k=1 a 2k × b k1 ∑n k=1 a 2k × b k2 … ∑n k=1 a 2k × b kl ⋮ ⋮ ⋱ ⋮ ∑n k=1 a mk × b k1 ∑n k=1 a mk × b k2 … ∑n k=1 a mk × b kl n ∑ k=1 a 1k × b k1 = a 11 × b 11 + a 12 × b 21 + … + a 1n × b n1 ܕߦྻ ͱɺ ܕߦྻ ʹ͍ͭͯɿ (m, n) A (n, l) B

Slide 47

Slide 47 text

ߦྻͷܭࢉʢʣɿੵ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1l b 21 b 22 … b 2l ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nl ˞ A × B = ∑n k=1 a 1k × b k1 ∑n k=1 a 1k × b k2 … ∑n k=1 a 1k × b kl ∑n k=1 a 2k × b k1 ∑n k=1 a 2k × b k2 … ∑n k=1 a 2k × b kl ⋮ ⋮ ⋱ ⋮ ∑n k=1 a mk × b k1 ∑n k=1 a mk × b k2 … ∑n k=1 a mk × b kl n ∑ k=1 a 1k × b k1 = a 11 × b 11 + a 12 × b 21 + … + a 1n × b n1 ܕߦྻ ͱɺ ܕߦྻ ʹ͍ͭͯɿ (m, n) A (n, l) B

Slide 48

Slide 48 text

ߦྻͷܭࢉʢʣɿੵ A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a m1 a m2 … a mn B = b 11 b 12 … b 1l b 21 b 22 … b 2l ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nl ͷ݁Ռ͸ ܕߦྻʹͳΔ A × B (m, l) ܕߦྻ ͱɺ ܕߦྻ ʹ͍ͭͯɿ (m, n) A (n, l) B

Slide 49

Slide 49 text

ߦྻͷܭࢉʢʣɿެࣜ w w w w w w A + B = B + A, A + O = O + A = A (A + B) + C = A + (B + C) A × E = E × A = A (A × B) × C = A × (B × C) (α + β)A = αA + βA, α(A + B) = αA + αBʢЋ Ќ͸࣮਺ʣ (A + B) × C = A × C + B × C

Slide 50

Slide 50 text

O O ( a b c d) × ( x y) + ( t x t y) = ( x′ y′ ) ( ax + by cx + dy) + ( t x t y) = ( x′ y′ ) ( ax + by + t x cx + dy + t y) = ( x′ y′ ) P(x, y) P′ (x′ , y′ )

Slide 51

Slide 51 text

O O a b t x c d t y 0 0 1 × ( x y 1) = x′ y′ 1 ax + by + t x cx + dy + t y 0x + 0y + 1 = x′ y′ 1 P(x, y) P′ (x′ , y′ )

Slide 52

Slide 52 text

ͳͥ࣍ਖ਼ํߦྻͰΞϑΟϯม׵Λදݱ͢Δʁ w ෳ਺ճͷΞϑΟϯม׵Λѻ͏ͨΊʹਖ਼ํߦྻͷํָ͕ ( x′ y′ ) = ( a b c d) × ( x y) + ( t x t y) , ( x′ ′ y′ ′ ) = ( a′ b′ c′ d′ ) × ( x′ y′ ) + ( t′ x t′ y) ( x′ ′ y′ ′ ) = ( a′ b′ c′ d′ ) × (( a b c d) × ( x y) + ( t x t y)) + ( t′ x t′ y) x′ ′ y′ ′ 1 = a′ b′ t′ x c′ d′ t′ y 0 0 1 × a b t x c d t y 0 0 1 × ( x y 1) x′ ′ y′ ′ 1 = a′ b′ t′ x c′ d′ t′ y 0 0 1 × a b t x c d t y 0 0 1 × ( x y 1) = a′ ′ b′ ′ t′ ′ x c′ ′ d′ ′ t′ ′ y 0 0 1 × ( x y 1)

Slide 53

Slide 53 text

ͳͥ࣍ਖ਼ํߦྻͰΞϑΟϯม׵Λදݱ͢Δʁ w ෳ਺ճͷΞϑΟϯม׵Λѻ͏ͨΊʹਖ਼ํߦྻͷํָ͕ ( x′ y′ ) = ( a b c d) × ( x y) + ( t x t y) , ( x′ ′ y′ ′ ) = ( a′ b′ c′ d′ ) × ( x′ y′ ) + ( t′ x t′ y) ( x′ ′ y′ ′ ) = ( a′ b′ c′ d′ ) × (( a b c d) × ( x y) + ( t x t y)) + ( t′ x t′ y) x′ ′ y′ ′ 1 = a′ b′ t′ x c′ d′ t′ y 0 0 1 × a b t x c d t y 0 0 1 × ( x y 1) x′ ′ y′ ′ 1 = a′ b′ t′ x c′ d′ t′ y 0 0 1 × a b t x c d t y 0 0 1 × ( x y 1) = a′ ′ b′ ′ t′ ′ x c′ ′ d′ ′ t′ ′ y 0 0 1 × ( x y 1) CGAffineTransform ެࣜɿ(A × B) × C = A × (B × C)

Slide 54

Slide 54 text

(A × B) × C = A × (B × C) A × B = B × A Ұൠతʹɺߦྻͷֻ͚ࢉʹަ׵๏ଇ͸੒ཱ͠ͳ͍ɻ

Slide 55

Slide 55 text

A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a n1 a n2 … a nn B = b 11 b 12 … b 1n b 21 b 22 … b 2n ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nn ˞ A × B = ∑n k=1 a 1k × b k1 ∑n k=1 a 1k × b k2 … ∑n k=1 a 1k × b kn ∑n k=1 a 2k × b k1 ∑n k=1 a 2k × b k2 … ∑n k=1 a 2k × b kn ⋮ ⋮ ⋱ ⋮ ∑n k=1 a nk × b k1 ∑n k=1 a nk × b k2 … ∑n k=1 a nk × b kn n ∑ k=1 a 1k × b k1 = a 11 × b 11 + a 12 × b 21 + … + a 1n × b n1 ೋͭͷ ࣍ਖ਼ํߦྻ ɺ ʹ͍ͭͯɿ n A B

Slide 56

Slide 56 text

A = a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ ⋮ ⋱ ⋮ a n1 a n2 … a nn B = b 11 b 12 … b 1n b 21 b 22 … b 2n ⋮ ⋮ ⋱ ⋮ b n1 b n2 … b nn ˞ B × A = ∑n k=1 b 1k × a k1 ∑n k=1 b 1k × a k2 … ∑n k=1 b 1k × a kn ∑n k=1 b 2k × a k1 ∑n k=1 b 2k × a k2 … ∑n k=1 b 2k × a kn ⋮ ⋮ ⋱ ⋮ ∑n k=1 b nk × a k1 ∑n k=1 b nk × a k2 … ∑n k=1 b nk × a kn n ∑ k=1 b 1k × a k1 = b 11 × a 11 + b 12 × a 21 + … + b 1n × a n1 ೋͭͷ ࣍ߦྻ ɺ ʹ͍ͭͯɿ n A B

Slide 57

Slide 57 text

O

Slide 58

Slide 58 text

O 3PUBUJPO

Slide 59

Slide 59 text

O 3PUBUJPO4DBMF

Slide 60

Slide 60 text

O 3PUBUJPO4DBMF O

Slide 61

Slide 61 text

O 3PUBUJPO4DBMF O 4DBMF

Slide 62

Slide 62 text

O 3PUBUJPO4DBMF O 4DBMF3PUBUJPO w ߦྻͷֻ͚ࢉ͸ॱ൪ʹΑͬͯ݁Ռ͕ҧ͏ w ΞϑΟϯม׵͸ॱ൪ʹΑͬͯ݁Ռ͕ҧ͏

Slide 63

Slide 63 text

ૢ࡞ ༧૝ ࣮ࡍ transform .identity transform .identity .scaled transform .identity .scaled .rotated !

Slide 64

Slide 64 text

ͳͥॻ͖ॱ௨Γͷม׵ʹͳ͍ͬͯͳ͍ͷʁ ( x′ y′ ) = ( a b c d) × ( x y) + ( t x t y) , ( x′ ′ y′ ′ ) = ( a′ b′ c′ d′ ) × ( x′ y′ ) + ( t′ x t′ y) x′ ′ y′ ′ 1 = a′ b′ t′ x c′ d′ t′ y 0 0 1 × a b t x c d t y 0 0 1 × ( x y 1) ֻ͚ࢉͷॱ൪͸ɺ߹੒ॱͷٯʹ ͳΔඞཁ͕͋Δ͕ɺ΋͔ͯ͠͠ $PSF(SBQIJDT͕͜͜Ͱ߹੒ॱ ௨ΓͰֻ͚ࢉͪ͠Όͬͨʂʁ

Slide 65

Slide 65 text

ͳͥॻ͖ॱ௨Γͷม׵ʹͳ͍ͬͯͳ͍ͷʁ ಉ͡

Slide 66

Slide 66 text

ͳͥॻ͖ॱ௨Γͷม׵ʹͳ͍ͬͯͳ͍ͷʁ ಉ͡ ֻ͚ࢉͷॱ൪͸ ߹ͬͯΔͬΆ͍" ͭ·Γඳը࣌ͷܭࢉ͕ؒҧͬͯ bͱcͷࢀর͕ٯͩͬͨʂʁ

Slide 67

Slide 67 text

No content

Slide 68

Slide 68 text

IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPODPSFHSBQIJDTDHBGpOFUSBOTGPSN

Slide 69

Slide 69 text

ͳͥॻ͖ॱ௨Γͷม׵ʹͳ͍ͬͯͳ͍ͷʁ ͦ΋ͦ΋͜Ε·Ͱͷલఏࣗମ͕ؒҧͬͯͨ# x′ ′ y′ ′ 1 = a′ b′ t′ x c′ d′ t′ y 0 0 1 × a b t x c d t y 0 0 1 × ( x y 1) (x′ ′ y′ ′ 1) = (x y 1) × a b 0 c d 0 t x t y 1 × a′ b′ 0 c′ d′ 0 t′ x t′ y 1 ී௨ͷΞϑΟϯม׵ղઆͰ Α͘࢖ΘΕΔܭࢉࣜ ࣮ࡍͷ$PSF(SBQIJDTͰ ࢖ΘΕͯΔܭࢉࣜ

Slide 70

Slide 70 text

ͳͥॻ͖ॱ௨Γͷม׵ʹͳ͍ͬͯͳ͍ͷʁ ͭ·Γ͜Ε͸࢓༷Ͱ͢ɻ

Slide 71

Slide 71 text

ͳͥॻ͖ॱ௨Γͷม׵ʹͳ͍ͬͯͳ͍ͷʁ ͭ·Γ͜Ε͸࢓༷Ͱ͢ɻ ԾઆͰ͕͢ɺӳޠͷදݱͱͯ͠ɺ"FE#FEͷ઀ଓ͸ɺ ײ֮ͱͯ͠͸ʮઌʹ#͞Ε͔ͯΒ"͞Εͨʯ͔ͩΒɺ CGAffineTransformͷxxedܥϝιου͸׶͑ͯ ͜Μͳ෩ʹ࡞ΒΕ͍ͯΔͷͰ͸ͳ͍͔ͱߟ͍͑ͯ·͢ɻ

Slide 72

Slide 72 text

ૢ࡞ ༧૝ ࣮ࡍ transform .identity transform .identity .scaled transform .identity .scaled .rotated ! ͦ΋ͦ΋ӳޠͰ͸͜Ε͸ ઌʹSPUBUFE͞Ε͔ͯΒ TDBMFE͞ΕΔײ͔֮ͩΒ ݁Ռ͸ݴޠײ֮ʹ߹க

Slide 73

Slide 73 text

͡Ό͋ॻ͖ॱ௨Γʹม׵͔ͨͬͨ͠Βʁ DPODBUFOBUJOHϝιουΛ࢖͑͹ ͪΌΜͱ"ʷ#ͷॱ൪Ͱܭࢉͯ͠ ͘ΕΔ$

Slide 74

Slide 74 text

͡Ό͋ॻ͖ॱ௨Γʹม׵͔ͨͬͨ͠Βʁ %

Slide 75

Slide 75 text

·ͱΊ w ΞϑΟϯม׵͸࠲ඪม׵ͷҰछ w ΞϑΟϯม׵ͷܭࢉ͸ߦྻͷԋࢉ w ߦྻͷԋࢉʢಛʹֻ͚ࢉʣ͸໘౗Ͱ͕͢೉͘͠͸ͳ͍ w ߦྻͷֻ͚ࢉ͸ॱ൪ΛؾΛ͚ͭΔ΂͠ w CGAffineTransformͷxxed"1*͕ॻ͖ॱͱٯͷ ॱ൪Ͱඳը͞ΕΔͷ͸࢓༷ w ॻ͖ॱ௨Γͷඳը͕ཉ͔ͬͨ͠Βconcatenating Λ࢖͑͹͍͍

Slide 76

Slide 76 text

॓୊ w CGAffineTransform.identityͱ͸ͲΜͳߦྻ͔ɺ ߟ͑ͯΈΑ͏ɻ w ͦͯ͠ɺԿނ ͷܭࢉࣜͩͱɺࠓͷಈ͖ʢbͱcͷ໾ׂ͕ٯͩͬͨΓɺ ߦྻͷֻ͚ࢉॱ൪͕߹੒ॱ൪ͱಉ͡ॱ൪ʹͳͬͨΓʣʹ ͳΔͷ͔ɺߟ͑ͯΈΑ͏ɻ (x′ ′ y′ ′ 1) = (x y 1) × a b 0 c d 0 t x t y 1 × a′ b′ 0 c′ d′ 0 t′ x t′ y 1

Slide 77

Slide 77 text

ࢀߟࢿྉ w ྫ୊ͱԋशͰϚελʔ͢Δઢܗ୅਺ɿ IUUQTXXXBNB[PODPKQEQ w $("⒏OF5SBOTGPSN࣮ફೖ໳ൃදεϥΠυɿ IUUQTTQFBLFSEFDLDPNMPWFFDHB⒏OFUSBOTGPSNTIJKJBOSVNFO w ߴ౳ֶߍ਺ֶ$ߦྻɿ IUUQTKBXJLJCPPLTPSHXJLJߴ౳ֶߍ਺ֶ$ߦྻ w ׬શʹཧղ͢ΔΞϑΟϯม׵ɿ IUUQTRJJUBDPNLPTIJBOJUFNTDFFDCCG w $("⒏OF5SBOTGPSNެࣜυΩϡϝϯτɿ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPODPSFHSBQIJDT DHB⒏OFUSBOTGPSN