タグ

アルゴリズムと3Dに関するedo_m18のブックマーク (9)

  • 円筒と球の衝突判定 はじめました - 原始人のプログラミング日記

    円筒と球の衝突判定って簡単なのでは? 円筒って便利ですよね? キャラクター同士の衝突判定を考えたとき、「キャラクターの当たり判定を球にして移動の軌跡を円筒にする」っていうのが一番最初にぱっと思いつきますよね?そうでもないですか? だけどネットにそこまで落ちてない ネットで衝突判定のアルゴリズム探すんだけど、検索方法が悪いのかいまいち見かけない気がする。 簡単だから 仕方ないので図を書いて考えると、あっさり答えが出てしまった。 なるほど、線分と球の衝突判定をほんの少し拡張しただけなので、あえてネットにまで書く必要がないんですね。(というか、円筒って太さ持った線分だから、そんなの当然の如く分かるでしょ的スタンスなのかもしれない。) 実装は? 適当な図(左が線分と球、右が線分から円筒にする考え方) 線分と球の衝突判定 bool KSphere::operator*(const KSegment&

    円筒と球の衝突判定 はじめました - 原始人のプログラミング日記
  • 衝突判定のアルゴリズム

    2 つの図形の衝突判定 (コリジョン判定) のアルゴリズムをまとめます。 図が用意できておらず見難いですが、ご勘弁を。 太字はベクトルを表します。 線分と三角形 線分を p+tl、 三角形を (1-u-v)q0+uq1+vq2 で表します (t, u, v は媒介変数)。 Tomas Moller のアルゴリズム を Cramer の公式で解きます。 0.0≦t≦1.0, 0.0≦u, 0.0≦v, u+v≦1.0 なら交差と判定します。 半直線と三角形 線分と三角形の場合と同様の計算を行います。 0.0≦t, 0.0≦u, 0.0≦v, u+v≦1.0 なら交差と判定します。 点と球 点と球の中心の距離の 2 乗を求めて、 その長さが球の半径の 2 乗以下なら交差と判定します。 線分と球 線分の始点から終点へのベクトルを v、 線分の始点から球の中心へのベクトルを c とします。 v・c

    衝突判定のアルゴリズム
  • Argorithms ( Ray Tracing )

    レイトレーシング レイトレーシングとは コンピュータによって3次元の画像を計算するアルゴリズムの一方法である。 簡単に考え方を述べると、現実の世界では太陽や蛍光灯から出た光が 物体に当たって反射し、その反射した光が人間の目に入ってものを見ることができる。 レイトレーシングではそれとは逆に目から視線が出て、その視線が物体に 当たった時、その物体が見えていると考える。 そしてその視線が物体に当たった点に当たっている光の強さの程度に よって、その点の色を決定する。 3次元の画像を生成するためのアルゴリズムは他にも代表的なものとして、 スキャンライン、zバッファ などがある。 レイトレーシングは例えばスキャンラインやzバッファと比べて次のような特徴がある。 長所 美しい画像を作りやすい。 透過や屈折の効果を出すことができる。 アルゴリズムがシンプルでわかりやすい。 消費するメモリーが少ない。 短所

  • Reddit - Dive into anything

    A subreddit for News, Help, Resources, and Conversation regarding Unity, The Game Engine.

    Reddit - Dive into anything
  • 物理ベースレンダリング -基礎編-

    みなさんこんにちは! 日Cygamesエンジニアブログを開設しました! 弊社は昨年の夏CEDEC 2014にてPlayStation 4への参入を発表致しました。 ハイエンド据置きゲーム機にもこれまでと変わらず最高のコンテンツをお届けできるよう取り組んで参ります。 大阪の開発拠点  大阪Cygamesも設立され、準備が整えられています。 改めまして大阪Cygamesエンジニアの岩崎です。いままで歴代コンシューマ機を中心にグラフィックエンジンを制作してきました。日々最新のハイエンドグラフィックス技術を追いかけています。 今後グラフィック技術情報を中心にこのブログで定期的に情報をお届けしていきたいと思います。グラフィック分野に限らずその都度良いものがあればご紹介できればと思います 便利なツールや実際にゲーム開発に使えるオープンソースプロジェクトなども紹介していく予定です。 第一弾は…! 今世

    物理ベースレンダリング -基礎編-
    edo_m18
    edo_m18 2015/11/13
    これもいい記事だなぁ。PBRはとてもとても興味があるところなのでしっかり理解したい。
  • GLSL-Projectron | fenomas.com

    Or to be technical, I made a thing that makes things like that thing. (If your device doesn’t render it, it looks like this.) Backstory: a month and a half ago I left my job to make an indie game. One of the many things on my to-do list was “Learn shader programming”, and around that time I ran across this blog post by Roger Alsing about using genetic algorithms to create images. So I tried the sa

  • GJK アルゴリズム 説明 - ぽんこつでばいす

    結構立ちましたが、GJKについてようやっとまとめれたのでアップしたいと思います。 同じように悩んだ方の手助けになればいいかな?って思います。 実装は簡単なんですけど、この記事用のサンプルは組んでません! ヒマが出来て組めたらアップします。 GJK アルゴリズムは凸多面体同士が重なっているかどうかを調べるアルゴリズムです。 どれだけめり込んだか?を調べるアルゴリズムは Johnson's Distance アルゴリズムっていう別のアルゴリズムになりますが、 やっていることは、非常に良く似ています。 まず、GJK アルゴリズムの前提になっている、ミンコフスキー差について解説します。 ミンコフスキー差というのは、2つの物体の差の Swept Volume になります。 要するに、物体AとBがあった時に、B を原点で反転したもの(原点対称)を物体 A の周り(表面)で 移動させたときに生じる領域の

  • その39 知っていると便利?ワールド変換行列から情報を抜き出そう

    ホーム < ゲームつくろー! < DirectX技術編 < 知っていると便利?ワールド変換行列から情報を抜き出そう その39 知っていると便利?ワールド変換行列から情報を抜き出そう 今回はちょっと息抜きです。ワールド変換行列(座標変換行列)は3Dゲームで多分一番よく使う行列だと思います。この行列は回転、スケール、オフセットの3要素から作成します。では、すでに作成されたワールド変換行列からそれらの要素は抜き出す事ができるのでしょうか?またワールド変換行列には具体的にどのような情報が詰め込まれているのでしょうか?この章では、そのようなワールド変換行列から抜き出す事ができる情報について整理してみます。 ① ワールド変換行列の作り方 今更なのですが、ワールド変換行列の基についてまとめておきます。ワールド変換行列は回転、スケール、オフセットの3要素を表す行列の掛け算で作成するのが一般的です。各行列

    edo_m18
    edo_m18 2013/04/28
    ローカル座標のXYZ軸の算出はためになった。
  • ゲームプログラマーを目指すひと これで "2次元と3次元の世界を行き来" できるぞ!

    【リンク】 ◆解説系TOP◆ 今日は、2次元と3次元の座標の相互変換についてのお話です。 ※別の次元(2←―→3)へ座標を変換する方法を紹介します。 別に、自分がアニメの世界に入り込んだり、アニメのキャラクターが現実の世界に出てくる、 という様な意味ではありませぬ。 では、まずコレをご覧下さい。 【参考画像】 メタセコイアです。 メタセコイアでは、普通にカーソルでモデルの表面を選択する事が出来るんですが、 (写ってないですが、黄色くなっている部分がカーソルで指されています) よく考えたら、謎ですね。 x軸とy軸しかないウィンドウ(2次元の世界)から、 x、y、z軸の3次元の世界を選択できています。 一体どうやっているのか? 今日は、この謎の部分を解説します。 (まぁ、先に結論を言ってしまうと、行列で2次元と3次元の座標を変換してます。) では、下記の様な順で書いていこうかな、と。 ----

  • 1