SlideShare a Scribd company logo
 きむ(kim120)
 工シス2年
   物体と物体とが衝突したかどうかを調べる

   二点間距離による判定
   矩形判定
   線分交差判定
   円の中心の座標と、円の半径の大きさを使う

                                     (X2, Y2)
    (X1, Y1)

                     D1+D2



         (𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < (𝐷1 + 𝐷2)
   実行時間計測

        1     (𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < (𝐷1 + 𝐷2)
        2    (𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < (𝐷1 + 𝐷2)2
        3    (𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < 𝐷   ( D=(𝐷1 + 𝐷2)2 )

                               float[ns] double[ns]
    1       ルート有, 距離演算有          27.51      24.7
    2       ルート無, 距離演算有           21.6      18.7
    3       ルート無, 距離演算無           20.5      19.7
   矩形の左上と右下の点を使う

      (X1, Y1)
                 (X3, Y3)


                              (X4, Y4)
                   (X2, Y2)

    X1<X4, X3<X2, Y1<Y4, Y3<Y2
   実行時間計測


X1<X4 && X3<X2 && Y1<Y4 && Y3<Y2


                 float[ns] double[ns]
        矩形判定       24.61      22.5
   線分が交差したか調べる
   PとQが同じ点を表すことを利用する

    (X2+Vx2, Y2+Vy2)             (X1+Vx1, Y1+Vy1)

                         1-sP ( X1+t*Vx1, Y1+t*Vy1 )
                                   1-t
                 t
                           Q ( X2+s*Vx2, Y2+s*Vy2 )
                     P         s    Q
      (X1, Y1)
                                      (X2, Y2)
   実行時間計測
                        𝑣 𝑦1     𝑣 𝑦1
           𝑦2 − 𝑦1 −         𝑥 +      𝑥
                        𝑣 𝑥1 2   𝑣 𝑥1 1
        𝑠=      𝑣 𝑦1
                     𝑣 𝑥2 − 𝑣 𝑦2
                𝑣 𝑥1

              0.0 < s < 1.0

                         float[ns] double[ns]
        交差判定                44.8     36.61
Kim120 lt 12_6

More Related Content

What's hot

Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)
yukihiro domae
 
Nonparametric Factor Analysis with Beta Process Priors の式解説
Nonparametric Factor Analysis with Beta Process Priors の式解説Nonparametric Factor Analysis with Beta Process Priors の式解説
Nonparametric Factor Analysis with Beta Process Priors の式解説Tomonari Masada
 
ユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリング
Maruyama Tetsutaro
 
線形識別モデル
線形識別モデル線形識別モデル
線形識別モデル
貴之 八木
 
Quantum computer adder grover
Quantum computer adder groverQuantum computer adder grover
Quantum computer adder grover
OishiKenta
 
030 2変数の集計
030 2変数の集計030 2変数の集計
030 2変数の集計t2tarumi
 
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門  6. 最適化と学習アルゴリズムクラシックな機械学習の入門  6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
Hiroshi Nakagawa
 
剛体運動(並進運動と回転運動の対比)
剛体運動(並進運動と回転運動の対比)剛体運動(並進運動と回転運動の対比)
剛体運動(並進運動と回転運動の対比)consensive
 
1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題
京都大学大学院情報学研究科数理工学専攻
 
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
Morpho, Inc.
 
量子アニーリングを用いたクラスタ分析 (QIT32)
量子アニーリングを用いたクラスタ分析 (QIT32)量子アニーリングを用いたクラスタ分析 (QIT32)
量子アニーリングを用いたクラスタ分析 (QIT32)
Shu Tanaka
 
ポアンカレ計量
ポアンカレ計量ポアンカレ計量
ポアンカレ計量
政孝 鍋島
 
C07
C07C07
Quantum computer adder
Quantum computer adderQuantum computer adder
Quantum computer adder
RikuyaKubota
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
Akira Miyazawa
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokainwpmq516
 
Qiskit Challenge 2021 Exercise1
Qiskit Challenge 2021 Exercise1Qiskit Challenge 2021 Exercise1
Qiskit Challenge 2021 Exercise1
FukiNakamura
 
64ビット高性能線形擬似乱数発生法の開発
64ビット高性能線形擬似乱数発生法の開発64ビット高性能線形擬似乱数発生法の開発
64ビット高性能線形擬似乱数発生法の開発
Shin Harase
 
(文献紹介) 画像復元:Plug-and-Play ADMM
(文献紹介) 画像復元:Plug-and-Play ADMM(文献紹介) 画像復元:Plug-and-Play ADMM
(文献紹介) 画像復元:Plug-and-Play ADMM
Morpho, Inc.
 

What's hot (20)

Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)
 
Nonparametric Factor Analysis with Beta Process Priors の式解説
Nonparametric Factor Analysis with Beta Process Priors の式解説Nonparametric Factor Analysis with Beta Process Priors の式解説
Nonparametric Factor Analysis with Beta Process Priors の式解説
 
ユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリング
 
線形識別モデル
線形識別モデル線形識別モデル
線形識別モデル
 
Quantum computer adder grover
Quantum computer adder groverQuantum computer adder grover
Quantum computer adder grover
 
030 2変数の集計
030 2変数の集計030 2変数の集計
030 2変数の集計
 
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門  6. 最適化と学習アルゴリズムクラシックな機械学習の入門  6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
 
剛体運動(並進運動と回転運動の対比)
剛体運動(並進運動と回転運動の対比)剛体運動(並進運動と回転運動の対比)
剛体運動(並進運動と回転運動の対比)
 
1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題
 
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
 
量子アニーリングを用いたクラスタ分析 (QIT32)
量子アニーリングを用いたクラスタ分析 (QIT32)量子アニーリングを用いたクラスタ分析 (QIT32)
量子アニーリングを用いたクラスタ分析 (QIT32)
 
ポアンカレ計量
ポアンカレ計量ポアンカレ計量
ポアンカレ計量
 
C07
C07C07
C07
 
Quantum computer adder
Quantum computer adderQuantum computer adder
Quantum computer adder
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokai
 
Qiskit Challenge 2021 Exercise1
Qiskit Challenge 2021 Exercise1Qiskit Challenge 2021 Exercise1
Qiskit Challenge 2021 Exercise1
 
Prml 4.1.1
Prml 4.1.1Prml 4.1.1
Prml 4.1.1
 
64ビット高性能線形擬似乱数発生法の開発
64ビット高性能線形擬似乱数発生法の開発64ビット高性能線形擬似乱数発生法の開発
64ビット高性能線形擬似乱数発生法の開発
 
(文献紹介) 画像復元:Plug-and-Play ADMM
(文献紹介) 画像復元:Plug-and-Play ADMM(文献紹介) 画像復元:Plug-and-Play ADMM
(文献紹介) 画像復元:Plug-and-Play ADMM
 

Viewers also liked

Aditnetwork Español
Aditnetwork Español Aditnetwork Español
Aditnetwork Español
lanymared
 
Go fun Places - Go fun Rewards Español
Go fun Places - Go fun Rewards EspañolGo fun Places - Go fun Rewards Español
Go fun Places - Go fun Rewards Español
lanymared
 
ADITnetwork en Español
ADITnetwork en EspañolADITnetwork en Español
ADITnetwork en Español
lanymared
 
Go Fun Places Plan de Compensacion
Go Fun Places Plan de CompensacionGo Fun Places Plan de Compensacion
Go Fun Places Plan de Compensacion
lanymared
 
Mujahid (presentation metil) tugas individu
Mujahid (presentation metil) tugas individu Mujahid (presentation metil) tugas individu
Mujahid (presentation metil) tugas individu
Mujahid Syahid
 
Texto tarea 8uniform
Texto tarea 8uniformTexto tarea 8uniform
Texto tarea 8uniform
rossandia
 
الفواكه
الفواكهالفواكه
الفواكهtahani-sul
 
Presentation takaful
Presentation takafulPresentation takaful
Presentation takafulFiza Wahab
 
Gates bill camino-al_futuro
Gates bill camino-al_futuroGates bill camino-al_futuro
Gates bill camino-al_futuro
Evar Taipe Roman
 
Informe 1
Informe 1Informe 1
Informe 1
Manuel Alejandro
 
Cari
CariCari
Ischemic heart disease
Ischemic heart diseaseIschemic heart disease
Ischemic heart disease
Ahmed Elberry
 
Development pro forma(3)
Development pro forma(3)Development pro forma(3)
Development pro forma(3)
jordan armytage
 
Powerpoint prerrománico
Powerpoint prerrománicoPowerpoint prerrománico
Powerpoint prerrománico
Manuel Orteu Berrocal
 
Periodo
PeriodoPeriodo
Periodo
kevinmb13
 
Dieta iNutritie
Dieta iNutritieDieta iNutritie
Dieta iNutritie
inutritie
 
Digi pack evaluation task 1
Digi pack evaluation task 1Digi pack evaluation task 1
Digi pack evaluation task 1
Georgia Martin
 

Viewers also liked (20)

Aditnetwork Español
Aditnetwork Español Aditnetwork Español
Aditnetwork Español
 
Go fun Places - Go fun Rewards Español
Go fun Places - Go fun Rewards EspañolGo fun Places - Go fun Rewards Español
Go fun Places - Go fun Rewards Español
 
ADITnetwork en Español
ADITnetwork en EspañolADITnetwork en Español
ADITnetwork en Español
 
Go Fun Places Plan de Compensacion
Go Fun Places Plan de CompensacionGo Fun Places Plan de Compensacion
Go Fun Places Plan de Compensacion
 
Hvað er netscaler
Hvað er netscalerHvað er netscaler
Hvað er netscaler
 
Mujahid (presentation metil) tugas individu
Mujahid (presentation metil) tugas individu Mujahid (presentation metil) tugas individu
Mujahid (presentation metil) tugas individu
 
Texto tarea 8uniform
Texto tarea 8uniformTexto tarea 8uniform
Texto tarea 8uniform
 
الفواكه
الفواكهالفواكه
الفواكه
 
Presentation takaful
Presentation takafulPresentation takaful
Presentation takaful
 
20121212
2012121220121212
20121212
 
Gates bill camino-al_futuro
Gates bill camino-al_futuroGates bill camino-al_futuro
Gates bill camino-al_futuro
 
Informe 1
Informe 1Informe 1
Informe 1
 
صنع ايكون
صنع ايكونصنع ايكون
صنع ايكون
 
Cari
CariCari
Cari
 
Ischemic heart disease
Ischemic heart diseaseIschemic heart disease
Ischemic heart disease
 
Development pro forma(3)
Development pro forma(3)Development pro forma(3)
Development pro forma(3)
 
Powerpoint prerrománico
Powerpoint prerrománicoPowerpoint prerrománico
Powerpoint prerrománico
 
Periodo
PeriodoPeriodo
Periodo
 
Dieta iNutritie
Dieta iNutritieDieta iNutritie
Dieta iNutritie
 
Digi pack evaluation task 1
Digi pack evaluation task 1Digi pack evaluation task 1
Digi pack evaluation task 1
 

Similar to Kim120 lt 12_6

はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半
Prunus 1350
 
OutLookAR for EKF_SLAM_Model
OutLookAR for EKF_SLAM_ModelOutLookAR for EKF_SLAM_Model
OutLookAR for EKF_SLAM_Model
Toshiki Imagaw
 
TopCoder SRM614 解説
TopCoder SRM614 解説TopCoder SRM614 解説
TopCoder SRM614 解説
EmKjp
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化Miyoshi Yuya
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
Yukara Ikemiya
 
球面フィッティングの導出と実装
球面フィッティングの導出と実装球面フィッティングの導出と実装
球面フィッティングの導出と実装
j_rocket_boy
 
量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析
Shu Tanaka
 
20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用
matsumoring
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokainwpmq516
 
回帰
回帰回帰
回帰
Shin Asakawa
 
Re revenge chap03-1
Re revenge chap03-1Re revenge chap03-1
Re revenge chap03-1
裕樹 奥田
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
Chika Inoshita
 
20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算
matsumoring
 
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版
dsp_kyoto_2014
 
CEDEC 2009 Imagire Day 続・レンダリスト養成講座
CEDEC 2009 Imagire Day 続・レンダリスト養成講座CEDEC 2009 Imagire Day 続・レンダリスト養成講座
CEDEC 2009 Imagire Day 続・レンダリスト養成講座
Silicon Studio Corporation
 
040 相関
040 相関040 相関
040 相関t2tarumi
 

Similar to Kim120 lt 12_6 (20)

はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半
 
OutLookAR for EKF_SLAM_Model
OutLookAR for EKF_SLAM_ModelOutLookAR for EKF_SLAM_Model
OutLookAR for EKF_SLAM_Model
 
TopCoder SRM614 解説
TopCoder SRM614 解説TopCoder SRM614 解説
TopCoder SRM614 解説
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
 
Ppt kasawaki
Ppt kasawakiPpt kasawaki
Ppt kasawaki
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
 
球面フィッティングの導出と実装
球面フィッティングの導出と実装球面フィッティングの導出と実装
球面フィッティングの導出と実装
 
量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析
 
Prml07
Prml07Prml07
Prml07
 
20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokai
 
回帰
回帰回帰
回帰
 
Re revenge chap03-1
Re revenge chap03-1Re revenge chap03-1
Re revenge chap03-1
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
 
20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算
 
Prml 2.3
Prml 2.3Prml 2.3
Prml 2.3
 
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版
 
CEDEC 2009 Imagire Day 続・レンダリスト養成講座
CEDEC 2009 Imagire Day 続・レンダリスト養成講座CEDEC 2009 Imagire Day 続・レンダリスト養成講座
CEDEC 2009 Imagire Day 続・レンダリスト養成講座
 
線形計画法入門
線形計画法入門線形計画法入門
線形計画法入門
 
040 相関
040 相関040 相関
040 相関
 

More from amusementcreators

ライセンスの話
ライセンスの話ライセンスの話
ライセンスの話
amusementcreators
 
空間分割
空間分割空間分割
空間分割
amusementcreators
 
わたしのゲーミング
わたしのゲーミングわたしのゲーミング
わたしのゲーミング
amusementcreators
 
HTML5でゲームが作れます
HTML5でゲームが作れますHTML5でゲームが作れます
HTML5でゲームが作れますamusementcreators
 
かんたん作曲講座(2)
かんたん作曲講座(2)かんたん作曲講座(2)
かんたん作曲講座(2)
amusementcreators
 
かんたん作曲講座(1)
かんたん作曲講座(1)かんたん作曲講座(1)
かんたん作曲講座(1)
amusementcreators
 
猫には分からないオセロAIの仕組み
猫には分からないオセロAIの仕組み猫には分からないオセロAIの仕組み
猫には分からないオセロAIの仕組み
amusementcreators
 
コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!
amusementcreators
 
フォントのしくみ
フォントのしくみフォントのしくみ
フォントのしくみ
amusementcreators
 
AVRマイコン入門
AVRマイコン入門 AVRマイコン入門
AVRマイコン入門
amusementcreators
 
読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム
amusementcreators
 
IEとメモ帳でかんたんゲーム開発
IEとメモ帳でかんたんゲーム開発IEとメモ帳でかんたんゲーム開発
IEとメモ帳でかんたんゲーム開発
amusementcreators
 

More from amusementcreators (20)

ライセンスの話
ライセンスの話ライセンスの話
ライセンスの話
 
空間分割
空間分割空間分割
空間分割
 
わたしのゲーミング
わたしのゲーミングわたしのゲーミング
わたしのゲーミング
 
曲線について
曲線について曲線について
曲線について
 
HTML5でゲームが作れます
HTML5でゲームが作れますHTML5でゲームが作れます
HTML5でゲームが作れます
 
C++11のつかいかた
C++11のつかいかたC++11のつかいかた
C++11のつかいかた
 
DUAL SHOCK2で遊ぼう
DUAL SHOCK2で遊ぼうDUAL SHOCK2で遊ぼう
DUAL SHOCK2で遊ぼう
 
Pythonでゲーム作る
Pythonでゲーム作るPythonでゲーム作る
Pythonでゲーム作る
 
ライフゲーム
ライフゲームライフゲーム
ライフゲーム
 
Lt nande linux_nano
Lt nande linux_nanoLt nande linux_nano
Lt nande linux_nano
 
Lt130123
Lt130123Lt130123
Lt130123
 
コルーチンを使おう
コルーチンを使おうコルーチンを使おう
コルーチンを使おう
 
かんたん作曲講座(2)
かんたん作曲講座(2)かんたん作曲講座(2)
かんたん作曲講座(2)
 
かんたん作曲講座(1)
かんたん作曲講座(1)かんたん作曲講座(1)
かんたん作曲講座(1)
 
猫には分からないオセロAIの仕組み
猫には分からないオセロAIの仕組み猫には分からないオセロAIの仕組み
猫には分からないオセロAIの仕組み
 
コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!
 
フォントのしくみ
フォントのしくみフォントのしくみ
フォントのしくみ
 
AVRマイコン入門
AVRマイコン入門 AVRマイコン入門
AVRマイコン入門
 
読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム
 
IEとメモ帳でかんたんゲーム開発
IEとメモ帳でかんたんゲーム開発IEとメモ帳でかんたんゲーム開発
IEとメモ帳でかんたんゲーム開発
 

Kim120 lt 12_6

  • 1.
  • 3. 物体と物体とが衝突したかどうかを調べる  二点間距離による判定  矩形判定  線分交差判定
  • 4. 円の中心の座標と、円の半径の大きさを使う (X2, Y2) (X1, Y1) D1+D2 (𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < (𝐷1 + 𝐷2)
  • 5. 実行時間計測 1 (𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < (𝐷1 + 𝐷2) 2 (𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < (𝐷1 + 𝐷2)2 3 (𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < 𝐷 ( D=(𝐷1 + 𝐷2)2 ) float[ns] double[ns] 1 ルート有, 距離演算有 27.51 24.7 2 ルート無, 距離演算有 21.6 18.7 3 ルート無, 距離演算無 20.5 19.7
  • 6. 矩形の左上と右下の点を使う (X1, Y1) (X3, Y3) (X4, Y4) (X2, Y2) X1<X4, X3<X2, Y1<Y4, Y3<Y2
  • 7. 実行時間計測 X1<X4 && X3<X2 && Y1<Y4 && Y3<Y2 float[ns] double[ns] 矩形判定 24.61 22.5
  • 8. 線分が交差したか調べる
  • 9. PとQが同じ点を表すことを利用する (X2+Vx2, Y2+Vy2) (X1+Vx1, Y1+Vy1) 1-sP ( X1+t*Vx1, Y1+t*Vy1 ) 1-t t Q ( X2+s*Vx2, Y2+s*Vy2 ) P s Q (X1, Y1) (X2, Y2)
  • 10. 実行時間計測 𝑣 𝑦1 𝑣 𝑦1 𝑦2 − 𝑦1 − 𝑥 + 𝑥 𝑣 𝑥1 2 𝑣 𝑥1 1 𝑠= 𝑣 𝑦1 𝑣 𝑥2 − 𝑣 𝑦2 𝑣 𝑥1 0.0 < s < 1.0 float[ns] double[ns] 交差判定 44.8 36.61