Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
円と円の交点の求め方
Search
Sho Iizuka
June 13, 2014
Science
0
42
円と円の交点の求め方
https://www.slideshare.net/kujira16/ss-35835784
Sho Iizuka
June 13, 2014
Tweet
Share
More Decks by Sho Iizuka
See All by Sho Iizuka
半年前の自分に教えたい systemd のハマりどころ
arosh
19
17k
Osaka.Stan#5 LT プログラミングコンテストのデータを分析した話
arosh
1
7.1k
簡潔データ構造輪講資料(順列)
arosh
1
8.4k
Pythonにおける日本語処理
arosh
1
2.1k
FM-index による全文検索
arosh
0
36
円と円の外接線の求め方
arosh
0
70
Other Decks in Science
See All in Science
Hakonwa-Quaternion
hiranabe
1
140
機械学習 - 決定木からはじめる機械学習
trycycle
PRO
0
1.1k
NASの容量不足のお悩み解決!災害対策も兼ねた「Wasabi Cloud NAS」はここがスゴイ
climbteam
1
160
防災デジタル分野での官民共創の取り組み (1)防災DX官民共創をどう進めるか
ditccsugii
0
180
AIによる科学の加速: 各領域での革新と共創の未来
masayamoriofficial
0
160
baseballrによるMLBデータの抽出と階層ベイズモデルによる打率の推定 / TokyoR118
dropout009
2
580
Transport information Geometry: Current and Future II
lwc2017
0
210
07_浮世満理子_アイディア高等学院学院長_一般社団法人全国心理業連合会代表理事_紹介資料.pdf
sip3ristex
0
640
Optimization of the Tournament Format for the Nationwide High School Kyudo Competition in Japan
konakalab
0
110
白金鉱業Meetup_Vol.20 効果検証ことはじめ / Introduction to Impact Evaluation
brainpadpr
1
1k
06_浅井雄一郎_株式会社浅井農園代表取締役社長_紹介資料.pdf
sip3ristex
0
660
機械学習 - pandas入門
trycycle
PRO
0
330
Featured
See All Featured
Thoughts on Productivity
jonyablonski
70
4.9k
A better future with KSS
kneath
239
18k
A designer walks into a library…
pauljervisheath
209
24k
Six Lessons from altMBA
skipperchong
28
4k
Site-Speed That Sticks
csswizardry
11
900
How STYLIGHT went responsive
nonsquared
100
5.8k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Practical Orchestrator
shlominoach
190
11k
Building an army of robots
kneath
306
46k
Done Done
chrislema
185
16k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Transcript
ԁͱԁͷަͷٻΊํ !TIPSB@LVKJSB
w *$1$ͷϥΠϒϥϦΛඋ͍ͯͨ͠Β ʮԁͱԁͷަʯͷίʔυ͕Α͔͘Βͳ͔ͬͨͷ Ͱղઆ͠·͢ɻ w ࢀߟʹͨ͠ίʔυίϨͰ͢
ͷίʔυ pair<P, P> cc_cross(const C& c1, const C& c2) {
double d = abs(c1.p - c2.p); double rc = (d*d + c1.r*c1.r - c2.r*c2.r) / (2*d); double rs = sqrt(c1.r*c1.r - rc*rc); P diff = (c2.p - c1.p) / d; return make_pair(c1.p + diff * P(rc, rs), c1.p + diff * P(rc, -rs)); }
double d = abs(c1.p - c2.p); d c1.p c2.p
double rc = (d*d + c1.r*c1.r - c2.r*c2.r) / (2*d);
cos = a2+b2 c2 2ab ༨ݭఆཧ b c a θ
double rc = (d*d + c1.r*c1.r - c2.r*c2.r) / (2*d);
b bcosθ θ cos = a2 + b2 c2 2ab b cos = a2 + b2 c2 2a
double rs = sqrt(c1.r*c1.r - rc*rc); c1.r rc rs
P diff = (c2.p - c1.p) / d; =>
diffは c1.p→c2.p の単位ベクトル d c1.p c2.p
c1.p + diff * P(rc, rs) ͘ͳΔͷͰ࣍ͷϖʔδϔ rc rs c1.p
diff * P(rc, rs) ͱʁ => rc*diff + rs*rot90(diff) ͷ͜ͱ
di = (x + jy) rot90(di ) = rot90(x + jy) = y + jx di P(rc, rs) = (x + jy) · (rc + jrs ) = rc(x + jy) + rs( y + jx) = rc di + rs rot90(di )
c1.p + diff * P(rc, -rs) ઌ΄Ͳͱಉ༷ rc rs c1.p
ײ w ༨ݭఆཧศརͳΜ͚ͩͲɺΑ͘ΕΔ w KΛֻ͚ͯճసͤ͞ΔςΫχοΫʹؾͮ͘ͷʹ࣌ ͕͔͔ؒͬͯ͠·ͬͨʢిؾܥͳΒৗతʹͬͯ ͍Δͣͳͷʹʣ