[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 06/10 07:31 / Filesize : 92 KB / Number-of Response : 423
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

3Dアルゴリズム全般



1 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 13:51:26 ]
ネットなんかやってないで数学勉強してこいよ

175 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 03:56:27 ]
シャドウマップで作った影のソフトシャドウってVSM以外で良い方法はありませんか

176 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 23:44:54 ]
>>174
CG 板へ池
pc11.2ch.net/cg/

【初心者も】CG板総合質問スレ【こちら】Part14
pc11.2ch.net/test/read.cgi/cg/1232511462/l50

177 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 23:41:34 ]
いい加減煽りに反応しなさんな

178 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 06:45:37 ]
>>175
VSM以外だとESMとか?

179 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:26:05 ]
東京行ったついでに寄った本屋でGemsを立ち読みしたら、
(LBSと比較し)関節をつぶさない変形のテクニックとして、
球面関節ブレンド処理(名称違うかも)っていうのが載っていたのですが、
これはDouble Quaternionとかその辺と同じものなのでしょうか?

時間が無くてちゃんと読めませんでして、もし違うなら大枚はたいて取り寄せてみようかなと。
ぐぐっても名称が違うのか出てきませんで、ご存知の方いらしたらおながいします。

180 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 01:45:05 ]
>>179
球面関節ブレンド処理については知らないですが、
GPU Gems1から3まではnvidiaの開発者向けサイトで無料で読めますよ。

違うGems本だったらごめんなさい。

181 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 22:44:44 ]
>>180
すいません、そういやそのGemsもありましたね。
Game Programing Gemsの方でしたが、そちらがネットで読めるとは知りませんでした。
これはこれで嬉しい。貴重な情報ありがとうございます。

182 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 18:21:15 ]
最新の情報を追いかけていたいなら
田舎なんか棄てて、東京に来ればいいのに

183 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 13:52:06 ]
皆が皆東京に住めるわけでもないだろ
これだから50Hzで炊いた飯食ってる奴は・・・



184 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 13:55:03 ]
最新の情報を追いたいなら英語のサイトを巡回しまくるのが一番効果的。
東京来いなんて馬鹿馬鹿しいこと言うなよ。これ以上住みにくくしてどうすんだ。

185 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 22:03:23 ]
いやいや、先進的で有能な奴は東京に来ればいいし
そのように在りたい奴も東京に来ればいい
東京から脱落した者が田舎に住めばいい

現に、そういう体制は整いつつあるわけだし
その方が色々と効率的だし
この流れは誰にも止められんと思うがねえ

186 名前:185 mailto:sage [2009/06/15(月) 22:05:52 ]
ニュ速+のスレだからすぐに落ちると思うけど

【社会】農家深刻!ニセ“嫁”詐欺…悪質お見合い業者の実態
tsushima.2ch.net/test/read.cgi/newsplus/1245067936/

東京からの交付金を貰って、やってる事は詐欺とレイプ
農家ってのはいいご身分だね

187 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 22:10:22 ]
こいつ日本語読めないの?

188 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 00:01:56 ]
まあ、変な人はあまり相手にしないほうがいい
疲れるし、時間ももったいないしね

189 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 11:48:38 ]
東京に住んでるというだけで優越感感じるタイプだな。まあザコキャラ

190 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 21:14:59 ]
CGのために引っ越せるならアメリカに引っ越すといいよ

191 名前:デフォルトの名無しさん [2009/07/05(日) 16:47:07 ]
三角形と直線が交差しているか判定する手法を調べていて、
↓のような論文を見つけたのですが、section3に出てくるcullingとはなんですか?
www.cs.virginia.edu/~gfx/Courses/2003/ImageSynthesis/papers/Acceleration/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf

自分は物理のシミュレーションをやっている学生でコンピュータ・グラフィックのことは良く知らないので、
そんな人間にも解る様に教えてもらえるとうれしいです。

192 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 17:11:01 ]
見てないけどcullingといったら通常ポリゴンの裏は描画しないこと

193 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 17:17:25 ]
>>191
その論文の中でback face cullingって書いてあるじゃん。意味は>>192の通り。
その他にもview frustum culling, occlusion culling, portal culling等
色々あるけどね。



194 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 17:22:06 ]
gamealgorithms.tar.hu/
ここの 13章近辺に書いてある

195 名前:191 mailto:sage [2009/07/05(日) 17:28:44 ]
なるほど、わかりました。
ありがとございます!!

196 名前:デフォルトの名無しさん [2009/07/09(木) 23:36:45 ]
LLLアルゴリズムをCでプログラミングしてます。
参考ページや本を見ているのですが、
二次行列で書いてあったり一次行列で書いてあったりしてよく分かりません。
ヒントをください。



197 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 03:25:50 ]
> 二次行列で書いてあったり一次行列で書いてあったりしてよく分かりません

この時点で丁寧に説明してもムダな気しかしない

198 名前:デフォルトの名無しさん [2009/07/11(土) 13:55:16 ]
すみません…。
行と列を入れ替える作業があるから、2次行列だと思ってたんです。
そしたら、別の本にはL={b1、b2…}みたいに書いてあって。
混乱してます。

LLLアルゴリズムは、実数を出来るだけ高さの低い有理数で近似するものだということ。
L={b1、b2…}っていうのは、基底列ベクトルで、これから直交基底を求めるんですか?
あと、携帯からでアドレスコピペできませんが、[指定されたμ(k、l)について絶対値μ(k、l)<=1/2を満たすようにする]って意味がわかりません。


199 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 14:08:51 ]
4次元同次座標から3次元座標への変換について質問です。

通常4次元同次座標から3次元座標へ変換する場合、

V = (x/w, y/w, z/w)

としますが、wが負の値になったときもこれで問題ないのでしょうか?

現在勉強のためにスキャンラインレンダラを書いているのですが、どうも座標変換時に
wが負の値になると描画結果がおかしくなってしまい、ポリゴンがひっくり返ってしまいます。
また、wが負の値になった時点でポリゴンを消すようにすると、該当する頂点が含まれる
ポリゴンが完全にニアクリップ面を通り過ぎる前に消えてしまいます。

OpenGLに変換行列を入れて描画したり、座標変換後の同次座標をglVertex4で描画してみると
正しく描画されるので、使用する行列が間違っているというわけではなさそうですが…

200 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:57:08 ]
「w <= 0.0」はカメラの前にピクセルがないって事だぞ。

201 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:58:07 ]
追記
カメラのニア平面でポリゴンをシザリングしない限りは
ポリゴンごと描画を省くしかない(例:初代プレステ)

202 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:37:46 ]
>>200,201
ありがとうございます。
シザリングについて調べてみて、どういったことを行うか、というのは理解できたのですが、
4次元同次座標のまま平面との交差判定を行うにはどうしたらいいのでしょうか?
wが負の値の場合、3次元座標に変換した時点ですでにおかしくなってしまうので、
4次元同次座標のまま交差判定を行う必要があると思うのですが、調べ方が悪いのか、
やり方が出てきません。

203 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 10:00:53 ]
普通にカメラ空間で平面と直線の判定してポリゴン分割しろ。
ただの空間図形の話だ。



204 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 13:53:12 ]
>>202
あるプロジェクション空間の座標が画面内にあるかどうかは、
w*画面サイズ と比べればよい。
またいでいたら交差している。
できれば、プロジェクション空間を ( -1, -1, 0 ) - ( 1, 1, 1 ) と
しておくと、画面サイズを乗算する必要が無くなる。
他にも理由があるので、画面サイズを乗ずるのはラスタライザ
に送った後の方が良いと思う。
プロジェクション空間への変換マトリクスが適当なら、Z がニア
平面にあるときに w が 0 にならないはずだから、三角形の
どれかの辺が (-w, -w, 0 ) - ( w, w, w ) をまたいだら、その点
でカットすればよい。ただしここで頂点ごとに w が異なることに
注意。x なり y なり z なりが、w だったり -w だったり 0 だった
りになる点である。
なお、この処理は平面方程式を構築した後にスキャンライン
ごとに行っても構わない。
(もしかしてパースペクティブコレクションはまだだったりする
 のだろうか)

何か少し自信ない。勘違いや漏れがあったら申し訳ない。

205 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:36:20 ]
>>203,204
返事が遅くなってしまい申し訳ありません。
いろいろ試したところ、どうにか>>203の方法でシザリングすることが出来ました。
ありがとうございました。

>>204
一応テクスチャとテクスチャのパースペクティブコレクションは先に実装してました。
現在は変形終了後に画面サイズに合わせていますが、ラスタライザに送ってから画面サイズを
掛ける方がいいというのはどのような理由があるのでしょうか?

206 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 22:48:00 ]
2D Spriteライブラリ作りたいです
なにすればいいの?

207 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:02:51 ]
スタディとコーディングかな

208 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:04:10 ]
>>207
参考文献じょうほうよこしやがれください

209 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:04:46 ]
ポリゴンにテクスチャ貼ればいい。

210 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:16:07 ]
googleに知りたい言葉を並べればおk

211 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:25:32 ]
>>208
鼻糞死ね

212 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 01:23:47 ]
>>208
一冊で用が済む本は無いから、目に付く限り近場の図書館にリクエスト出して全部読みなさい。

213 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 13:51:27 ]
age



214 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 06:50:20 ]
過疎ってるな

215 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 00:06:55 ]
こんな過疎っているときは
レイトレvsラスタライザ
格子法vs粒子法
GPUレンダリングvsCPUレンダリング

みたいな熱く盛り上がる議論を繰り広げたら楽しいんじゃないだろうか。

216 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 01:01:04 ]
格子法vs粒子法希望

217 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 01:12:27 ]
gems6ほしい

218 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 02:42:53 ]
格子法は粒子法と比較すると計算しやすそうだけど、流体、気体のシミュレーションにしか使えないというイメージがある。
粒子法は近くにある粒子や接触している粒子のペアを探したりするのが大変そう。

219 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 11:43:33 ]
その2つは根本的に計算の方法が違うんですか?
その計算手法の特性に合わせるだけでしょうし。

220 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 11:56:53 ]
またもや知ったかか

221 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 12:53:36 ]
過疎ってるっていうから書き込んでみたのに早速それか。何が議論だおまえはアホかw

222 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:13:50 ]
>>219
根本的に違うよ。
格子法は空間を規則的に分割して計算。
粒子法はシミュレーションしたい物体を分割して計算。
レイトレとラスタライズ並みに違う計算方法なんだよ。

格子法でも剛体シミュや布シミュが絶対無理ってわけではないけど
実用的に使うには無理というか、無駄が大きくい。

223 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:15:25 ]
h木で不均一空間分割すればそれなりに軽くなるけど粒子法がいい場合もあるね



224 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 01:44:08 ]
>>222
ならその2つで何の議論ができるというんだ?

225 名前:デフォルトの名無しさん mailto:sage [2010/11/08(月) 22:50:03 ]
4x4の行列からx,y,z の回転角度を求めるにはどうすればいいのでしょうか?

226 名前:デフォルトの名無しさん mailto:sage [2010/11/09(火) 12:40:50 ]
何故、4x4かを考える。
ヒント)クォータニオン

227 名前:デフォルトの名無しさん mailto:sage [2010/11/17(水) 14:21:59 ]
すげー

228 名前:デフォルトの名無しさん mailto:sage [2010/12/07(火) 19:43:54 ]
重み付きのサブディビジョンサーフェイスの
効率いいアルゴリズムがピクサーに特許取られててムカツク。

ってのはひょっとして時代遅れ?
何か代わりになるアルゴリズムってある?

229 名前:デフォルトの名無しさん mailto:sage [2010/12/30(木) 13:49:45 ]
至高のシーン管理術について

230 名前:デフォルトの名無しさん mailto:sage [2011/01/17(月) 02:35:41 ]
struct node
{
virtual void draw() = 0;
std::vector<node*> children;
};

std::vector<node> scene;

231 名前:デフォルトの名無しさん mailto:sage [2011/01/23(日) 18:13:33 ]
しーん

232 名前:デフォルトの名無しさん mailto:sage [2011/01/24(月) 20:10:31 ]
>>230
これ最高だな。
nodeのインスタンスはどっか適当なメモリプール作ってallocator作ればいいわけだし。

233 名前:デフォルトの名無しさん mailto:sage [2011/01/24(月) 20:28:42 ]
なぜ
std::vector<node*> scene;
ではいけないのですか



234 名前:デフォルトの名無しさん mailto:sage [2011/01/24(月) 21:48:16 ]
>>233
特にそれでも問題はないよ。

235 名前:デフォルトの名無しさん mailto:sage [2011/02/01(火) 17:59:53 ]
シーンマネージャーを作って、ゲームループから帰ってきたScene*を次に実行させる
面倒なのでスマポで管理させて古いシーンは上書きで勝手に消えるようにする

236 名前:デフォルトの名無しさん mailto:sage [2011/05/13(金) 08:04:11.05 ]
ガッ

237 名前: 忍法帖【Lv=3,xxxP】 mailto:sage [2011/06/09(木) 22:42:41.88 ]
??????

238 名前:uy ◆yyC0rYWEq2 mailto:sage [2011/06/22(水) 13:56:59.20 ]
はぁ・・・
シーンを現す変数はいらねーから、

誰一人そこまでたどり着いていないとかゴミかよ、ゴミが

とりあえずツリー構造の管理方法考えてみればぁ???wwWWww

239 名前:デフォルトの名無しさん mailto:sage [2011/06/29(水) 17:15:18.88 ]
シーン管理、ツリー構造は3D関連のアルゴリズムではない。

240 名前:天使 ◆uL5esZLBSE [2011/07/01(金) 17:04:36.72 ]
>>204
↑ハァァアァァァァァァァァアァァァァアァアァアァアァァ?????
さっさと死ねばいいんじゃね?
マジでゴミなんだな


241 名前: 忍法帖【Lv=2,xxxP】 mailto:sage [2011/07/02(土) 01:28:55.95 ]
>>239
データ構造はアルゴリズムの実装のし易さや、実行効率に影響するかもしれないので
まったくアルゴリズムに関係無いとは言い切れないだろう。

アルゴリズムとデータ構造は切っても切り離せない関係なんだょ

242 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 23:30:41.52 ]
zバッファを拡張して透明とか表現できんですかね?

243 名前:デフォルトの名無しさん mailto:sage [2011/08/12(金) 06:53:59.03 ]
透明「感」を出すだけ、ならたやすいけど
ちゃんとやりだすと光線追跡になるのでたいへん。

CG って高校幾何で済む部分と、
学部生でも工夫でどうにかなる部分と
現実的な時間でテキパキ処理するためのアルゴリズムみたいに博士論文テーマになりそうな部分やら・・
どこまでやるか、で悩むよね。自分は第2で止まってしまった。



244 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2011/08/12(金) 11:38:08.79 ]
t

245 名前:デフォルトの名無しさん mailto:sage [2011/08/12(金) 16:22:32.20 ]
>>242
どういう風に拡張するの?



246 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 13:46:25.42 ]
透明なポリゴンはZバッファに描画しないとか、
透明フラグも立てて、最後まで残っていたらそこんところをぼやかすとか
透明ポリゴンだけソートして最後に描く(?)とか。
AAも絡むと凄く面倒だと思う。


247 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 14:08:26.87 ]
>>246
ハードの話なのかソフトの話なの?
どこのレイヤの話で、それで誰がどういう場面で得するの?

なんか小難しいコト言ってみたかっただけなんでしょ?

代表的なライブラリとかハードウェアの実装を調べてみようとかいう気なんてサラサラないよね。
面倒だもんね。

でもそれでいいんだよ。
2chなんだから。
そういう下らないこと沢山書いていきなよ。
ついでに気が向いたら PowerVR のことでも調べてみなよ。

248 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 16:36:40.08 ]
246=242と言うわけでもあるまいに。

249 名前:246 mailto:sage [2011/08/13(土) 19:29:01.23 ]
242じゃないよ。
PowerVRはZバッファ持たないだろ。
ぜんじーの本でも読むよ。

250 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 20:53:38.77 ]
>>249
チップ内に少なくともタイル1枚分はあるだろ。

242のはAバッファのことをいってるのか?

251 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 20:55:15.26 ]
242に聞けよ

252 名前: 忍法帖【Lv=21,xxxPT】 mailto:sage [2011/08/15(月) 01:37:24.97 ]
order independent transparencyの話かと思ったけどそうではない?
ttp://www.geeks3d.com/20100610/3d-programming-fast-a-buffer-algorithm-demo-using-opengl-4-0/

253 名前:デフォルトの名無しさん mailto:sage [2011/08/15(月) 07:53:56.41 ]
あそびでやってるだけでことごとく自作コードなので
ライブラリな事はしらないけど・・・

とある要素を描くときに、その時点で
一番手前にあれば、0.5 x (その要素の色) + 0.5 x (それまでの色) 、
そうでなければ 0.1 x (その要素の色) + 0.9 x (それまでの色)
とかすればzbuff 法でつくったものにすこし手を加えるだけで、
順番不問でいちおう透明感を出せるコードは作れると思うが。比率は適当にいじって。



254 名前:デフォルトの名無しさん [2011/08/15(月) 10:34:39.47 ]
バカ発見

255 名前:デフォルトの名無しさん mailto:sage [2011/08/18(木) 10:44:07.63 ]
世の中のほとんどは馬鹿なんだが
実際問題として
自分がその馬鹿の一人だと
気付いてる香具師は少ない

256 名前:デフォルトの名無しさん [2011/08/18(木) 11:41:49.90 ]
かっこいい!
ってレスが欲しいのだろうか・・・・へんなの

257 名前:デフォルトの名無しさん [2011/08/18(木) 13:01:15.76 ]
>>253
本当にそれやってるの?
だったらおかしいところに気づくよね?

258 名前:デフォルトの名無しさん mailto:sage [2011/08/18(木) 13:32:14.66 ]
阿呆言う香具師が阿呆

259 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 05:03:46.68 ]
>>253 のやり方でそれっぽいのは作れた。
・・ポリゴンの数増やしたらぼやけまくりになったがw
少数ならこれでいいとおもうよ。>>257 は複雑な状況を考えてるの?

260 名前:デフォルトの名無しさん [2011/08/19(金) 10:09:43.50 ]
馬鹿発見

261 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 21:01:57.05 ]
ハフマン木を作成する際、偏ったデータの場合、枝の階層が深くなってしまい、結果刈りを行う処理が発生するということですが
その理由を説明してもらえませんか?


262 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 21:17:07.68 ]
>>281です、スレチでしたごめん

263 名前:デフォルトの名無しさん [2011/08/22(月) 15:10:31.12 ]
3Dグラフィックスのための数学[改訂版] 大川善邦
っていう本読んだ人いないかな?
70ページの問題3.12の回答のマトリックスの2行目ってこれであってるの?



264 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 17:58:36.62 ]
本を特定せず、わからないことを3行にまとめて聞いたほうがいい

265 名前:263 [2011/08/22(月) 18:54:02.74 ]
{ cos(b), 0, -sin(b) }{ cos(c), sin(c), 0 }
{ sin(a)sin(b), cos(a), sin(a)cos(b) }{ -sin(b), cos(c), 0 }
{ cos(a)sin(b), -sin(a), cos(a)cos(b) }{ 0, 0, 1 }
すいません、正しい書き表し方がわからないんですが
3*3の2つの行列の積のつもりです
この計算結果を教えて頂きたいです
童貞は排除していただいてかまいません

266 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 19:19:13.28 ]
>>263
3.10 と 3.13 は間違ってるみたいよ
ttp://www.kohgakusha.co.jp/support/3dgmath/index.html

267 名前:263 [2011/08/22(月) 20:15:23.82 ]
>>265の解答が
{ cos(b)cos(c), cos(b)sin(c), -sin(b) }
{ sin(a)sin(b)cos(c), -cos(a)sin(c), sin(a)sin(b) }
{ cos(a)sin(b)cos(c)+sin(a)sin(c), cos(a)sin(b)sin(c)-sin(a)cos(c), cos(a)cos(b) }
なんだけど2行目ってコレであってる?

268 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 20:35:05.04 ]
>>265
> { sin(a)sin(b), cos(a), sin(a)cos(b) }{ -sin(b), cos(c), 0 }

これ { -sin(c), cos(c), 0 } じゃねーの?

どっちにしろ>>267は変だけど

269 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 20:56:23.75 ]
>>268
のとおりだと思う
cos(b)cos(c), cos(b)sin(c), -sin(b)
sin(a)sin(b)cos(c)-cos(a)sin(c), sin(a)sin(b)sin(c)-cos(a)cos(c), sin(a)cos(b)
cos(a)sin(b)cos(c)+sin(a)sin(c), cos(a)sin(b)sin(c)-sin(a)cos(c), cos(a)cos(b)

270 名前:263 mailto:sage [2011/08/22(月) 21:14:46.55 ]
>>268
> { sin(a)sin(b), cos(a), sin(a)cos(b) }{ -sin(b), cos(c), 0 }
すいません-sin(b)は自分のタイプミスでした・・・
{ sin(a)sin(b), cos(a), sin(a)cos(b) }{ -sin(c), cos(c), 0 }
正しくはこうです
>>269
計算ありがとうございます
自分もそのような解答になりました。
とりあえず本の解答は誤字っぽいのでスルーして進めようと思います。

271 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 21:23:29.33 ]
これ見ただけでどんな変換しようとしてるのかわかる人

272 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 21:43:10.48 ]
Z軸回転じゃん。

273 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 21:52:51.79 ]
aとbは



274 名前:デフォルトの名無しさん [2011/08/22(月) 22:09:42.72 ]
レベル低すぎ
出直して来い

275 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 22:28:30.21 ]
>>273
極座標だろ

276 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 23:00:10.39 ]
ただの行列計算に親切に回答してあげる人もいる

277 名前:デフォルトの名無しさん mailto:sage [2011/08/23(火) 10:31:37.01 ]
Maxima使っとけ

278 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 20:40:00.05 ]
回転を表したクオータニオンから逆に各軸X・Y・Zを基点にした3方向の角度はどうやったら計算出来ますか?

279 名前:278 mailto:sage [2011/09/12(月) 21:02:48.35 ]
ただし、クオータニオンの軸は0,0,0を通るはず

280 名前:278 mailto:sage [2011/09/12(月) 21:13:12.97 ]
適当な数字を回転させてみればいいのか

281 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 21:21:15.48 ]
クオータニオンで行列を回転させる式、で、
1 0 0
0 1 0
0 0 1 を回転されたもの、が求めてるものかな?

それともオイラー角を求めたい?

282 名前:278 mailto:sage [2011/09/12(月) 21:51:12.42 ]
オイラー角とか言われてもよくわからないんだけどっていうレベルなんですが
飛行機を飛ばすゲームみたいなユーザー操作でぐるんぐるん回すやつだと
クオータニオンの方が管理しやすいらしくてクオータニオンでやってるけど
簡易マップみたいなのに今どこにいてどの方角を向いてるのかを表示したくて
そうするとY軸まわりの回転角度が欲しいんですよね

283 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 22:26:28.61 ]
281じゃないが、
その飛行機がZ軸向いてるなら、クオータニオンの行列で(0,0,1)を変換すれば向いている方向は出るし
ロールが欲しければ(1,0,0)を変換すればいい




284 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 06:39:42.08 ]
>>278
右手系か左手系か、
オイラーで回す軸の順番とかでいろいろ変わる。

左手系 x-y-z でよければ
en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles
参照

285 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 13:10:35.48 ]
アルゴリズムにもよるけど、
右に100度向いているクォータニオンをオイラー角に直したら、
左80度向いて180度宙返りあーんどバレルロールとか
アクロバチックなオイラー角になる可能性もあるので注意。

方位計が目的ならこれは問題あり。

286 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 01:39:46.75 ]
こんにちは。
メッシュの覆う直方体を求めたいのですが、
その体積を一番小さい直方体を求める手法というのは
あるのでしょうか?

287 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 05:25:07.68 ]
各軸の最小値と最大値を求めるだけだろ

288 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 08:47:00.81 ]
>>286
常に最適なものが見つかるアルゴリズムはない。
ゲームプログラミングのための3Dグラフィックス数学
4939007375
に、頂点の分布から主要な軸を推定する方法が載ってたような。

289 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 08:48:55.42 ]
>>287
説明が足りませんでした。
各軸ですと例えば乾電池が斜め向いていると、囲む直方体が大きくなってしまいます。
乾電池は円柱ですからほぼ同じ大きさになるような直方体の求め方があるのかなと思い
質問させていただきました。

290 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 10:31:38.38 ]
>>289
その件が>>288が紹介した本に書いてある
「主成分分析 3Dグラフィックス数学」でググるといくつか見つかるかも

291 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 19:10:15.15 ]
>>289
その辺の話は、AABB OBBでググるがよろし。
剛体なら先に求めておくといい。

292 名前:デフォルトの名無しさん mailto:sage [2011/10/16(日) 18:42:31.48 ]
スケーリングや回転を適用したままエクスポートされた3Dモデルがあるんですが、
ゲームで使う前に頂点データにそのモデルの変換行列を適用して単位行列にしたたほうがいいですか?

293 名前:デフォルトの名無しさん mailto:sage [2011/10/16(日) 18:48:31.61 ]
>>292
どちらでもいい

ロードしてゲームで処理するシステムを作る側の人間が
使いやすいと思う方でやるべき



294 名前:デフォルトの名無しさん mailto:sage [2011/10/17(月) 01:06:09.54 ]
>>293
ありがとうございます^^

295 名前:デフォルトの名無しさん [2011/10/25(火) 20:10:38.24 ]
誰か教えてください。
アルゴリズム入門の授業なんですが
・性の小数部分を求めるサブルーチンDECのフローチャートを書け
・サブルーチンDECとサブルーチンINTを使って入力した正の実数の小数点以下を切り上げた
 整数を表示するフローチャートを書け
お願いします

296 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 09:57:00.13 ]
金払って入門してるんだから、わからないことは教師に聞くべき

297 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 13:42:15.52 ]
>>296
その教師だったりして

298 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 14:47:16.85 ]
「性の小数部分」が気になる件。
それで3Dなんだろ?なんか燃える

299 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 14:52:33.54 ]
マジな話、>295の条件だけでフローチャートなんて書けないよね。
小数部分を求めるのに使えるサブルーチンが提示されていないんだから。
例えば整数化のサブルーチンを使えるかどうかさえ分からない。
それにしても、なんでDECなんだろう……

300 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 19:14:28.55 ]
decimal representationからかねえ>DEC
これチャートつーか、分岐ある?


301 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 19:15:18.58 ]
ビット演算すればいいのでは?
まあCPU指定しないと、いけないけど

302 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 20:20:49.49 ]
1未満になるまで1を引きまくればいい

303 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 09:36:14.65 ]
オブジェクトの向いてる方向をベクトルで表現したい場合って
オブジェクトの前方向と右方向の2つのベクトルで十分だよね?3つめの上方向のベクトルまで必要なときってある?



304 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 12:40:33.22 ]
>>303
「向き」は球面座標系で表現できるから、情報量としては2次元で十分

向いてる方向と直行する面上に回転させた「姿勢」も表現したいのなら、
3次元分の情報が必要

305 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 17:21:17.75 ]
>>303
表現するだけなら2つで十分。
外積一発で出るんだし、ついでに出しとけって感じなんだろう。

そのオブジェクトの向いている方向に座標系変換するなら、連立方程式にするのが簡便なので、その成分として3つ目のベクトルも使う。

前と右よりは、前と上のことが多いと思う。

306 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 19:22:55.28 ]
>>303
冗長な表現を用いる場合は、誤差が蓄積して破綻しないように正規化が必要になる。
ベクトル2本や3本だと、それらが直行するように常に保たないといけない。

まぁ、そんなこと気にするのは固定少数使ってた時代の話かもしれんがw
floatなら正規化なしで1日くらい回し続けても、目に見える破綻が起きたことはないな。

307 名前:デフォルトの名無しさん [2012/01/08(日) 22:37:33.92 ]
自分で計算して作った3Dポリゴンを3Dファイルにして他のソフトに渡したいんですが、
何かいいライブラリか参考サイトありませんか?
なるべく多くのソフトで使われていて簡単に扱えるフォーマットがありがたいです。
環境はDirectX9とC++です。

308 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 01:31:44.50 ]
>>307
X
OBJ
COLLADA

この辺りじゃないか

309 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 02:37:03.18 ]
紅だー!!!!!

310 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 13:56:04.39 ]
>>308
ありがとうございます。
COLLADA DOMとかいうのがあるみたいなので、それを調べてみます。

311 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 15:50:33.46 ]
【速報】2ch全鯖死亡 (※嫌儲以外) ★2
awabi.2ch.net/test/read.cgi/poverty/1327139457/


【速報】韓国からの攻撃だったことが判明!!!!!
awabi.2ch.net/test/read.cgi/poverty/1327146261/

★414 名前:ポンギツ★[sage] 投稿日:2012/01/21(土) 20:01:08 ID:????
韓国から過剰のアクセスがあるみたいです。
今。対応中です。

312 名前:デフォルトの名無しさん [2012/01/27(金) 16:22:41.24 ]
3Dの2つのベクトルから回転角度と回転方向を得るにはどうすれば良いですか?

313 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 17:09:42.00 ]
>>312
回転軸は外積で、2つのベクトルがなす角は内積で得られるよ。



314 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 18:28:00.43 ]
>>313
a.x=0.0f;
a.y=1.0f;
a.z=0.0f;

b.x=1.0f;
b.y=0.0f;
b.z=0.0f;

これの外積は全て0.0fになってしまってうまく行きません。

315 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 18:48:10.48 ]
>>314
その場合外積は0にならんでしょ。

316 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 18:57:02.75 ]
>>315

具体的な計算手順を教えてくれませんか?
どうやっても0になる

317 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 20:15:19.55 ]
二次元ベクトルの外積をそのみまま拡張して使ってる?
三次元ベクトルの外積はxyzwの結果になるやつだよ
式はググれ


318 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 20:24:51.20 ]
>>314
c.x = a.y * b.z - a.z * b.y = 1 * 0 - 0 * 0 = 0
c.y = a.z * b.x - a.x * b.z = 0 * 1 - 0 * 0 = 0
c.z = a.x * b.y - a.y * b.x = 0 * 0 - 1 * 1 = -1

319 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:33:47.48 ]
ありがとうございます。

320 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 17:06:56.09 ]
AABBで各頂点を比較するやり方だと互いに突き抜けている箱の
当り判定を正確に行えませんよね?

321 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 17:51:54.99 ]
>>320
ちゃんと、
AABBとAABB
AABBとOBB
AABBと凸面体一般
AABBとポリゴン
AABBとその他
のどの交差検出の話なのか明確にしてから質問しないと誰も答えてくれないよ。
Separating axis theoremとかGJKでググっておけばいいと思うけど。

322 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 18:56:23.61 ]
AABBのやりかた間違ってるだけじゃね
何にたいしてどんな比較やってるか書いて

323 名前:320 mailto:sage [2012/02/04(土) 20:22:22.54 ]
AABBとAABBです。
なんて言えばいいんですかね。
十字架のようにクロスしていて片方はちょっと大きいです。
そうすると頂点は一切接触していないので当たっていると判定されないのです。



324 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 22:41:14.69 ]
AABBだよね?
a.min.x<b.max.x かつb.min.x<a.max.x
yとzも含め全ての軸で同様の状態なら重なってる
違ったら重なってない
終わり


325 名前:320 mailto:sage [2012/02/05(日) 00:59:01.79 ]
www.dotup.org/uploda/www.dotup.org2597301.png.html

だから、その方法だとこういうのは当たってると判定されないよねって聞いてんの

326 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 01:05:14.82 ]
判定されるだろ

327 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 01:09:19.63 ]
>>320
判定されないという計算を晒してみた方が早いと思う

328 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 11:37:32.85 ]
2次元に落としてロジックを試してみろ

329 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 11:14:22.13 ]
これくらいも自分で解決出来ないのなら正直3Dとか向いてないからさっさと手を洗った方がいいぞ
人間には適性てのがあって努力してもできない事があることを理解したほうがいい



330 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 20:54:10.73 ]
>>329
性格の腐った奴だな
お前は今まで多くの人間が携わって蓄積されてきた様々な3D技術を一人で開発出来たのか?
出来たという自信が無いなら3Dなんてやめろ

331 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 01:49:52.51 ]
AABBの衝突判定は蓄積とか3D技術とか言うレベルじゃないと思うが…
自分の頭で衝突してる・してないが判断できるんだからそれを式で表現するだけじゃん。
いやもちろん、自分の頭で判断できるけど式ではどうしようかっていうのが
世の中にはたくさんあるけど、これはね。というわけで327が近道かと。

332 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 12:25:08.54 ]
>>330
劣等感の強い奴は常に誰かを批判や恫喝していないと、
アイデンティティを保てなくて死んでしまうらしいよ。

子供の頃のイジメ役の子供も、劣等感の裏返しからイジメている奴は、
3, 40の大人になった時に鬱になって、自殺することが多いらしい。

こいつもきっと劣等感の裏返しだから、その内、この世から居なくなるよ。
自分で勝手に。

だから、無視無視。

333 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 13:20:20.77 ]
これだけの話で「性格の腐った奴」とか「劣等感の強い奴」とか言っちゃう人達って……
つーか、>330=>332?



334 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 14:05:06.54 ]
>>330
優しくしてほしかったら2chになんてくるなよ。

335 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 16:15:54.46 ]
>329 == >333 == >334 は、Trueだよな!

336 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 16:26:36.67 ]
よく手を洗え

337 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 19:01:09.78 ]
3Dに向き不向きとか言ってるアホがいる事に戦慄を覚えた

338 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 20:18:28.29 ]
ぶっちゃけ根気良くやってりゃ誰でも出来るよな

339 名前:デフォルトの名無しさん [2012/02/08(水) 06:01:46.31 ]
根気よくやってもできない奴には不向き

340 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 07:17:12.59 ]
普通、大人になってからは、できないものを根気よく続けられない

従って、根気よくやれているのなら、できていない事はあり得ない
他人よりも進むスピードが遅いだけ、前へは進んでいるから安心して良い

それでも、もう少しスピードを上げたいのなら、急がば回れだ
基礎中の基礎から勉強し直してみて、
ひとつひとつ、どこまで理解できてどこから分からないか、
全方位、理解の最前線を確認して明確にすべし
そこを明確にすれば、次に何をどう勉強すれば前進できるか分かるから、
計画も立てられてスピードアップすること間違いない

341 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 12:41:17.03 ]
確かに、ベクトルを理解するのに、中学の幾何を復習するのは実のあることだ!

342 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 12:18:55.51 ]
空間内で、多角形と直方体の交差判定をしたいです。
直方体の方は各辺が軸に平行として構いません。
今のところ多角形を三角形分割して三角形と直方体の交差判定をする
しかないかと思っていますが、三角形と直方体の交差判定も、
いまいちな方法しか思いつきません(三角形を「ペイント」する方法)。
定番の方法などあれば教えてほしいです。

343 名前:デフォルトの名無しさん [2012/02/11(土) 16:09:21.00 ]
前にこういうの参考にいろいろやったりして、リアルタイムにハードもソフトも進化してく時期だったから楽しかったんだけど
最近はなんか新しいのが無いなって
www.t-pot.com/program/history.html

今は何が熱いんだ?

>>342
GJKとか三角形vs三角形でやる方法とか

gjk
angra.blog31.fc2.com/blog-entry-115.html

俺のソースコード晒そうか?AABBツリーでしかも交差した線をなぞってわっかを取得できるやつ
Delphiだけど

問題点は浮動小数点だから、整合性が保たれないことがあるんだよな。わっかがわっかにならないことがある
これに対処するアルゴリズムはいまだ思いつかない



344 名前:デフォルトの名無しさん [2012/02/11(土) 16:14:14.19 ]
つまり浮動小数点の比較回数を理論上の最小にすれば解決するんだよな

こっちの線 vs 三角形とこっちの線 vs 三角形が浮動小数点の誤差で別の方向に転がると破綻する

345 名前:デフォルトの名無しさん [2012/02/11(土) 17:55:44.48 ]
eri-45.3>or>45.35=uiui

346 名前:デフォルトの名無しさん [2012/02/11(土) 18:02:14.26 ]
>>345
いやさ。三角形と直線と判定するときに
ある三角形と直線が交差したとする(でも線上でぎりぎり)

隣の三角形と直線を判定するときに、一辺に関してはもうどっち側か判定してあるわけじゃん
この例だと向こう側。だからその二度目の比較を回避しないといけないなって

ちょっと考えてたらアルゴリズム思いついた。久しぶりに書こうかな

347 名前:デフォルトの名無しさん [2012/02/11(土) 18:16:15.72 ]
いや・・・ DirextX (左手系)だろうが、OpenGL(右手系)だろうが
なかなか超えられない壁がある。

クオータニオンのi,j,kはどの座標系の基底ベクトルに対応してるのか、
とか基底変換行列、回転変換行列、座標変換行列の関係とか。
の違い

348 名前:デフォルトの名無しさん [2012/02/11(土) 18:17:33.45 ]
>>347

ごめん.最後の行はゴミ


349 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:19:50.01 ]
誤爆じゃないのかよwww何に対してのレスだ?

350 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:35:21.12 ]
>>343
> 最近はなんか新しいのが無いなって

新しいというのが何を指しているのか分からないが、
たとえば下記のブログの「Programming」カテゴリーで紹介されてのは、
その時々での結構新しい技術だと思う
masafumi.cocolog-nifty.com/masafumis_diary/

ただ、そこのは紹介だけだから、実際のコード例なんかは
紹介してる技術のキーワードを元に海外のサイトを探した方が早いと思う

あとは、SIGGRAPH なんかを追ってもいいと思う

351 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:20:29.39 ]
西川善司、手術成功しちゃったのか。

352 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:22:54.16 ]
>>351
ゼンジーのひと手術したのか。
シェーダー本買ったけど、初心者にわかりやすくてよかったんで、もっと書いて欲しい。。

353 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 00:52:41.92 ]
>>344 ありがとうございます。gjkのサイトわかりやすい。知らなかっ
たので勉強になります。考えているのは多面体同士でなくて片方多
角形なんですが、多分gjk使えますね。 直方体にgjkは大掛かりな気
もしますが、ミンコフスキー差を使うのは簡明なので、これで考え
てみます。

Delphiでわっかの取得というのも魅力的ですが、Delphiはわっから
ないので今回はお気持ちだけ受け取りました。



354 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 04:20:57.52 ]
Geometric Tools for Computer Graphics
っていう本に書いてあったseparating axis theoremの方がGJKよりシンプルな気がする。
片方の図形がAABBなら計算を簡単にできそうだし。

このサイトにあるライブラリには
よく使う図形の交差検出や距離を計算する機能がまとまっているので
使えるかも。
www.geometrictools.com/

GJKもseparating axis theoremも凸面体の交差判定に使うアルゴリズムだと思うけど
どう使いわけたらいいんでしょうか?

355 名前:デフォルトの名無しさん [2012/02/12(日) 04:32:13.88 ]
separating axis theoremってOBB同士でやったことがある。GJKは理解不能
そりゃあ原理を理解することはできるけど、それを速くコーディングするのはちょっとアクロバティックじゃないか?

三角形vs線分でやるのが無難。凹凸考えなくていいし

356 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 04:34:07.89 ]
OBBは直方体だからseparatingなんちゃらで射影する計算が少し減るんだよな

357 名前:342=353 mailto:sage [2012/02/12(日) 12:26:06.04 ]
>>354 www.geometrictools.com/ すごいですね。サンプルコー
ドに数学の説明もあればもっと嬉しいですが。現状では、AABBと多
角形の交差判定の、次の方針を考えています。間違えてなければい
いんですが。

(1) 多角形がz軸に平行ではないときのみ考える。そうでなければ軸の役割を交換。
(2) 多角形の載る平面Pの方程式にAABBの8頂点を代入し、
符号を比較することでAABBと平面Pの交差判定をする。
(3) 交差していれば、平面PとAABBの12辺との交点をあれば求め、それらを
xy平面に正射影し、その凸包Xを求める (XはAABBの平面Pによる切断面の正射影)。
(4) 多角形のxy平面への正射影Qと、凸包Xの交差判定をする。

凸包の求め方と(4)の判定をまだ考えていませんが、2次元に落ちて
いますし勉強してみます。

358 名前:デフォルトの名無しさん [2012/02/12(日) 12:52:49.65 ]
>>357
ここに説明全部あるぞ
www.geometrictools.com/Documentation/Documentation.html

なんでAABBと判定するんだ?AABBの利点って回転ごとに計算しないといけない代わりに
AABB同士だと爆速ってことにあるんだけど、AABB vs 三角形だとそこまで速くはならない
6回の比較で済むんだよ。18命令くらいで終わる、しかも分岐無し

汎用的な、三角形vs線分の関数をまず作って組み合わせたほうが楽だし、この場合オーバーヘッドもそんなに無い

359 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 12:54:16.13 ]
dependency chainも無しな。cpuによるけど、20クロックじゃないかなって予想

360 名前:357 mailto:sage [2012/02/12(日) 21:38:27.55 ]
>>358
bounding boxを考えたわけではないので、AABBという語は誤解させ
てしまいました。辺が軸と平行な直方体と読みかえて下さい。それ
しか考えていません。

> 汎用的な、三角形vs線分の関数をまず作って組み合わせたほうが楽だし、

について、直方体として、頂点が (a,b,c) (a,b,cは0または1) とい
う1辺が1の立方体を考えたとき、
三角形 (1/3, 1/3, 1/2), (2/3, 1/3, 1/2), (1/3, 2/3, 1/2) とか、
三角形 (-1/3, 1/3, 1/2), (4/3, 1/3, 1/2), (1/2, 4/3, 1/2) とかも、
立方体と交差していると判定するわけですが、これらも含む一般の
場合に、三角形とどの線分との交点を調べるのか理解できていませ
ん。あまり考えていませんが自分で考えろってことですね。

361 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 22:10:56.56 ]
それが分からないで3Dやるのはきついぞ。高校1でも分かる

362 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 22:14:25.25 ]
そういうことか

直方体を三角形の集合としてみるじゃん
つまり一般に三角形の多面体同士の交差判定するのよ

ふたつの多面体をAとBとしたときに

Aの三角形全て vs Bの線分全て
Aの線分全て vs Bの三角形全て

を調べればいい。交点もついでに全部計算できる

363 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 23:31:30.61 ]
直方体(AABB)の内部に三角形がすっぽり入っていて
三角形とAABBの面の重なりが無い場合は?



364 名前:357 mailto:sage [2012/02/12(日) 23:49:11.16 ]
>>362
理解できました。ありがとうございます。しかし、>>360 の1つ目の
例、つまり、直方体の内部に完全に三角形が含まれる場合は交差と
判定されません。

しかし、実際に交差するものの、三角形が直方体の内部、外部にま
たがらなくて交差と判定されないのは、こういった完全に含まれる
場合だけですから、それを別にチェックしておけばいいだけですね。
がんばってやってみます。

365 名前:357 mailto:sage [2012/02/12(日) 23:54:51.62 ]
あう、リロードしてなかった。眠い

366 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 00:43:40.41 ]
一般に、点が多面体内にあるかどうかを判定する関数を作る
実装は、その点から任意の直線を引いて交差するか調べる。面の向きが分かってるから内外が分かる

そして多面体A上のどこかの点を選んでBの中にあるかどうか判定する

367 名前:デフォルトの名無しさん [2012/04/17(火) 15:05:47.01 ]
質問ですが、ある物体がx=30,y=50,z=0の位置にあるとします。
それに回転行列を掛けた後の3次元位置をどうやって算出するのかわからないのですが、
教えてください。

368 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 15:08:00.58 ]
回転行列を T とすると、行列の乗算 [30 50 0]T をするわけだけど、
この説明じゃわからんだろうし、そもそも何がわかんないわけ?

369 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 15:24:58.62 ]
ある行列AとBがあって、Aは

1,0,0,0
0,1,0,0
0,0,1,0
30,50,0,1

Bは

0.921061,0.389418,0.,0
-0.389418,0.921061,0,0
0,0,1,0
30,50,0,1.000000

Aの三次元位置は30,50,0ですぐわかるんですがBの三次元位置はどうやって算出するのかわからないのです。


370 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 15:27:24.33 ]
>>367
普通に位置ベクトルと行列の乗算をするだけ。
高校あたりの数学で習う行列の計算そのもの。

ただ、実際には3D関係だと計算の都合で行列は4*4を使うことが多いので
その場合は位置ベクトルをx,y,z,1に拡張して使う。

371 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 15:34:37.63 ]
1点補足。

ベクトルと行列の乗算をした後に、ベクトルの4番目の成分が1以外になったら
全ての成分をその値で割る必要がある。4番目が常に1になるようにする。
単なる回転や平行移動では1のまま変化することはない。

詳しい話は、同次座標系でググって。

372 名前:367 mailto:sage [2012/04/17(火) 15:38:52.24 ]
この場合は

30,50,0,1 に 

0.921061,0.389418,0,0
-0.389418,0.921061,0,0
0,0,1,0
30,50,0,1

を掛けるんですか?
それとも

0.921061,0.389418,0,0
-0.389418,0.921061,0,0
0,0,1,0
0,0,0,1

を掛けるのかな?

373 名前:デフォルトの名無しさん [2012/04/17(火) 15:58:22.17 ]
ここで聞くことじゃないんだよね。3Dじゃなくて数学の話でしょ?それも高校生レベルの
どの分野でも文系って害悪。理系でオーディオの迷信信じる奴は皆無だし
信じてたらそれすなわち文系だしなwww



374 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 16:03:34.20 ]
30 50 0 1 が縦か横かで、そもそもどっちか片方からしか掛けられんだろ?
アメリカとヨーロッパで流儀が違うから、使ってる教科書か何かで確認しろ。

375 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 16:22:42.02 ]
とりあえず行列のかけ算覚えよう。
手計算させたら理系でも泣き出すぐらいの、たぶん思ってる以上に結構面倒な計算だぞ?

次に座標を行列にする方法を覚えよう。極座標じゃないぞ直交座標だぞ?
行ベクトルと列ベクトルがあるが、掲示板で説明求めるなら列ベクトルにしとき。

回転行列が行ベクトル用か列ベクトル用なのか書いてない奴のWebサイトは相手しなくていい。

376 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 16:50:00.44 ]
原発は再稼動すべきだよな

377 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 20:19:56.56 ]
黙れ朝鮮人

378 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 21:17:52.18 ]
>>369
Bは位置30,50,0で回転している。物体の原点(0,0,0,1)を掛けてみればいい

379 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 12:19:17.29 ]
クォータニオンで検索すれば良いのでは?

380 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 15:14:49.72 ]
>>379 余計混乱するからやめれ

381 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 17:46:21.28 ]
アホみたいなこと言わせたら俺なかなかのもんだが、
クォータニオンみたいなもん思いつく学者さんってスゲーな。
しかもそれが、良く分からんけど便利に使えてるっていう現実。
人間スゲーな。

382 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 18:55:29.63 ]
そのあたり興味あれば「ハミルトンの四元数」って本がお勧め

383 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 19:19:03.49 ]
スキンメッシュの頂点を移動させるには同次座標変換を使うのかな?



384 名前:デフォルトの名無しさん [2012/04/19(木) 01:31:00.20 ]
お前らって本当数学苦手なのな
なんで3Dのスレで数学の話題になるのwww

計算量がどうだのキャッシュがどうだのGPUとの転送速度がどうだのならまだ分かるが

385 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 01:35:34.46 ]
ゴミ溜めでまともなレベルの議論期待すんな

386 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 07:03:05.84 ]
3D のアルゴリズムで数学の話が出ないわけがないだろ。
これだから厨ジサカーは困る。

387 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 08:21:22.85 ]
アイデア -> 数学でごにょごにょ -> 実装
数学でつっかかってたらきついだろ

388 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 08:58:51.74 ]
アルゴリズムのスレじゃないのかよ!転送速度とかなんじゃそりゃ

389 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 09:21:35.66 ]
動けばいいってもんでもないでしょ

390 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 19:02:32.67 ]
答えられないからって話題をすり替えんなよな

391 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 19:36:17.03 ]
答えるってどれに?

392 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 20:41:44.31 ]
>>383

393 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 20:53:16.02 ]
>>392
なにいってるのかさっぱりわからない
ボーンの仕組みわかってるのか?



394 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 00:37:16.68 ]
頂点座標を幾何変換で
頂点座標×ボーンオフセット行列×座標変換行列×逆ボーンオフセット行列
するんだよね?

395 名前:デフォルトの名無しさん [2012/04/20(金) 06:02:49.66 ]
いくつかの行列を線形結合するだけじゃん。同字だのなんだの考えなくても、線形ってことだけ知ってれば

396 名前:デフォルトの名無しさん [2012/04/20(金) 06:03:13.89 ]
文系は何やらせても邪魔

397 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 12:30:07.55 ]
>>394
判ってるのになんで聞くの?

398 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 20:04:35.37 ]
c++用obbtreeのpublic domainなclassソースってどこにあります?

399 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 20:14:15.31 ]
今はまだない

400 名前:デフォルトの名無しさん [2012/06/03(日) 14:06:47.31 ]
あるベクトルzが与えられたとき、ベクトルxとyを求めたい。
ただしx,y,zは互いに垂直であること。

要は1本のベクトルをz軸としてローカル座標空間を作りたい。
何か良い方法はありませんか?


401 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:12:54.93 ]
適当なベクトルvを作る (ただしz≠v)
zとvを外積してxを作る
zとxを外積してyを作る

402 名前:デフォルトの名無しさん [2012/06/03(日) 14:17:27.36 ]
>>401
そのvはどうやって作れば良いと思いますか?
z=vだったとき、何からv2を作れば良いでしょうか

403 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:38:11.62 ]
昔のメモを持ってきた。

X cTh   0  -sTh
Y -sTh*sPh cPh -cTh*sPh
Z sTh*cPh sPh cTh*cPh

sTh,cPh とかは、sinθ、cosφね。
ベクトルZ からθ、φを求めれば、互いに直交するX、Zを得られる。

カメラワークとかによく利用してたな。



404 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:38:38.10 ]
> 直交するX、Zを

X、Yね。

405 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:42:43.91 ]
>>402
とりあえず適当なベクトル v を使った >>401 の計算をノートにいっぱい書いてみろ。
そうすれば v をどう選べば最終的にどういうローカル座標系ができるか分るようになる。

あと、>>401 は明言していないが、外積を計算する際、被演算子の順は全ての例で統一しろよ。
でないと混乱するからな。

406 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:54:05.32 ]
質問したら良い方法が浮かびました。
とりあえず{1,0,0} {0,1,0} {0,0,1}の3ベクトルと内積をとり
絶対値が最も小さいものをvとします。

>>403
最もスマートそうな方法ですが、角度を求める方法がわからないので
次のステップで挑戦します。ありがとうございました。

>>405
そうします、ありがとうございました。

407 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:09:17.54 ]
> 最もスマートそうな方法ですが、角度を求める方法がわからない

おいおい

408 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:13:19.85 ]
単位ベクトル同士の内積が何を示すか知らないだなんて

409 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:15:38.55 ]
>>406
その方法だとzが変化したとき、最小のvが変わるとローカル座標系が大幅に変わる
vを(0,1,0)にしとけばx軸は必ずXZ平面にあるとか、やりたいことに合わせて考えたほうがいいんじゃないかな

410 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 17:31:54.38 ]
なぜみんな、CかC++を使うのでしょうか?

411 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 18:11:29.89 ]
スキルが未熟で、アセンブリで書けないからです

412 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 12:28:38.35 ]
アセンブリでプログラミングしてどうするの?
今日日、そんな餌で釣れると思ったのか!!

あ、オレがつれてる...

413 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 02:37:08.83 ]
立体をワールド空間に配置する場合どちらの方法が良いとされていますか?

移動行列A (中心座標XYZ)
回転行列B
拡大行列C
の情報を与えて(0,0,0)を中心とする頂点群に(CBA)を乗じる

中心座標(x,y,z)
回転行列P
(0,0,0)→(x,y,z)行列Q
(x,y,z)→(0,0,0)行列R
を使ってある位置に存在している頂点群に(RPQ)を乗じる

仮にDrawCube(x, y, z, 2w, 2h, 2d, rotx, roty, rotz)という関数を呼んだとすると
前者の頂点は(-0.5,-0.5,-0.5)と(0.5,0.5,0.5)を対角とし
後者の頂点は(x-w, y-h, z-d)と(x+2, y+h, z+d)を対角とします



414 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 00:50:32.79 ]
別に良いも悪いもないよ
例えば太陽の周りを回る地球の動きを再現するには
前者と後者両方必要だろ

415 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 14:48:46.68 ]
おまいら頭いいな

416 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 19:47:13.48 ]
おまいらえらそうに言ってるけど
今回の日食がなぜ東からじゃなくて
西から順番に起こってるか説明出来ないんだろ

417 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 19:49:26.75 ]
そっちの方が食べやすかったんだろ

俺もクッキー食べる時は西からだし

418 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 19:49:54.38 ]
? 太陽と比べ月は遅いんだし、影が太陽の動きと逆なのは当然じゃん?

419 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 19:56:14.66 ]
いやバターたっぷりのクッキーはおいしいだろ


420 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 20:00:21.64 ]
金星の太陽面通過は、地球の北半球から見て金星は左から右に横切った。
これは、それぞれの公転軌道上の速度で金星が地球より速く、
文字通り金星が地球を追い越したからである。

一方、金環日食の場合は、地球の北半球から見て月は右から左に横切った。
これは、地球の公転方向とは逆方向に月が地球の周りを公転しているからであり、
かつ、月の公転速度が地球の自転速度より速いためである。

421 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 20:07:12.70 ]
3次元NURBS曲面を2次元平面に投影した時の輪郭線を表す2次元NURBS曲線って計算できるものなの?

それっぽい論文を探してるんだけど、なかなか見つからない

422 名前:421 mailto:sage [2012/06/08(金) 20:11:32.56 ]
>>421
ごめん、なんか紛らわしいな
次のように変えて読んでくれ

3次元NURBS曲面 --> N次 x M次NURBS曲面
2次元NURBS曲線 --> L 次NURBS曲線

まぁ要するに適当なNURBS曲面を平面に投影した影の輪郭線を求めたい






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<92KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef