Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

2016 / 3月

内積で誤差?

以前書いたコードで次の様にしていた.

デバッグ版では単位ベクトルにすると誤差が大きい様に感じたが,リリース版ではそれ程でもない?


double Naiseki (const P3& p1,const P3& p2)
{
  // → →  →  →
  // a ・b=|a||b|cosθ
  // a.x*b.x+a.y*b.y+a.z*b.z=sqrt(ax*ax+ay*ay+az*az)*sqrt(bx*bx+by*by+bz*bz)*cosθ
  // … a,bのベクトルが単位ベクトルの時
  // sqrt(ax…) と sqrt(bx…) は 1
  // a.x*b.x+a.y*b.y+a.z*b.z=1*1*cosθ
  // a.x*b.x+a.y*b.y+a.z*b.z=cosθ
  // → →
  // a ・b=ax*bx+ay*by+az*bz
  P3 p1u = p1.Uni() ;
  P3 p2u = p2.Uni() ;
  // return (p1u.x*p2u.x+p1u.y*p2u.y+p1u.z*p2u.z) ;
  // 誤差の補正
  double dp = p1u.x*p2u.x+p1u.y*p2u.y+p1u.z*p2u.z ;
  if (dp<-1 || 1<dp) {
    if (dp < -1.) { dp = -1. ; }
    if (dp > 1.) { dp = 1. ; }
    }
  return dp ;
  }
 
P3 Gaiseki (const P3& p1,const P3& p2)
{
  // → →  →  →
  // a×b=|a||b|sinθ・c
  // → →
  // a×b=(ay*bz-az*by,az*bx-ax*bz,ax*by-ay*bx)
  P3 pt ;
  pt.x = p1.y * p2.z – p1.z * p2.y ;
  pt.y = p1.z * p2.x – p1.x * p2.z ;
  pt.z = p1.x * p2.y – p1.y * p2.x ;
  return pt ;
  }



  にほんブログ村 IT技術ブログへ


VC2015

MSDN にあった C++ を使った “hello world” アプリの作成 (Windows 10) をやっていて,…


実行すると,
—————————
Microsoft Visual Studio
—————————
Windows ストア アプリ ‘5a7750b3-af94-47d7-a064-b9adc49f8813_7r65t4tynye04!App’ をアクティブにできません。アクティベーション要求がエラー ‘Windows はターゲット アプリケーションと通信できませんでした。これは通常、ターゲット アプリケーションのプロセスが中断されたことを示します。詳細については、[出力] ウィンドウ ([デバッグ]->[ウィンドウ]->[出力]) の [デバッグ] ペインで確認できます’ で失敗しました。
この問題のトラブルシューティングについては、ヘルプを参照してください。
—————————
OK ヘルプ
—————————


リビルドしたら通るようになった?が,今度は
—————————
Microsoft Visual Studio
—————————
Windows ストア アプリ ‘5a7750b3-af94-47d7-a064-b9adc49f8813_7r65t4tynye04!App’ をアクティブにできません。アクティベーション要求がエラー ‘アプリは必要な時刻に開始されませんでした’ で失敗しました。
この問題のトラブルシューティングについては、ヘルプを参照してください。
—————————
OK ヘルプ
—————————


全く実行されてないわけではないので,もっと別の所に原因があるのかもしれない.


VB のプロジェクトを生成して,ビルド,実行すると
—————————
Microsoft Visual Studio
—————————
Windows ストア アプリ ‘b4f551ca-330f-478f-ab2e-c23232b2918c_7r65t4tynye04!App’ をアクティブにできません。アクティベーション要求がエラー ‘アプリは開始されませんでした’ で失敗しました。
この問題のトラブルシューティングについては、ヘルプを参照してください。
—————————
OK ヘルプ
—————————



  にほんブログ村 IT技術ブログへ

  • Categories:


    top

    %d人のブロガーが「いいね」をつけました。