Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ドラッグ&ドロップを支える技術

Avatar for 高津亘宏 高津亘宏
September 16, 2023

 ドラッグ&ドロップを支える技術

MiroやFigmaのようなWeb上でドラッグ&ドロップ(GUI操作)を実装する技術について深掘りしていきます

Avatar for 高津亘宏

高津亘宏

September 16, 2023
Tweet

Other Decks in Technology

Transcript

  1. ʬυϥοάதʭ NPVTFNPWF 1$ PSUPVDINPWF 41 ʬυϩοϓʭ 
 NPVTFVQ 1$ PSUPVDIFOE

    41 \Y Z^ υϥοάˍυϩοϓ ʬυϥοά։࢝ʭ NPVTFEPXO 1$ PSUPVDITUBSU 41 ཭͢
  2. EZ EY \Y Z^ \Y EY Z EZ^ ΠϕϯτຖʹϚ΢εͷ࠲ඪ͔Βબ୒͍ͯ͠ΔΦϒδΣΫτͷ࠲ඪΛߋ৽ ʬυϥοά։࢝ʭ

    NPVTFEPXO 1$ PSUPVDITUBSU 41 ʬυϥοάதʭ NPVTFNPWF 1$ PSUPVDINPWF 41 ʬυϩοϓʭ 
 NPVTFVQ 1$ PSUPVDIFOE 41 Ϛ΢εͷҠಈڑ཭ EY EZ
  3. %0.ૢ࡞WT$BOWBT ʬύϑΥʔϚϯεʭ 
 ɾ$BOWBT͸ϐΫηϧϕʔεͷඳըͰ͋ΓɺେྔͷΦϒδΣΫτ΍ಈ͖͕͋Δ৔߹Ͱ΋ΦϒδΣΫτͷҐஔ΍ঢ়ଶΛΞϓϦέʔγϣϯͷ +BWBTDSJQUͰ׬શʹ੍ޚͰ͖ΔͨΊ%0.ΑΓޮ཰తʹϨϯμϦϯάͰ͖Δ ɾ%0.͸ෳࡶͳπϦʔߏ଄Λ͍࣋ͬͯΔͳͲͷཧ༝͔Βɺ%0.ૢ࡞͸ߴίετͳͷͰଟ͘ͷΦϒδΣΫτΛυϥοάˍυϩοϓ͢Δ৔߹ ϨϯμϦϯάͷ஗Ԇ΍Ϋϥογϡ ϋϯά ͢ΔՄೳੑ͕͋Δ ʬελΠϦϯάͷॊೈੑɺಠཱੑʭ

    ɾ$BOWBT͸ϐΫηϧϨϕϧͰͷ੍ޚΛՄೳʹ͢ΔͨΊɺ೚ҙͷܗ΍৭ͷΦϒδΣΫτΛࣗ༝ʹඳըͰ͖ɺଞͷDTTͷӨڹΛड͚ͳ͍ ɾ%0.͸ඪ४ͷ)5.-͓Αͼ$44ελΠϦϯάʹ੍໿͞ΕɺଞͷDTTͷӨڹΛड͚ΔՄೳੑ͕͋Δ ʬΠϕϯτϋϯυϦϯάʭ ɾϒϥ΢β͸%0.ཁૉʹର͢ΔΠϕϯτϋϯυϦϯάΛωΠςΟϒʹαϙʔτ͍ͯ͠ΔͷͰ؆୯ʹ࣮૷ग़དྷΔ ɾDBOWBTʹ͸ΠϕϯτϋϯυϦϯάͷػೳ͕ແ͍ͨΊDBOWBT্ͷ֤ΦϒδΣΫτͷܗঢ়ʹ߹ΘͤͯΠϕϯτϋϯυϦϯάͷॲཧΛ ϑϧεΫϥονͰ࣮૷͠ͳ͍ͱ͍͚ͳ͍
  4. DBOWBT 3 B C Y Z Ϛ΢εͱԁͷத৺ͷڑ཭ Ϛ΢εͱԁͷத৺ͷڑ཭ (x −

    a)2 + (y − b)2 ≦ R ԁͷ൒ܘ (x − a)2 + (y − b)2 ≦ R2 ΠϕϯτϋϯυϦϯάͷϩδοΫυϥοά൑ఆ
  5. DBOWBT 3 B C Y Z υϥοά։࢝ (x − a)2

    + (y − b)2 ≦ R2 NPVTFEPXOPSUPVDITUBSU
  6. DBOWBT B C Y Z NPVTFNPWF UPVDINPWF ΠϕϯτຖʹΦϒδΣΫτͷ࠲ඪΛߋ৽ˍDBOWBTΛ࠶ඳը 3 Y

    Z EY EZ B EY C EZ DBOWBTΛ࠶ඳը ˞ۃྗDBOWBTͷ-BZFSΛ෼͚Δ͜ͱͰࠩ෼Ҏ֎ എܠը૾౳ ͸࠶ඳը͠ͳ͍Α͏ʹ͢Δ͜ͱ͕ग़དྷΔ