$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
3Dプリンタで作る階差機関 / Build Difference Engine by 3D P...
Search
mackee
August 05, 2017
Technology
1
5.3k
3Dプリンタで作る階差機関 / Build Difference Engine by 3D Printer
builderscon 2017 #builderscon #buildersconD
mackee
August 05, 2017
Tweet
Share
More Decks by mackee
See All by mackee
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
5
3.2k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
5.6k
ワンバイナリWebサービスのススメ
mackee
10
8.1k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
130
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1k
perl for shell, awk and sed programmers
mackee
3
2.6k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
1k
database/sqlでNullを扱う歴史とsql.Null[T]の登場 / sql.Null[T] history
mackee
0
910
マイクロサービス化を利用した Goへの移行事例
mackee
0
1k
Other Decks in Technology
See All in Technology
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
630
Design System Documentation Tooling 2025
takanorip
2
980
グレートファイアウォールを自宅に建てよう
ctes091x
0
130
私のRails開発環境
yahonda
0
190
Gemini でコードレビュー知見を見える化
zozotech
PRO
1
120
Claude Code Getting Started Guide(en)
oikon48
0
170
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
4
270
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
420
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
12
4.3k
Product Engineer
resilire
0
150
Oracle Cloud Infrastructure:2025年11月度サービス・アップデート
oracle4engineer
PRO
2
170
直接メモリアクセス
koba789
0
250
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.9k
How STYLIGHT went responsive
nonsquared
100
5.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Music & Morning Musume
bryan
46
7k
Done Done
chrislema
186
16k
Side Projects
sachag
455
43k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Designing Experiences People Love
moore
143
24k
Code Review Best Practice
trishagee
73
19k
The Cult of Friendly URLs
andyhume
79
6.7k
RailsConf 2023
tenderlove
30
1.3k
Transcript
3DϓϦϯλͰ࡞Δ1 ࣍ݩηϧɾΦʔτϚ τϯɺ֊ࠩػؔɺΞ φϩάίϯϐϡʔλ @mackee_w a.k.a macopy 2017-08-05 builderscon 2017
͢Έ·ͤΜ
3DϓϦϯλͰ࡞Δ1 ࣍ݩηϧɾΦʔτϚ τϯɺ֊ࠩػؔɺΞ φϩάίϯϐϡʔλ @mackee_w a.k.a macopy 2017-08-04 builderscon 2017
3DϓϦϯλͰ࡞Δ1 ࣍ݩηϧɾΦʔτϚ τϯɺ֊ࠩػؔɺΞ φϩάίϯϐϡʔλ @mackee_w a.k.a macopy 2017-08-04 builderscon 2017
macopy a.k.a @mackee_w
macopy a.k.a @mackee_w ࣄ: ໘ന๏ਓΧϠοΫ ιʔγϟϧήʔϜࣄۀ෦ ɹɹ αʔόαΠυϓϩάϥϚ ɹɹ Perl5,
Go, etc… ࠷ۙ: εϓϥτΡʔϯ2, 3DϓϦϯλ OSS: kuiperbelt(WebSocketΛ͍͍ײ͡ʹ͞ ͍ͯ͘ΕΔ܅)
͜ͷτʔΫͷओ ↓ ֊ࠩػؔ ͱ 3DϓϦϯλ
Agenda 1. ֊ࠩػؔͱ 1. ֶతͳݪཧ 2. ػցతͳݪཧ 3. σϞ 2.
3DϓϦϯλʹΑΔ ֊ࠩػؔͷ੍࡞ 1. ઃܭ 2. ҹ 3. ·ͱΊ
0. ಈػ
ཪςʔϚᶃ ࢲͱ3DϓϦϯλ2017
3DϓϦϯλͱͷग़ձ͍ • YAPC::Asia 2015ʹͯυϩʔϯͷΛ͢Δ • ύʔπ࡞Δͷʹ͑Δ͔ͬͳͱࢥͬͯ3Dϓ ϦϯλͷΩοτΛങ͏ • 1์ஔ ->
YAP(achimon)C 2016Ͱ3DϓϦ ϯλΛ͏·͘ಈ͔͢ͷʹۤ࿑ͨ͠Λ͢Δ
ձʹ3DϓϦϯλΛ࣋ͪࠐΜͰ࣮ԋ
3DϓϦϯλൃలฤ • Y8 2017࠙ձʹͯ3DϓϦϯλ͋Ε͔Βͱ͍͏ ൃදΛߦ͏ • ͍Ζ͍Ζݟ͕ཷ·͖ͬͯͨͷͰ҆ఆ͔ͨ͠Β σϡΞϧϊζϧʹઓͯ͠ഁ໓ͨ͠Αͱ͍͏ • ࠷ޙʹ͜ͷτʔΫΛԠื͢ΔύϑΥʔϚϯεΛ
ߦ͏
σϡΞϧ͏·͍͔ͣ͘ቕΊ߹Θͤ
͜͜ͰࢥͬͨΜͰ͢
ࠓ·Ͱ3DϓϦϯ λ࡞Δ͔ΓͰ ͬͯͳ͍ͷͰ ʁʁʁʁʁ
ଞॴͷ͝ՈఉͰͬͯসإ͕ੜ·Ε͍ͯΔ https://srdk.rakuten.jp/entry/2017/06/29/110000
ҰํϊζϧΛ٧·ΒͤͨΓͯ͠ ҰਓͰҰتҰ༕͢Δ͚ͩ
͜ͷ··Ͱ͍͔Μʂ Կ͔Λ࡞Βͳ͚Ε
ձࣾSlackͷ#club-kosaku(࡞νϟϯωϧ͚ͩΕͲ ΄΅͕ಠΓݴΛݴ͏νϟϯωϧ)ͰͷҰນ
̳͂́ʂʂʂʂʂ
1. ֊ࠩػؔͱ
֊ࠩػؔʢ͔͍͖͔͞Μɺ difference engineʣ·ͨࠩ ػؔʢ͞ͿΜ͖͔Μʣɺྺ্࢙ ͷػցࣜ༻్ݻఆܭࢉػͰɺଟ߲ ࣜͷදΛ࡞͢ΔΑ͏ઃܭ͞Ε ͨɻରࡾ֯ؔଟ߲ࣜͰۙ ࣅͰ͖ΔͨΊɺͦͷΑ͏ͳϚγϯ ͔ͳΓͷ൚༻ੑ͕͋ͬͨɻ
ػցࣜݻఆ༻్ܭࢉػ
ͬ͘͟Γݴ͏ͱ ࣃंͷ͓Խ͚
ϩϯυϯͷതؗʹ͋Δ֊ࠩػؔ https://commons.wikimedia.org/wiki/File:Babbage_Difference_Engine.jpg
ϩϯυϯͷതؗʹ͋Δ֊ࠩػؔ https://commons.wikimedia.org/wiki/File:LondonScienceMuseumsReplicaDifferenceEngine.jpg
֊ࠩػؔΛ3ߦͰ •ࣃंΛ͍ͬͺ͍ͬͯ •͠ࢉ͚ͩΛͬͯ •දΛ࡞Δ
1.1 ֶతͳݪཧ
y=x2Ͱ x=1~4ͷͱ͖ͷΛ ܭࢉ͠·͠ΐ͏
දͰ͢ ZY Y Z
yn - yn-1 Λܭࢉ͠·͢ ZY Y Z yn - yn-1
yn - yn-1 Λܭࢉ͠·͢ ZY Y Z yn - yn-1
͜ΕΛΔyn (ୈ1֊ࠩྻ) ͱݴ͍·͢
Δyn - Δyn-1 Λܭࢉ͠·͢ ZY Y Z Δyn Δyn -
Δyn-1
Δyn - Δyn-1 Λܭࢉ͠·͢ ZY Y Z Δyn Δyn -
Δyn-1 ͜ΕΛΔ2yn (ୈ2֊ࠩྻ) ͱݴ͍·ɾɾɾ
ͪΐͬͱ ͯʂʂʂʂʂ
શ෦2ͳ͍͔ʂʂʂ ZY Y Z Δyn Δyn - Δyn-1
ٯʹߟ͑Δͱͭ·Γ • Δ2yn ʹ͋ͨΔʮԿ͔ʯҰఆͷΛอ͍࣋ͯ͠Δ • ͦͷʮԿ͔ʯΔyn ʹ͋ͨΔԿ͔ʹεςοϓ͝ͱʹՃࢉ ͢ΔɻՃࢉ͞ΕͨʮԿ͔ʯεςοϓ͝ͱʹΛϦηο τ͠ͳ͍ •
yn ʹ͋ͨΔʮԿ͔ʯʹΔyn ʹ͋ͨΔʮԿ͔ʯ͕࣋ͭΛ εςοϓ͝ͱʹՃࢉ͢Δɻyn ʹ͋ͨΔԿ͔ಉ༷ʹϦ ηοτ͞Εͳ͍
ٯʹߟ͑Δͱͭ·Γ • Δ2yn ʹ͋ͨΔʮԿ͔ʯҰఆͷΛอ͍࣋ͯ͠Δ • ͦͷʮԿ͔ʯΔyn ʹ͋ͨΔԿ͔ʹεςοϓ͝ͱʹՃࢉ ͢ΔɻՃࢉ͞ΕͨʮԿ͔ʯεςοϓ͝ͱʹΛϦηο τ͠ͳ͍ •
yn ʹ͋ͨΔʮԿ͔ʯʹΔyn ʹ͋ͨΔʮԿ͔ʯ͕࣋ͭΛ εςοϓ͝ͱʹՃࢉ͢Δɻyn ʹ͋ͨΔԿ͔ಉ༷ʹϦ ηοτ͞Εͳ͍ ͜ΕΛ܁Γฦ͢ͱ ҙͷଟ߲ࣜͷྻ͕ಘΒΕΔ
ͨͩ͠ • n࣍ͷଟ߲ࣜୈn֊͔ࠩΒͷܭࢉ͕ඞཁ • ex. ࣍3ͷଟ߲ࣜʹୈ3֊͕ࠩඞཁ • ଟ߲ࣜҎ֎ͷؔܭࢉͰ͖ͳ͍ • ͨͩ͠ແݶඍՄೳؔ(ࡾ֯ؔ,
ରؔͳͲ) ςΠϥʔల։Λ༻͍ͯଟ߲ࣜʹ͢Δ͜ͱͰҙ ͷਫ਼ͷྻΛٻΊΔ͜ͱ͕ग़དྷΔ
1.2 ػցతͳݪཧ
ઌఔͷʮԿ͔ʯͱࣃंͰ͢
໊લͰ͢
ॳظঢ়ଶͰ͢
ΧϥϜ3͕ճͬͯΧϥϜ2ʹՃࢉ͞Ε·͢
ΧϥϜ2ͱΧϥϜ3ͷؒͷࣃं্͕͕Γ·͢ ΧϥϜ2ͱΧϥϜ1ͷؒͷࣃं͕Լ͕Γ·͢
ΧϥϜ2ͷ͕ΧϥϜ1ʹՃࢉ͞Ε·͢
ͱಉ࣌ʹΧϥϜ3͕ͱͷʹΓ·͢
ΧϥϜ2ͷΛͱʹ͠·͢
͜ΕͰx=2ͷέʔε͕ܭࢉͰ͖·ͨ͠
࠷ॳʹͬͯ܁Γฦ͠·͢
࠷ॳʹͬͯ܁Γฦ͠·͢
࠷ॳʹͬͯ܁Γฦ͠·͢
ԿނΛ͍֮͑ͯΒΕΔͷ͔ʁ
ࣃंͷதʹ͜͏͍͏͕ͭೖ͍ͬͯͯ
·ͣӈͷ͕ͭճͬͯ0Λਖ਼໘ʹ͠·͢
ΧϥϜଆͷճͭ͢Λ ͻ͔͔ͬΒͳ͍Α͏ʹ্͛ͯͱʹ͠·͢
ՃࢉϗΠʔϧͷߴ͞Λ্͛ͯ ࣍ͷΧϥϜ͕ճΒͳ͍Α͏ʹ͠·͢
ՃࢉଆϗΠʔϧΛճͯ͠ ΧϥϜଆΛݩͷҐஔʹ͠·͢
ݩͷঢ়ଶʹ͠·͢
ྫՃࢉ͢Δ͕ఆͰ͕͢ લͷΧϥϜ͔ΒՃࢉ͞Εͯಈ ࡞͠·͢
Q: ͜ΕͩͱҰܻ͔͠ग़དྷͳ͘ ͳ͍ʁʁʁ
A: ͦɾɾɾͦΕɾɾɾ
͜ͷग़ͬுΓ
্ܻΓ • ্ܻΓ(9 -> 0)ʹ͢Δͱ͖ʹ͜ͷग़ͬுΓΛ ͬͯϨόʔΛԡ͢ػߏ͕͋Δ • ϨόʔͶͰԡ͞Εͨঢ়ଶͰอ࣋͞Εͯ·ͨ ผͷϨόʔͰԡ͞Εͨ࣌ʹ্ͷܻΛ1͢͢ΊΔ •
ࣃंͱ͔ͰಉظతʹΒͳ͍ͷՃࢉதͱ͔ ͩͱڰ͏ͷͰΩϟϦʔϑΣʔζ͕͋Δ
Q: ը૾͕ͳ͍͚ΕͲʁ
A: ͍ɾɾɾະ࣮Ͱ ͢ɻɻɻ
͋ͱԡ্͛ͱ͔ϨόʔΛճ͢ ͱ͜Ζͱ͔ະ࣮Ͱ͢
DEMO
͢Έ·ͤΜ
Chapter 2ʹଓ͘
2. 3DϓϦϯλʹΑΔ ֊ࠩػؔͷ࡞
ઃܭํ1 • ͍·ΘͤΔͷ͏ • thingiverseʹϞσϧ͕͋ΕͦΕΛ͏ • શ෦3DϓϦϯλͰΒͳ͍ • ࢢൢͷϝλϧύʔπਫ਼͕ඇৗʹྑ͍
ઃܭํ2 • νϟʔϧζɾόϕοδࢯͷઃܭΛશ౿ऻ͠ ͳ͍ • Έ(ࣃंʹΑΔՃࢉ)͕͋ͬͯΕOK
ઌߦࣄྫ(࢈ۀֵ໋ظ) • νϟʔϧζɾόϕοδࢯʹΑΔ࡞ • 1߸ػ(1830ʙ), 2߸ػ(ઃܭͷΈ, 1847 ʙ) • γϡπࢯ,
ϰΣʔϕϦࢯʹΑΔ࡞(1853 ͳͲ)
ઌߦࣄྫ(ݱ) • ϩϯυϯɾαΠΤϯεϛϡʔδΞϜʹΑΔ࡞ • ઃܭνϟʔϧζɾόϕοδࢯʹΑΔͷΛ౿ऻ • 1989͔Β࡞͞Ε1991ʹ • 2000ʹόϕοδࢯઃܭͷϓϦϯλʔ •
όϕοδࢯͤ͞Δ͜ͱ͕Ͱ͖ͳ͔ͬͨͨΊɺ ϨϓϦΧͰͳ͍
ੑೳൺֱ ୈ֊ࠩػؔ ୈ֊ࠩػؔ ࠓճ੍࡞ͷ֊ ࠩػؔ ֊ ܻ
Կނόϕοδࢯୈ2֊ࠩػ ؔΛͤ͞Δ͜ͱ͕Ͱ͖ͳ ͔ͬͨͷ͔ʁ
͍Ζ͍Ζઆ • ਫ਼͕Γͳ͍ ࡞ػցݱͱܻҧ͍ʹ গͳ͍͠ػցࣗମͷਫ਼ग़͍ͯͳ͍ • ৬ਓͱͷ֬ࣥ • ࢿۚෆ
͔͠͠ࠓͷੈͷதͳΒ ݸਓͰ࡞Ͱ͖Δ͔ʁ
ͦ͏ɺ3DϓϦϯλ͕͋ΕͶ https://commons.wikimedia.org/wiki/File:3D_printer2.jpg
͔ͭͯਤ໘௨ΓͷύʔπΛ࡞Δ ͷ͔ͬͨ͠ • جຊతʹۚଐՃ • ટ൫, Ϙʔϧ൫, ༹, etc… ͲΕٕज़ͱࣝͱઐ
༻ͷಓ۩͕ඞཁ • ࣗ༝ܗঢ়ͷϓϥՃ͔͕ͬͨ͢͠ɺͰͷେ ྔੜ࢈͖ɻݸਓͰϨδϯΩϟετͱݴ͏ͷ͕ ग़͖ͯͯɺ͞ΒʹόΩϡʔϜܕ͕ग़͖ͯͯɺ͞Β ʹ3DϓϦϯλ͕ग़͖ͯͨ
3DϓϦϯλͷ͍͍ͱ͜Ζ ↓ ਤ໘௨Γͷͷ͕ ͬͯΕग़ͯ͘Δ
ຊʹਤ໘௨Γͷ͕ग़ͯ͘Δ※ • ※ͨͩ͠3DϓϦϯλͷੑೳ͕ྑ͚Ε • ੑೳ -> Ϟʔλʔਫ਼, ϊζϧܘͳͲ, ߏͷ ਫ਼ʹΑΔ
• ͔͠͠զ͕Ոͷ3DϓϦϯλ֊ࠩػؔΛ࡞Δ ʹ͍͍͕ͩͨͳ͍Ά͍
thingiverseͰ Difference EngineΛݕࡧ
None
͜ΕΛͬͯΈͨ
ͬͯؾ͍ͮͨ
͋ͬ
ଞʹ࡞͍ͬͯΔਓݟͳ͍͠ CAD͠ΐɻɻɻ
લOpenSCAD͍ͬͯ·͕ͨ͠
Fusion360ͬͯ·͢
Fusion360 • AutodeskͷCAD • AutoCADͱҧͬͯΫϥυඞਢ • झຯͱ͔ελʔτΞοϓͩͱແྉͰ͑Δ • ී௨ͷ3D CAD(ී௨ͷͬͨ͜ͱແ͍
ͱ͍͏Θ͚Ͱશ෦εΫϥονͰઃܭ͠·ͨ͠
3DϓϦϯλͱ ϝλϧύʔπͷ͍͚ • 3DϓϦϯλͷۤखͳ͜ͱ • Z࣠ํʹ͍ύʔπϒϨΔ • ಉ͡छྨͷύʔπΛ͍ͬͺ͍Δͷ͕࣌ؒ ͔͔Δ •
ຎࡲ͕͔͔Δύʔπۤख
࢈ۀֵ໋ͷͱ͖ʹͳͯ͘ࠓ͋Δͷ ϕΞϦϯά
࢈ۀֵ໋ͷ࣌ʹ͚͋ͬͨΕͲਫ਼͕ྑ͘ͳͬͨͷ γϟϑτ
ͪͳΈʹ࢈ۀֵ໋ͷͱ͖ϦϯΫػߏ͔ͬΓ
ϦϯΫΑ͘Θ͔Μͳ͔ͬͨ ͷͰಈΧϜػߏͰΓΔ
ಈΧϜΛ࡞Δʹ • ΧϜʹैͯ͠Β͔ʹ্Լ͢ΔͨΊʹϑΥ ϩϫʹϕΞϦϯά • ͳΊΒ͔ʹಈͤ͞ΔͨΊʹγϟϑτͱϦχ Ξϒογϡ • Ҏ্ϝλϧύʔπ͕ඞਢ
େྔʹϕΞϦϯάΛߪೖ
͍͟ҹ
ҹ·Ͱͷաఔ 1. CADͰܗঢ়σʔλΛ࡞Δ -> STL • Fusion360Ͱ࡞ 2. STLΛ3DϓϦϯλ͕ಡΊΔ࠲ඪσʔλʹม͢ Δ
-> gcode • Simplify3DͰม
STLΛಡΜͰ
gcodeσʔλʹม
༥ղੵܕ3DϓϦϯλͷͭΒ͍ ͱ͜Ζ • ු͍͍ͯΔͱ͜Ζۤख • ͍ΘΏΔΦʔόʔϋϯάͱݺΕΔͱ͜Ζ • Լ͔ΒੵΜͰ͍͘લఏͳͷͰԼʹͳ͍ͳ͍ ු͍͍ͯΔͱ͜Ζۭதʹ༹͚ͨϓϥ͕ग़Δ •
ղܾʹαϙʔτࡐͳͲ͕ඞཁ
αϙʔτࡐग़ྗ
αϙʔτࡐऔΓআ͘ͷͭΒ͍
ྫ͑গʑͷΦʔόʔϋϯά ΛͭΉΔ
ྫ͑ͻͬ͘Γฦ͢
͜ΕͰ݁ߏ͖Ε͍ʹग़Δ
ྫׂ͑͢Δ
ΊࠐΈ෦ • ύʔπΛׂ͢ΔͱԿΒ͔ͷํ๏ͰΊࠐΈ Λ͠ͳ͍ͱ͍͚ͳ͍ • ؙͱͳΜ͔΄΅΄΅ೖΒͳ͍͔εΧεΧ • ͱ͍͏Θ͚Ͱผͷํ๏Λ͏
ଟ֯ܗʹ͢Δ http://makezine.jp/blog/2015/09/tips-3d-printing-press-fit-parts.html
࣮ફ
͔͠͠ٯύλʔϯ(ଟ֯ܗʹؙಥͬࠐΉ)ͷ 3DϓϦϯτύʔπ VS 3DϓϦϯτύʔπͩͱ ͏·͍͔͘ͳ͔ͬͨ
ଟ֯ܗʹϕΞϦϯά(ؙ) ͍͚Δ
ͦΜͳΘ͚Ͱग़དྷ·ͨ͠
ಈ͍͍ͯΔ͔ͳʁ ʢຊ൪ͰࣃंטΈ߹Θͳ͘ ͯͱ͔͍Ζ͍Ζ͋Γಈ͖·ͤ ΜͰͨ͠ʣ
·ͱΊ
ཪςʔϚᶄ ࢈ۀֵ໋ظͷεύίϯΛ࡞Δ
ͳͥ࢈ۀֵ໋ظͷεύίϯΛݸ ਓͰ࡞ΕΔΑ͏ʹͳͬͨͷ͔ʁ • ࠶ݱੑͷߴ͍Ճػցͷଘࡏ • 3DϓϦϯλ, ϨʔβʔΧολʔ, CNC • ڧͷߴ͍ϓϥενοΫͷൃ໌
• ΠϯλʔωοτͰࣝΛೖΕΔ • ֊ࠩػؔͷΈYouTubeͰ֮͑ͨ
ػցࣜίϯϐϡʔλͰܭࢉͷຊ ࣭Λମײ͢Δ • όϕοδࢯ͕֊ࠩػؔΛ࡞ͬͨཧ༝ʮࣗಈ Խʯ • දΛ࡞ΔͷΛࣗಈԽ͍ͨ͠ɺͦΕҹ ͢Δ·Ͱ • දΛ࡞Δաఔʹਓ͕հೖ͢ΔͱࣈΛϛ
εΔɻࣈΛϛεΔͱϠόΠ……
Թ͔Έͷ͋Δͷ͍͍͚ΕͲ • ϛεΔͱϠόΠͱ͜Ζ͔Β͘ΓΛۦͯ͠ͳ Μͱͯ͠ͰࣗಈԽΛ͢Δ • ӡ༻ʹ௨͡·͢Ͷ • ϞδϡʔϧԽਪਐ͢Δ • ֊ࠩػؔಉ͡ύʔπͰܻͱ֊ࠩΛ૿ͤΔ
ίϯϐϡʔλΛ࡞ΔମݧΛࣗݾ ੜػցͰ࡞ΔSFͷະདྷ Α͏ͦ͜
͋Γ͕ͱ͏͍͟͝·ͨ͠