X



3Dアルゴリズム全般
■ このスレッドは過去ログ倉庫に格納されています
0562デフォルトの名無しさん
垢版 |
2014/11/10(月) 02:47:49.88ID:tVi0pfE8
>>560の言っていることは正しい。
0563デフォルトの名無しさん
垢版 |
2014/12/06(土) 13:35:37.22ID:eDdnt3jc
昔のCG資格の教科書資料とかプログラミング専門雑誌の3D解説記事でも行列関係は間違い多くて怪しかったけどな。
95-2003年頃のはなし。

数学の教え方が駄目なのは判ってない人が教えるからだ。昔から受験数学と本当の数学は違うと言われてる。
ゆとりも文部省や現場の先生は反対なのに、内閣直属の自称識者なんとか教育国民会議の圧力で教育が駄目になったと聞いた。
官僚は悪くないよ。
有名企業で第一線で活躍したエンジニアが子供の数学力低下に驚いて塾やってるくらいだから。
0566デフォルトの名無しさん
垢版 |
2014/12/06(土) 21:03:34.82ID:VB5mtD/4
官僚は悪くないよ。
官僚は悪くないよ。
官僚は悪くないよ。
官僚は悪くないよ。
官僚は悪くないよ。
官僚は悪くないよ。
官僚は悪くないよ。
0567NAS6 ◆I4OWyGBdcY
垢版 |
2015/06/27(土) 00:45:09.45ID:axk1G1AE
Visual Studio X ver. for Desktop用と(非XNA)
Visual Studio X ver. for Windows Phone用(XNA)

ttp://nas6.main.jp/secret/Test.zip
VBXNA自作3Dエンジンライブラリサンプルソース
ttp://nas6.main.jp/secret/SolarSystem3DXNA.zip
太陽系シミュレータ3DXNAvbサンプルソース  

ttp://nas6.main.jp/secret/Polygon.htm
解説HP
無限対数軸を用いた透視射影の自作3Dエンジンライブラリ
無限対数軸とは0〜MAX_Nの範囲に0〜∞をぶち込むものです
だから視垂台ではなく無限遠までの視円錐の透視射影
サンプルはXNAを用いないPhone用じゃないのも混ざってる
テクスチャマッピングはバグったから未実装
むう
0568NAS6 ◆I4OWyGBdcY
垢版 |
2015/06/27(土) 11:47:45.63ID:axk1G1AE
ttp://nas6.main.jp/secret/Polygon.htm
参考HP

球面線形補間いろいろ
数学的においしいサンプル

ttp://nas6.main.jp/secret/Render3DSphere.zip
球面線形補間vbサンプルソースはVSforDeskTop用
クォータニオン、対数クォータニオンの球面線形補間
ttp://nas6.main.jp/secret/Sphere4D.zip
カメラスプライン補間vbサンプルソース はVSforWindowsPone用
四次元球のスプライン補間

球面線形補間vbサンプルソースの簡単な使い方は
Srcθ、Destθを適当に変えてSTARTボタンで計算
カメラスプライン補間vbサンプルソースは
spaceキーで視点切り替え
enterキーでその場で回転と飛行パスの切り替え

数学的においしいよ
ttp://momose-d.cocolog-nifty.com/blog/2011/03/exponentialmap-.html
このリンクのスクリプトと球面線形補間vbサンプルソースの各軸を
Base(-1,0,0),Src(0,1,0),Dest(0,0,-1)
に設定すればほぼ同じと確認
0569NAS6 ◆I4OWyGBdcY
垢版 |
2015/06/27(土) 17:30:53.85ID:axk1G1AE
参考リンクのスクリプトとどうも同じにならないと思ったら
単位ベクトルをよく見てみたら
右手系と左手系の違いだったorz
0570NAS6 ◆I4OWyGBdcY
垢版 |
2015/06/27(土) 19:42:47.01ID:axk1G1AE
Quaternion::Slerp()のバグを直したら良くなった
0573デフォルトの名無しさん
垢版 |
2016/03/29(火) 08:40:21.35ID:/c8bAcK4
サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
0574NAS6 ◆n3AmnVhjwc
垢版 |
2017/04/17(月) 01:43:33.97ID:WrwdFVNn
3D回転において
回転ベクトルがあったら
そこからクォータニオンを求めて
回転しちゃえばいいから
行列の出る幕は平行移動だけだよな

平行移動も含めたクォータニオンみたいなのは
出来ないもんかな

多分
θ、3D軸、同次W、3D点の
八元数になると思うけど

これが出来たら4×4同次座標行列は陳腐化するだろうな
0575デフォルトの名無しさん
垢版 |
2017/04/17(月) 03:22:07.86ID:QjTPzB+R
無知過ぎる。
0576NAS6 ◆n3AmnVhjwc
垢版 |
2017/04/17(月) 11:09:34.10ID:WrwdFVNn
出来たった

姿勢ベクトル

ttp://nas6.net/postest.htm
ttp://nas6.net/postest.zip

3D回転テスト・姿勢ベクトル詳細演算テストとソース

ttp://nas6.net/prg3d003.htm

まとめ
0577NAS6 ◆n3AmnVhjwc
垢版 |
2017/04/17(月) 11:18:15.44ID:WrwdFVNn
姿勢ベクトルを使えば
情報は保存されているから
4×4同次座標行列は
使わなくても3D演算出来るっス
0578NAS6 ◆n3AmnVhjwc
垢版 |
2017/04/17(月) 11:39:19.15ID:WrwdFVNn
三次元物体は
4×4同次座標行列(容量16個)の言いなりだけど
姿勢ベクトル(容量8個)はそれを余分な情報を
ほとんどそぎ落として三次元を従えた
0579NAS6 ◆n3AmnVhjwc
垢版 |
2017/04/17(月) 11:41:57.86ID:WrwdFVNn
同次平行移動ベクトルを保持しているから
姿勢ベクトルは同次情報をシェイプすれば容量7個までにはなる
0580NAS6 ◆n3AmnVhjwc
垢版 |
2017/04/17(月) 11:44:13.64ID:WrwdFVNn
三次元は7個のパラメタで完全に記述できる
0581NAS6 ◆n3AmnVhjwc
垢版 |
2017/04/17(月) 12:14:23.43ID:WrwdFVNn
・まとめ

三次元は
3元平行移動T+四元数Qの
7つのパラメタがあれば
完全に記述できる

これを姿勢ベクトルPと定義する
P=[1 T Q]
P1とP2の積、つまり回転は
P1P2=[T1+Q1T2Q1^-1 Q1Q2]
と表記される

速さは、項の積の数だけ数えて
行列積が16^2=256で

姿勢ベクトル積が
P1P2=[T1+Q1T2Q1^-1 Q1Q2]

Q1T2Q1^-1
で(四元数→行列)・ベクトル
にT1のベクトル加算と
Q1Q2の四元数の積って計算は

18×3+4^2=70になる
0583NAS6 ◆n3AmnVhjwc
垢版 |
2017/04/18(火) 08:46:15.06ID:TFejpUog
スケールって保存情報かな?
なら容量10になるけど
スケールは保持しなくてもいいだろ
0584NAS6 ◆n3AmnVhjwc
垢版 |
2017/04/18(火) 08:55:36.58ID:TFejpUog
それにスケールって1.0越えて逆三角関数エラーになるから嫌い
0585デフォルトの名無しさん
垢版 |
2017/04/18(火) 13:37:43.21ID:qtH6XCcG
>>580
3次元は自由度6だから、6つのパラメータで完全に記述できて冗長性がない。
姿勢に四元数を使う時点で冗長性がある。

4x4行列が無駄だというなら、四元数も無駄。

っていう話を何で今頃しているんだ?
0588デフォルトの名無しさん
垢版 |
2017/10/19(木) 10:55:09.01ID:geRH9J/1
すみません質問です:

2次元平面char[width][height]バッファに図形を抽出(2値化)する処理を作りました。
その図形が、なんとなく円なのか or 全然円じゃないのか、を判定する方法はありますでしょうか。

自分が思いついたのは、外側のラインの曲率半径を計算することですが、何か所も計算した上、判定する、みたいな高度な処理になりそうで。。。

もっと簡単な方法をお教えくださいorz
0589デフォルトの名無しさん
垢版 |
2017/10/19(木) 14:14:12.81ID:ZPzh5gN2
char[height][width]
に汁
0590デフォルトの名無しさん
垢版 |
2017/10/19(木) 16:55:14.74ID:kQj/aOVd
>>588
簡単な方法は無いんじゃないか?
円の検出にハフ変換ってのがあるけど、計算量はかなりのものだな。

円の大きさが決まってるとかなら簡単になりそうだけど。
0594デフォルトの名無しさん
垢版 |
2018/05/23(水) 21:28:17.28ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

PFQ9C
0595デフォルトの名無しさん
垢版 |
2018/07/05(木) 00:29:47.11ID:RfoszcD2
MZO
0596デフォルトの名無しさん
垢版 |
2019/02/06(水) 02:42:56.93ID:Wv5RHRnC
レンダリングはライブラリに丸投げで、立方体を表示させるまでは出来たんだけど、画面上のマウスカーソルのある場所を特定したい。
eyetracingというのかよく分からないんだけど、2Dの様に「この点」という結果が得られる訳じゃないのは何となく解ってきてる。
マウスのある無限遠の点と、カメラのある点を結んだ線と、立方体の各面との交差判定をしなきゃならない。
ポリゴンが数千とかに増えた場合、処理速度的に無理っぽくね?
実際のゲームなんかの処理ってどうやってるのか知りたい

苦肉の策で、オフスクリーンバッファに各面の色が違うモデルを同時に描いてみたら256^3面までは特定は出来るけど、
面のどの部分なのかを特定する為にグラデーションにしてみると、使える色が限られて特定できる面の数が激減する。
なんだかコレジャナイ感

しっかり計算で求めたいんだけど参考になるサイトが見つからない
教えてください
0598デフォルトの名無しさん
垢版 |
2019/02/07(木) 09:19:56.26ID:4AqEFH47
>>596
単純な図形でモデルを内包するバウンディングボックスを用意しておいて
まずはバウンディングボックスとの交差判定をする。
交差してなければ、そのモデルは判定をスキップする。

ただし、ゲームではポリゴン単位での判定は普通はしない。
0599デフォルトの名無しさん
垢版 |
2020/06/27(土) 06:45:34.32ID:U90iCGW6
ゲーム等のワールドにオブジェクトをロードして配置する時について
>>308で紹介された
X
OBJ
COLLADA
のファイルを用途に応じて混雑したりして使っているのでしょうか?
建物等の動かない物と大道具類や小物類(jpgテクスチャ)
風にはためくカーテンや洗濯物や草花(gifアニメテクスチャ)
敵キャラや町人など動くもの等(透過pngテクスチャ)
それら全て統一のファイル形式で作られているのでしょうか?
あるいはDirectX と OpenGLでの3Dモデルの読み込みアルゴリズムローダーの違いでしょうか?
0600デフォルトの名無しさん
垢版 |
2020/11/12(木) 23:57:16.27ID:2hJ4Un53
3Dの数学とDirectXやOpenGL使わないCやC++かJavaのプログラムがのってる本ありませんか?
0602デフォルトの名無しさん
垢版 |
2020/11/13(金) 12:32:33.04ID:C3CvA+Jh
ラスタライザから全部自分で作りたいんでしょう。

読んだことないけど、オライリーのゲーム3D数学は
C++のコード例が載ってるらしいよ。
0605デフォルトの名無しさん
垢版 |
2021/04/20(火) 09:22:27.35ID:w+tuOjpZ
3Dで川の流れとかってどうやるんですか?
テクスチイをいちいち張り替えてるんですか?
0608デフォルトの名無しさん
垢版 |
2021/11/08(月) 23:07:49.44ID:46TrNb/m
>>607
1点透視から2点・3点透視が描ける「ユアッサーの法則」

https://esinote.com/blog/7417.html


をプログラムするとか
0611デフォルトの名無しさん
垢版 |
2022/07/03(日) 11:11:40.00ID:teuwus0A
Blenderとかにある
3Dモデルの厚みつけってプログラムコード的にどうやるんですか?
いくらググってもBlenderばかり出てきます
0612デフォルトの名無しさん
垢版 |
2023/01/26(木) 07:24:14.12ID:7eoscxnU
3Dモデリングツールのような点や面を触って移動
のようなプログラムを作りたいのですがどうすればよいでしょうか
予め作られた3Dモデルを表示やスクリプトによって作られたモデルを表示するというのは見るのですが点の位置そのものを画面から指定して移動するというサンプルが少ないです…
参考になるサイトや教本などあれば教えていただきたいです
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況