Slide 1

Slide 1 text

4XJGU1MBZHSPVOETͰ λʔτϧɾάϥϑ ΟοΫε͠Α͏ J04%$

Slide 2

Slide 2 text

!ࣗݾ঺հ

Slide 3

Slide 3 text

5PNPLJ,PCBZBTIJ J1IPOF(ͷ೔ຊ্཮௚ޙʹ
 ɹɹɹɹ J1IPOFΞϓϦ։ൃΛ࢝ΊΔ ϑΣϯϦϧגࣜձࣾʹೖࣾ
 ɹɹɹɹ ໊ݹ԰ࢧࣾͰΞϓϦͷڞಉ։ൃʹैࣄ גࣜձࣾελϝϯ ʢ໊ݹ԰ʣ ʹೖࣾ
 ɹɹɹɹ ૑ۀࣄۀ56/"(ͷΞϓϦ։ൃʹैࣄ 5XJUUFS(JU)VC!UFNPLJ

Slide 4

Slide 4 text

໊ݹ԰͔Βདྷ·ͨ͠

Slide 5

Slide 5 text

໊ݹ԰ۙล͔Β དྷͨਓ͸͍·͔͢ʁ#

Slide 6

Slide 6 text

IUUQUBLBOPSJEBZPCMPHTIJOPCJKQ&OUSZ <ग़య>Πϯλʔωοτք۾ͷࣄΛௐ΂Δ͓!UBLBOPSJ ೥

Slide 7

Slide 7 text

IUUQTDUZPIBUFOBCMPHDPNFOUSZOBHPZB@JU@NBQ@ <ग़య>$ZDMF5FDI-PH αΠΫϧςοΫϩά !D@UZP ೥

Slide 8

Slide 8 text

גࣜձࣾελϝϯ w૑ۀɿ೥݄ w໊ࣾɿ4UBS.FNCFST wਓ਺ɿ໊ʙ wຊࣾɿ໊ݹ԰ ُౡ wࢧࣾɿ౦ژେࡕ෱Ԭ wࣄۀɿ56/"(

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

4XJGU1MBZHSPVOETͰ λʔτϧɾάϥϑ ΟοΫε͠Α͏ J04%$

Slide 12

Slide 12 text

λʔτϧɾάϥϑ ΟοΫε

Slide 13

Slide 13 text

λʔτ ϧɾάϥϑ Ο οΫε wΛૢͬͯ%άϥϑ Ο οΫεΛੜ੒͢Δ wڭҭ༻ϓϩάϥϛϯάݴޠ-PHPͷػೳ w.*5໊༪ڭतγʔϞΞ ɾ ύύʔ τ͕։ൃ

Slide 14

Slide 14 text

Ұൠతͳ%άϥϑ Ο οΫε ௗͷࢹ఺Ͱඳ͘

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

ӈʹϚεɺ্ʹϚε

Slide 17

Slide 17 text

addLine(to:(1,3)) (0,0) (1,3)

Slide 18

Slide 18 text

λʔτϧɾάϥϑ Ο οΫε ஬ͷࢹ఺Ͱඳ͘

Slide 19

Slide 19 text

λʔτϧɾάϥϑ Ο οΫε ُͷࢹ఺Ͱඳ͘

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

ӈʹ˃ ճసɺલʹา

Slide 22

Slide 22 text

right(20) forward(5)

Slide 23

Slide 23 text

ਖ਼ࡾ֯ܗΛඳ͘ʹ͸ʁ

Slide 24

Slide 24 text

Ұൠతͳ%άϥϑ Ο οΫε (0,0) addLine(to:(5,?)) (5,?) addLine(to:(10,0)) (10,0) ਺ֶͷ஌͕ࣝඞཁ ʢ௚ަ࠲ඪܥɾࡾ֯ؔ਺ʣ

Slide 25

Slide 25 text

λʔτϧɾάϥϑ Ο οΫε forward(10) left(120) forward(10) left(120) forward(10) ࣗવͳ܁Γฦ͠Ͱඳ͘ ճసͷ਺ࣈͷҙຯ͸ʁ

Slide 26

Slide 26 text

λʔτϧɾάϥϑ Ο οΫε left(100) left(140) left(120) ʮ਺ࣈΛม͑ͯ֬ೝʯ ͷ܁Γฦ͠Ͱֶ΂Δ

Slide 27

Slide 27 text

λʔτ ϧɾάϥϑ Ο οΫεͷಛ௃ w໋ྩ͸ݱࡏͷঢ়ଶ͔Β૬ରతʹ࡞༻ w໋ྩऀ͸ͱࣗݾͱΛҰମԽͤͯ͞ૢ࡞ w໋ྩͷ݁Ռ͕ଈ࠲ʹࢹ֮తʹಘΒΕΔ wΤϥʔݪҼΛߟ͑ͯϦτϥΠͷ܁Γฦ͠
 σόοά ʹΑΓֶश͢Δ

Slide 28

Slide 28 text

λʔτ ϧɾάϥϑ Ο οΫεͱ ͷग़ձ͍

Slide 29

Slide 29 text

ग़ձ͍ wதֶ೥࣌ ೥ ͷίϯϐϡʔλͷतۀ w෋࢜௨ͷ'.3ͱ͍͏.4%04౥ࡌͷ ύʔιφϧίϯϐϡʔλΛ࢖༻ wϩΰϥΠλʔͱ͍͏ιϑτͰλΠϐϯά ͱ-PHPʹΑΔϓϩάϥϛϯάΛֶश

Slide 30

Slide 30 text

੒ޭମݧ wλʔτϧɾάϥϑΟοΫεָ͍͠ʂ wເதʹͳͬͯεΩʔδϟϯϓͷήʔϜ Λ࡞ͬͨΒΫϥεϝΠτ͔Β൓ڹ wॳͷϓϩάϥϛϯάͰͷ੒ޭମݧ

Slide 31

Slide 31 text

λʔτ ϧɾάϥϑ Ο οΫεͷ ࢈Έͷ਌

Slide 32

Slide 32 text

γʔϞΞɾύύʔτ wࣇಐ৺ཧֶऀϐΞδΣͱ
 ࢠڙͷ஌ೳൃୡΛݚڀ wߏ੒ओٛڭҭΛ໨తͱͨ͠
 ϓϩάϥϛϯάݴޠ-PHPΛ։ൃ wϨΰͱ.*/%4503.Λ։ൃ w45&.ڭҭͷݪ఺ ग़యOFXTNJUFEV

Slide 33

Slide 33 text

ग़యDZCFSOFUJD[PPDPN

Slide 34

Slide 34 text

γʔϞΞɾύύʔτͷ Өڹ

Slide 35

Slide 35 text

ΞϥϯɾέΠ wύύʔτͷݩͰ-PHPΛֶͿ w1"3$ʹͯࢠͲ΋Ͱ΋࢖͑Δ
 ཧ૝୺຤ ʮ%ZOBCPPLʯ Λߏ૝ w࢑ఆ%ZOBCPPLʢ`೥୅ͷࢼ࡞ʣ
 "MUP ϋʔυ ͱ4NBMMUBML ιϑτ wύʔιφϧίϯϐϡʔλͷ෕ ग़యKBXJLJQFEJBPSH

Slide 36

Slide 36 text

ग़యFOXJLJQFEJBPSH

Slide 37

Slide 37 text

εςΟʔϒɾδϣϒζ w1"3$Ͱݟͨ"MUPʹিܸΛड͚ ։ൃதͷ-JTBʹ(6*Λ౥ࡌ w-JTBϓϩδΣΫτͷޙ
 .BDJOUPTIΛ։ൃ wͦͷੜ֔ͷऴ൫ʹൃදͨ͠
 ॳ୅J1BE͸%ZOBCPPLʜ ग़యKBXJLJQFEJBPSH

Slide 38

Slide 38 text

Կͱͳ͘ ๻ͨͪ΁ͷܨ͕ΓΛ ײ͡·͢ΑͶʁ

Slide 39

Slide 39 text

ϓϩάϥϛϯάݴޠ -PHP

Slide 40

Slide 40 text

ϓϩάϥϛϯάݴޠ-PHP w೥ʹߏ੒ओֶٛशΛ໨తʹ։ൃ w-JTQʹӨڹΛड͚ͨؔ਺ܕݴޠ wܕએݴෆཁɺ࠶ؼతఆ͕ٛՄೳ

Slide 41

Slide 41 text

ਖ਼ࡾ֯ܗΛඳ͘ϓϩγʔδϟ to Triangle :x repeat 3 [ forward :x right 120 ] end

Slide 42

Slide 42 text

࣮૷ w"QQMF-PHP "QQMF**༻ w"$4-PHPGPS.BD049 w-PHP8SJUFS8JO IUUQTXXXBMBODTNJUIDPVLMPHP IUUQXXXMPHPDPNKQ

Slide 43

Slide 43 text

ϓϩάϥϛϯάݴޠ -PHPͷӨڹ

Slide 44

Slide 44 text

-PHPͷӨڹ w-PHP͸ʹ໋ྩͯ͠ૢ࡞͢Δ wΞϥϯɾέΠ͕ΦϒδΣΫτࢦ޲
 ͱ͍͏ண૝ΛಘΔ͖͔͚ͬ w७ਮΦϒδΣΫτࢦ޲ݴޠ4NBMMUBML

Slide 45

Slide 45 text

-JTQ -PHP 4NBMMUBML 3VCZ 0CKFDUJWF$ 4XJGU ؔ਺ܕ ಈతੑ ΦϒδΣΫτࢦ޲ ΦϒδΣΫτࢦ޲ ϝοηʔδૹ৴

Slide 46

Slide 46 text

ͭ·Γɺ J04ΞϓϦ։ൃऀ͸ γʔϞΞɾύύʔτͷ
 ӨڹΛड͚͍ͯΔͱݴ͑Δ

Slide 47

Slide 47 text

ͦͯ͠೥ʜ

Slide 48

Slide 48 text

೥๻Λಈ͔ͨ͠Ͱ͖͝ͱ w88%$Ͱ4XJGU1MBZHSPVOETൃද w݄೔γʔϞΞɾύύʔτ͕ࢮڈ

Slide 49

Slide 49 text

4XJGU1MBZHSPVOETͰ λʔτϧɾάϥϑΟοΫε ͍ͨ͠ʂ

Slide 50

Slide 50 text

ࢠͲ΋ͨͪʹ ๻ͱಉ͡ମݧΛ ʂ

Slide 51

Slide 51 text

Ұिؒޙ

Slide 52

Slide 52 text

5PSUPJTF(SBQIJDT

Slide 53

Slide 53 text

No content

Slide 54

Slide 54 text

5PSUPJTF(SBQIJDT w4XJGU੡λʔτϧɾάϥϑΟοΫεɾΤϯδϯ w໊લ͸ݸਓతʹϦΫΨϝͷํ͕޷Έͳͷ͕ཧ༝ w9DPEF1MBZHSPVOET 4XJGU1MBZHSPVOETͰಈ࡞ wCGImage΁ͷग़ྗػೳ

Slide 55

Slide 55 text

No content

Slide 56

Slide 56 text

⭐͍ͩ͘͞ github.com/temoki/TortoiseGraphics

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

No content

Slide 59

Slide 59 text

5PSUPJTF(SBQIJDTͷ ٕज़తͳ࿩ᶃ ʢάϥϑΟοΫεฤʣ

Slide 60

Slide 60 text

'SBNFXPSLT w$PSF(SBQIJDT w$PSF"OJNBUJPO ग़యEFWFMPQFBQQMFDPN

Slide 61

Slide 61 text

'SBNFXPSLT w$PSF(SBQIJDT w$PSF"OJNBUJPO ग़యEFWFMPQFBQQMFDPN

Slide 62

Slide 62 text

$PSF(SBQIJDT w2VBSU[%ͱ΋ݺ͹ΕΔ w௿ϨϕϧͰܰྔͳ%ඳըΤϯδϯ wCGContext CGImage CGPoint ʜ

Slide 63

Slide 63 text

CGContext w$PSF(SBQIJDTͷग़ྗઌͱͳΔ΋ͷ wಉ໋͡ྩͰ༷ʑͳग़ྗઌʹඳըͰ͖Δ wΞϓϦͷϏϡʔɺϏοτϚοϓը૾ɺ
 1%'υΩϡϝϯτɺϓϦϯλʔ wඳըύϥϝʔλͱɺඳըʹඞཁͳग़ྗઌ
 σόΠεಛ༗ͷ৘ใΛ͍࣋ͬͯΔ

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

No content

Slide 66

Slide 66 text

࣮૷ͷϙΠϯτ w$PSF(SBQIJDT͸௚ަ࠲ඪܥͰߟ͑Δ wλʔτϧɾάϥϑ ΟοΫε͸ͷࢹ఺Ͱߟ͑Δ wͷݱࡏͷঢ়ଶͱࢦࣔ͞Ε໋ͨྩʹԠͯ͡ɺ
 ௚ަ࠲ඪܥͰͷߦ͖ઌΛΞϑΟϯม׵ͰٻΊΔ

Slide 67

Slide 67 text

forward P2(x,y) ҠಈޙͷҐஔ Ҡಈڑ཭ distance ݱࡏͷ޲͖ SBE heading P1(x,y) ݱࡏͷҐஔ

Slide 68

Slide 68 text

forward P1(x,y) ݱࡏͷҐஔ P2(x,y) ҠಈޙͷҐஔ Ҡಈڑ཭ distance ݱࡏͷ޲͖ SBE heading

Slide 69

Slide 69 text

'SBNFXPSLT w$PSF(SBQIJDT w$PSF"OJNBUJPO ग़యEFWFMPQFBQQMFDPN

Slide 70

Slide 70 text

$PSF"OJNBUJPO wάϥϑΟοΫεͱΞχϝʔγϣϯͷΠϯϑϥ wΞϓϦͷϏϡʔΛ؆୯ʹΞχϝʔγϣϯͰ͖Δ w(16Λ࠷େݶʹར༻͢ΔͨΊߴ଎ wCALayer CAAnimation ʜ

Slide 71

Slide 71 text

CALayer wUIView͸CALayerͷ
 ֊૚Ͱߏ੒͞ΕΔ wUIViewͷඳը΍
 ΞχϝʔγϣϯͷҠৡઌ wCAShapeLayer CATextLayer ʜ UIView CALayer (sub1) CALayer (root) CALayer (sub2)

Slide 72

Slide 72 text

CAShapeLayer w࠲ඪۭؒʹ࣍#4QMJOFΛඳը͢ΔϨΠϠʔ wඳըύεͱઢ΍ృΓͷύϥϝʔλΛࢦఆ͢Ε͹ ͦͷύεΛඳըͯ͘͠ΕΔ

Slide 73

Slide 73 text

CAAnimation w$PSF"OJNBUJPOͷ
 ΞχϝʔγϣϯΛ୲͏ wCALayerʹΞλον͢Δ wCABasicAnimation CAKeyframeAnimation ʜ CALayer .alpha

Slide 74

Slide 74 text

࣮૷ͷϙΠϯτ wͷඳ͘ઢͷΞχϝʔγϣϯ
 CAShapeLayerCABasicAnimation wͷҠಈͷΞχϝʔγϣϯ
 CAShapeLayerCAKeyframeAnimation

Slide 75

Slide 75 text

ͷඳ͘ઢͷΞχϝʔγϣϯ CAShapeLayerCABasicAnimation toValue fromValue CAShapeLayer.path Animation

Slide 76

Slide 76 text

ͷඳ͘ઢͷΞχϝʔγϣϯ CAShapeLayerCABasicAnimation

Slide 77

Slide 77 text

ͷҠಈͷΞχϝʔγϣϯ CAShapeLayerCAKeyframeAnimation path Animation CAShapeLayer().position

Slide 78

Slide 78 text

ͷҠಈͷΞχϝʔγϣϯ CAShapeLayerCAKeyframeAnimation

Slide 79

Slide 79 text

࠷ऴతͳΞχϝʔγϣϯ

Slide 80

Slide 80 text

ϨΠϠʔߏ੒

Slide 81

Slide 81 text

ϨΠϠʔߏ੒ ඳըࡁΈ ϏοτϚοϓදࣔ ඳըΞχϝʔγϣϯ Ξχϝʔγϣϯ

Slide 82

Slide 82 text

5PSUPJTF(SBQIJDTͷ ٕज़తͳ࿩ᶄ ʢ4XJGU1MBZHSPVOET#PPLฤʣ

Slide 83

Slide 83 text

4XJGU1MBZHSPVOET wJ1BEͰ4XJGUΛɻίʔσ Οϯάͷ৽ֶ͍͠ͼํɻ w"3,JU "7'PVOEBUJPO $PSF#MVFUPPUI΋ಈ࡞ w"QQMF -&(0౳͕༷ʑͳίϯςϯπΛఏڙ w#PPLͱ͍͏ܗͰ୭Ͱ΋࡞੒ͯ͠഑෍Ͱ͖Δ

Slide 84

Slide 84 text

4XJGU1MBZHSPVOET#PPL ࡞੒ɾ഑෍ͷํ๏

Slide 85

Slide 85 text

J04%$ w!TPOTPO@UXJU͞Μͷ ࡢ೥ͷൃද͕लҳʂ w͜Εͱ"QQMFެࣜͷ
 υΩϡϝϯτΛߦ͖དྷ ͢Δͷ͕Φεεϝʂ ग़యGPSUFFKQJPTEDKBQBO

Slide 86

Slide 86 text

4XJGU1MBZHSPVOET#PPL࡞੒ํ๏ w#PPL$IBQUFS1BHFͱ͍͏ߏ੒ w#PPLΛߏ੒͢Δϝλ৘ใɺ4XJGUιʔεɺ
 ֤छϦιʔε౳ͷϑΝΠϧΛ·ͱΊͨ΋ͷ w"QQMF͔Βఏڙ͞Ε͍ͯΔςϯϓϨʔτ
 4XJGU1MBZHSPVOET"VUIPS5FNQMBUFΛ࢖͏ μΠδΣετ൛

Slide 87

Slide 87 text

4XJGU1MBZHSPVOET#PPL࡞੒ํ๏ w1MBZHSPVOE1BHF͕࠷খ୯Ґ w$POUFOUTTXJGU ίϯςϯπ w-JWF7JFXTXJGU දࣔ w.BOJGFTUQMJTU ϖʔδ৘ใ μΠδΣετ൛

Slide 88

Slide 88 text

Contents.swift LiveView.swift ग़యEFWFMPQFSBQQMFDPN -JWF7JFXͷϓϩΩγΛհͯ͠ PlaygroundValueΛ΍ΓͱΓ

Slide 89

Slide 89 text

4XJGU1MBZHSPVOET#PPL഑෍ํ๏ w"JS%SPQͰ#PPLΛJ1BEʹసૹ
 ։ൃதͷσόοάखஈ΋͜Ε͚ͩ w"QQMFެࣜͷ4VCTDSJQUJPOͷ࢓૊Έ μΠδΣετ൛

Slide 90

Slide 90 text

4VCTDSJQUJPO wSE1BSUZͷ#PPLΛߪಡ͢Δ࢓૊Έ w4XJGU1MBZHSPVOET ೥ Ͱ௥Ճ͞Εͨ w഑৴ऀ͸#PPLߪಡ༻ͷ'FFE +40/ϑΝΠϧ ͱ
 #PPLΛ΢Σϒ্ʹ഑ஔ wϢʔβʔ͸J1BEͷ4BGBSJͰͦͷϦϯΫΛ౿Ί͹
 4XJGU1MBZHSPVOETʹ#PPL͕௥Ճ͞ΕΔ

Slide 91

Slide 91 text

No content

Slide 92

Slide 92 text

5PSUPJTF(SBQIJDTͷ ੒Ռ

Slide 93

Slide 93 text

ͦͷ̍

Slide 94

Slide 94 text

No content

Slide 95

Slide 95 text

ͦͷ̎

Slide 96

Slide 96 text

J04%$ ͰొஃͰ͖ͨ

Slide 97

Slide 97 text

ͦͷ̏

Slide 98

Slide 98 text

ʮतۀͰ࢖͍͍ͨʯ ͱ ͭͷֶߍ͔Βͷ࿈བྷ

Slide 99

Slide 99 text

ग़యXXXMDTPODB

Slide 100

Slide 100 text

ֶߍͷतۀͰͷ׆༻ࣄྫ w-BLFpFME$PMMFHF4DIPPM wΧφμΦϯλϦΦभͷશྈ੍ࢲཱߴߍ w໿ਓͷֶੜ͕ࡏ੶

Slide 101

Slide 101 text

ίϯϐϡʔλɾαΠΤϯεೖ໳ w·ͣ͸4DSBUDI΍(1ͷΑ͏ͳϒϩοΫɾϕʔεͷ
 ϓϩάϥϛϯά͔Β࢝ΊΔ w࣍ʹ5PSUPJTF(SBQIJDTͰςΩετɾϕʔεͷ
 ϓϩάϥϛϯάʹҠߦ͢Δ w࠷ऴ՝୊͸ੜె͕ಠࣗͷਤܗΛίʔυͰඳ͍ͯ
 ϖϯɾϓϩολʔͰग़ྗ͢Δ

Slide 102

Slide 102 text

No content

Slide 103

Slide 103 text

No content

Slide 104

Slide 104 text

No content

Slide 105

Slide 105 text

5PSUPJTF(SBQIJDT ͷࠓޙ

Slide 106

Slide 106 text

5PSUPJTF(SBQIJDTͷࠓޙ wϖϯɾϓϩολʔग़ྗͷͨΊʹ
 47(ܗࣜͰͷग़ྗʹରԠ͢Δ wશମͷΫΦϦςΟ޲্ wͦͯ͠࠷ऴతʹ໨ࢦ͢ઌ͸ʜ

Slide 107

Slide 107 text

No content

Slide 108

Slide 108 text

͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠