ゲーム製作で必要な数学の知識

このエントリーをはてなブックマークに追加
1名前は開発中のものです。
わからなかったらここで聞けばいいじゃない
なるべく詳しく日本語で質問してね
2名前は開発中のものです。:2007/02/02(金) 13:01:54 ID:X2a6UCBf
自分で調べられない奴は何をやっても駄目。

〜終了〜
3製作神 ◆3C/O4odLsY :2007/02/02(金) 13:30:56 ID:Cv0Pptdl
\               U         /
  \             U        /
             / ̄ ̄ ヽ,
            /        ',      /     _/\/\/\/|_
    \    ノ//, {0}  /¨`ヽ {0} ,ミヽ    /     \          /
     \ / く l   ヽ._.ノ   ', ゝ \       <   バーカ!  >
     / /⌒ リ   `ー'′   ' ⌒\ \    /          \
     (   ̄ ̄⌒          ⌒ ̄ _)    ̄|/\/\/\/ ̄
      ` ̄ ̄`ヽ           /´ ̄
           |            |
  −−− ‐   ノ           |
          /            ノ        −−−−
         /           ∠_
  −−   |    f\      ノ     ̄`丶.
        |    |  ヽ__ノー─-- 、_   )    − _
.        |  |            /  /
         | |          ,'  /
    /  /  ノ           |   ,'    \
      /   /             |  /      \
   /_ノ /              ,ノ 〈           \
    (  〈              ヽ.__ \        \
     ヽ._>              \__)
4名前は開発中のものです。:2007/02/02(金) 17:38:43 ID:lzFostpT
クソスレ立てた>>1が1日たったら別人として質問する
そんなパターンがありますよね
5名前は開発中のものです。:2007/02/03(土) 00:28:39 ID:kYbT0kuz
加減乗除と論理演算と三角関数が分かればいいんじゃね?
6名前は開発中のものです。:2007/02/03(土) 09:45:00 ID:dYSVPri8
円の方程式とかもいるかな
あとは物理だな
7名前は開発中のものです。:2007/02/03(土) 09:58:31 ID:FR48NJAM
こういう糞スレでは、何のゲームを作るのかという前提条件すら定義せず、
いきなり結論を提示する馬鹿がしたり顔で出てくるのは何でだろう?
8名前は開発中のものです。:2007/02/03(土) 10:55:54 ID:x8xC4jXT
削除依頼くらいの数学の知識があればいんじゃないか?
9名前は開発中のものです。:2007/02/03(土) 12:17:10 ID:20zjJjUH
http://www.square-enix.co.jp/e306/titles/fabula/ff13/e3trailer.html

一人だけで3日かけて作った作品です。
感想とかくれるとありがたいです。
10名前は開発中のものです。:2007/02/03(土) 12:41:28 ID:fqMaKOiO
まずはスクエニのドメインをナントカしろ。
11名前は開発中のものです。:2007/02/03(土) 13:37:23 ID:W8PCSXmK
3D使わなかったらたいして数学なんて使わないぞ
12名前は開発中のものです。:2007/02/03(土) 13:40:15 ID:H41LlqeZ
3D組むんだったらクォータニオンが使えないと苦労するな。
13名前は開発中のものです。:2007/02/03(土) 13:55:34 ID:H41LlqeZ
>>11
2Dでもアクション系だったら少し使うけどな。
STGのオブジェクト軌道は普通ベクトルの概念をベースに考えるし、
特殊な軌道を描くときに曲線のパラメタ表示や微分を使ったりもする。
弾の狙い方向では回転行列なんかも必要になるな。
そのベースになる三角関数はもちろん不可欠。逆三角関数も使えないと何かと困る。
アクションだと、重力が存在するから等加速度運動の理解がいるな。

まあ言えることは、
2Dゲーム=高卒程度の数学力
3Dゲーム=大卒程度の数学力
が必要ってことか。
14名前は開発中のものです。:2007/02/03(土) 14:21:33 ID:RLwOsL09
個人的にアクションに使う重力は、物理計算でリアルにするより
多少インチキくさいほうがゲームらしくて好き。
マリオみたいにさ。
15名前は開発中のものです。:2007/02/03(土) 16:15:18 ID:DQQCETZT
数学ないと厳しいのは当たり判定かな。
当たり取るのは公式で一発だけど、衝突後の処理は
ベクトル行列を使いこなせないと絶対つまると思う。
16名前は開発中のものです。:2007/02/03(土) 17:55:30 ID:3Zq1bbyQ
>>13
行列、ベクトル、三角関数、微分積分がある程度分かれば
高卒、大卒、2D、3D問わず個人製作のクオリティの範囲でなら大抵のゲームは作れるよ
17製作神 ◆3C/O4odLsY :2007/02/03(土) 17:56:57 ID:z04kCzis
やべぇ、どれも分からねぇ(;^ω^)…
18名前は開発中のものです。:2007/02/03(土) 18:47:00 ID:jsqhnBma
行列とベクトルと三角関数が分からなければ3Dは絶対ムリだと思うのはモレだけか?
微積なんぞは知らなくてもなんとかなる。
意外と盲点なのは確率かな。こいつが出来ると仕上がりの高級感が違う・・・・。
19名前は開発中のものです。:2007/02/03(土) 22:25:10 ID:ey9gG327
戦略シミュとか育成シミュなら数学いらんな
20名前は開発中のものです。:2007/02/03(土) 23:02:37 ID:QIcsai8J
>>19
ユニットの経路選択に使うダイクストラとかモロに数学じゃね?
21名前は開発中のものです。:2007/02/04(日) 00:34:26 ID:bsPev/gv
ダイクストラって数学か?
単なるアルゴリズムって気がするが。
22名前は開発中のものです。:2007/02/04(日) 00:45:33 ID:1yLfvghR
計算を数学と捉えるなら数学じゃね?

所詮、計算機だし。
23名前は開発中のものです。:2007/02/04(日) 00:54:58 ID:CDMU3U+l
>>21
離散数学の中のグラフ理論の一部
24名前は開発中のものです。:2007/02/04(日) 01:17:24 ID:H27qUrna
数学とアルゴリズムの境界線ってどこにあるんだろう?
25名前は開発中のものです。:2007/02/04(日) 01:20:21 ID:1yLfvghR
数学⊃アルゴリズム
26名前は開発中のものです。:2007/02/04(日) 13:13:06 ID:1y4As3QI
ほとんどゲームでカウンタとかが必要だから足し算は必要だな!
27名前は開発中のものです。:2007/02/05(月) 07:36:18 ID:j0X0DstI
2Dゲームだったら行列はいらんだろ。
三角関数くらいか?
ばか正直にやらなくてもそれらしくごまかせばいい。
28名前は開発中のものです。:2007/02/05(月) 14:15:36 ID:GFKU3Myg
2Dでも行列いるよ…。
画像をアフィン変換するのに使った。
29名前は開発中のものです。:2007/02/05(月) 15:43:18 ID:f1dxifdb
正直数学より物理分野の方が使うと思う
30名前は開発中のものです。:2007/02/05(月) 20:09:26 ID:WftfBHI5
呼んだ?

ゲームのための物理(力学)
ttp://pc10.2ch.net/test/read.cgi/gamedev/1018255106/
31名前は開発中のものです。:2007/02/05(月) 22:50:36 ID:ORWmjX/J
高校は理系だった。
lim→∞
積分関数なんか必要ないやん。と思ってたら、
3Dグラフィックスの数学では 大いに必要だった。面食らったわ。
32名前は開発中のものです。:2007/02/06(火) 00:03:16 ID:sQb0uE9M
学校で習った知識がの一つ一つ役に立つかどうかなんて
役に立つ時が来ないと気づかない
33名前は開発中のものです。:2007/02/06(火) 01:23:16 ID:ctRghFT1
教科書引っ張り出して自学すればいいだろw
言語やライブラリのを勉強するのと何ら変わらない。
34名前は開発中のものです。:2007/02/06(火) 01:31:36 ID:OqciGRud
必要になったときに何を勉強すればいいか分かる程度に知識があれば問題無いと
俺は思ってる。
35名前は開発中のものです。:2007/02/06(火) 02:04:45 ID:ctRghFT1
結論:ゲーム製作で必要な数学の知識≒本棚の位置。
36名前は開発中のものです。:2007/02/06(火) 03:33:57 ID:XAOX+oQF
>>32
Yes そうなんですよー。

>>33
8年漬けた綺麗な綺麗なチャート式 漬け物 がございます。
いやー蔵から出してみたら、寝ちゃう。
マイクロソフトのサイトの、なかなか改行してくれなくて
やたら横に文章を読むのに 似ているこの辛さ。

>>34
そう。それがいい。

>>35
藁。蔵に入れてちゃ、そりゃ伸びない。
37名前は開発中のものです。:2007/02/18(日) 14:47:14 ID:PA754u2D
ジャンプの放物線なんですが
x値は等感覚で増やしy値を加速的に増やすと確かに放物線を描くのだけど
下にいくほど速くなってしまいます
一定の速度でジャンプするにはどうすればいいでしょう?
スーパーマリオのようなジャンプを実装したいのです
38名前は開発中のものです。:2007/02/18(日) 14:50:49 ID:L+s/zjfF
最初から過疎スレか質問スレにしかならんだろうと思ってたし
ついにこの日が来たかと一瞬思ったが

質問者のあまりのセンスに吹いた
39名前は開発中のものです。:2007/02/18(日) 21:09:14 ID:/VheTEJZ
>>37
y=c(x-a)(x-b)
って関数がどんなグラフになるか知ってる?
40名前は開発中のものです。:2007/02/18(日) 22:52:12 ID:Jidt18OV
ラジアンなんて全く知らなかった。スーパーアラビアンなら知ってた。
41名前は開発中のものです。:2007/02/18(日) 22:57:13 ID:RgZLXXVI
ゆとり教育世代ってやーね
42名前は開発中のものです。:2007/02/19(月) 00:20:06 ID:64fcPbsV
速さ一定で放物線を描きたいのなら
それには「曲線の長さ」という考えが必要だな

数年前までは高校の数学IIIだったのだけど、改正で
今は大学初年級の微積の内容ということになった
43名前は開発中のものです。:2007/02/19(月) 02:13:51 ID:6lNGKB84
>>39
パラメトリック曲線上を動く点の速さを一定にするのは
意外と難しいと思うんだけれど
44名前は開発中のものです。:2007/02/19(月) 08:56:12 ID:N5sPNDQg
紙にプロットしてモノサシで測ればOK
45名前は開発中のものです。:2007/02/19(月) 18:15:57 ID:P3NOxc9A
>>44
天 才 現 る
46名前は開発中のものです。:2007/02/19(月) 19:23:47 ID:NtF3NAcT
一定値を超えたらy値を等間隔で増やすとダメかな
スーパーマリオでも一定速度で放物線は描いてないんじゃないのかな
そんな複雑なことはしてない気がする
47名前は開発中のものです。:2007/02/19(月) 21:37:29 ID:oO0w+Meh
用途によってはマジで>>44を実行してテーブルにでもしてた方が
手っ取り早いんじゃね?

曲線の長さじゃ面倒だから二点間を擬似的に直線として扱うと多少楽?
ただし、当然二点間が広がるほど誤差も広がるけど。
48名前は開発中のものです。:2007/02/19(月) 22:42:35 ID:64fcPbsV
x = u
y = u^2
とすると,du に対する長さ変化の2乗は
( (dx/du)^2 + (dy/du)^2 ) du
= ( 1^2 + (2u)^2 ) du
= ( 4u^2 + 1 ) du
よって,du = dt / ( 4u^2 + 1 ) とすればよく
dt / du = 4u^2 + 1
t = (4/3) u^3 + u
49名前は開発中のものです。:2007/02/20(火) 01:06:46 ID:PS3dQauo
式は合ってるが、tを求めてどうするんだ?w
du = dt / ( 4u^2 + 1 )
を時間で積分してuを求めんと。
実際に使う分には差分式でよいので、Cで簡単に書くならこうかね?
u += dt / ( 4*u*u + 1 );
50名前は開発中のものです。:2007/02/20(火) 01:48:20 ID:Q1b7wP69
いや、差分ではずれがたまるだろ
51名前は開発中のものです。:2007/02/20(火) 01:58:22 ID:PS3dQauo
予想通りのレスじゃないかw
どうせ分かってるだろうが数値積分の誤差の問題だし別にいいじゃね?
んなこといってたら等加速度運動もv+=a; p+=v;の式すら使えなくなるぜ
52名前は開発中のものです。:2007/02/20(火) 02:13:20 ID:oL8NWQAV
>>49
具体的にy=x^2の時の
x,yの値をプロットするとどうなる?

とりあえず、始めの点が(0,0)その次の点が(1,1)だとして、
その次の点は(1.25,1.5625)?
53名前は開発中のものです。:2007/02/20(火) 02:19:57 ID:PS3dQauo
>>52
それはdtの値による
54名前は開発中のものです。:2007/02/20(火) 03:02:11 ID:PS3dQauo
>>52
ごめん、計算したらとんでもない値になった…
ってか、>>48の式がどうせ合ってると思って適当なこと言ったけど式おかしくない?

パラメトリック曲線X(θ)に対するθ微分をX~(θ)として距離s=s(θ)とすると

dθ/ds = 1 / ||X~(θ)||
(θn - θn-1) / 冱 = 1 / ||X~(θ)||
θn - θn-1 = 冱 / ||X~(θ)||
θ += 冱 / ||X~(θ)||

さっきの場合なら
θ += 冱 / sqrt( 4*u*u + 1 );

初めの点が(0,0)で次の点が(1,1)ってことは冱=1なので、
次はθ=1.4472 くらい ⇒ ( 1.4472, 2.0943 )

最初、随分短くなってるような気がしておかしいなと思ったんだけど
この場合0〜1の間を直線で近似しちゃってるし、仕方ないかも
55名前は開発中のものです。:2007/02/20(火) 09:20:27 ID:Q1b7wP69
あーごめんルートつけるの忘れてた

0から1までとかって長い区間を近似するなら、
端点じゃなくて中央での値を使ったほうがよさそう
56名前は開発中のものです。:2007/02/20(火) 09:31:23 ID:PS3dQauo
中心差分が出来るならそっちのがいいね

現実はy=ax^2のa=1の場合って
22ピクセル進んだら画面上端から画面下端までまっさかさまだし、
そっちのパラメータの問題な気もするがw
57名前は開発中のものです。:2007/02/28(水) 21:02:35 ID:xr7QTFCR
すごいなあ

ところで楕円の描き方おしえてもらえないでしょうか?
58名前は開発中のものです。:2007/02/28(水) 21:58:57 ID:Zy8qaKEq
>>57
公式使え


ってことじゃなく?
59名前は開発中のものです。:2007/02/28(水) 22:17:18 ID:EQpPS7FC
紐とピン2個があれば描けるよ
60名前は開発中のものです。:2007/02/28(水) 23:18:52 ID:lboZNMzJ
ペンと紙も要るよ
61名前は開発中のものです。:2007/02/28(水) 23:38:21 ID:4L9nYHHt
グラウンドに足で書いちゃダメなのか
62名前は開発中のものです。:2007/03/01(木) 14:19:53 ID:J9NE44Uq
>>61
三本目の足か
63名前は開発中のものです。:2007/03/01(木) 22:34:35 ID:Co6weNCs
ページを眼の高さまで持ち上げて平らにして見れば
64名前は開発中のものです。:2007/03/04(日) 18:41:50 ID:od5NWGvt
円書いた板ポリゴンを傾ければいい
65名前は開発中のものです。:2007/03/04(日) 22:56:06 ID:wQ+ywn0T
画面縦横比を16×9にして円を描画する
66名前は開発中のものです。:2007/03/04(日) 23:22:07 ID:xuRI+XoK
サランラップに丸書いて両端を思いっきり引っ張る
67名前は開発中のものです。:2007/03/04(日) 23:28:05 ID:qf1i2Mo0
3日以上同じネタ引っ張るのはやりすぎだろ…
68名前は開発中のものです。:2007/03/04(日) 23:29:03 ID:wQ+ywn0T
>>66の様子をリアルに描画するのは結構できたらすごそうだ
69名前は開発中のものです。:2007/03/07(水) 22:52:00 ID:hRCFzq0X
点を打つ。
無限遠から見たことにしてくれと説明書に書く。
70名前は開発中のものです。:2007/04/12(木) 15:04:18 ID:A9+uXZ+n
高校時代は文系です

ですが将来はゲームのプログラマーにでもなろうかなあ…
なんて思ってたけど
行列、ベクトル、三角関数、微分積分
全くわからず、
>>48 >>54なんてチンプンカンプン
どこの国の言葉だよ、って感じ


俺はプログラマーにはならない方が良いと痛感しました
ならない方が良いじゃなくて絶対無理ですね
ありがとうございました。
71名前は開発中のものです。:2007/04/12(木) 15:56:40 ID:vuAy+ZoY
分からない事は無視して別の方法でやればいいんじゃね?
絶対に必要なら分かる奴に頼めばいいし
72名前は開発中のものです。:2007/04/12(木) 21:56:32 ID:V5BuRGqQ
行列、ベクトル、三角関数、微分積分を知っている必要は必ずしもないが、
行列、ベクトル、三角関数、微分積分を理解できる程度の頭がないと無理。
73名前は開発中のものです。:2007/04/13(金) 08:36:30 ID:2JmVlcEL
というか、ゲームプログラマー自体は
理解できてもならないほうがいいかもね
74名前は開発中のものです。:2007/04/23(月) 18:32:22 ID:gLfeiFQw
ゲーム以外なら別に普通にプログラマとして食ってけるよ
75名前は開発中のものです。:2007/04/23(月) 21:33:30 ID:3/Za+7ks
役に立つかどうかはわからんけど一応おいてきまつね
http://queen.kagennotuki.com/bm/
76名前は開発中のものです。:2007/06/04(月) 21:35:52 ID:eLd10i12
へー ゲーム作るのって大変なんだなぁ
まあそういうのはキモヲタ君たちにまかせるしか方法ないな
がんばっていいゲーム作ってね。
去?的!
77名前は開発中のものです。:2007/06/04(月) 21:45:15 ID:rq16LU8+
\               U         /
  \             U        /
             / ̄ ̄ ヽ,
            /        ',      /     _/\/\/\/|_
    \    ノ//, {0}  /¨`ヽ {0} ,ミヽ    /     \  >>76      /
     \ / く l   ヽ._.ノ   ', ゝ \       <   バーカ!  >
     / /⌒ リ   `ー'′   ' ⌒\ \    /          \
     (   ̄ ̄⌒          ⌒ ̄ _)    ̄|/\/\/\/ ̄
      ` ̄ ̄`ヽ           /´ ̄
           |            |  
  −−− ‐   ノ           |
          /            ノ        −−−−
         /           ∠_
  −−   |    f\      ノ     ̄`丶.
        |    |  ヽ__ノー─-- 、_   )    − _
.        |  |            /  /
         | |          ,'  /
    /  /  ノ           |   ,'    \
      /   /             |  /      \
   /_ノ /              ,ノ 〈           \
    (  〈              ヽ.__ \        \
     ヽ._>              \__)
78名前は開発中のものです。:2007/06/04(月) 21:46:04 ID:rq16LU8+
________
|              |
|  / ̄ ̄ ヽ,  |
| /        ', |
| {0}  /¨`ヽ {0}, !
|.l   ヽ._.ノ   ', |
リ   `ー'′   ',|
|              |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
5代目 ジュウシマツ住職
79名前は開発中のものです。:2007/06/04(月) 22:17:48 ID:KmWd35cn
去?的ってどこの国の言葉?
80名前は開発中のものです。:2007/06/05(火) 00:53:03 ID:8M5bHI32
とりあえず線形(ベクトル、行列、射影とか)がわからんことには
3Dの世界は始まらんと思うのだがどうだろうか。
81名前は開発中のものです。:2007/08/03(金) 18:39:33 ID:ccMWyj5N
行列の計算方法を教えてください><
82名前は開発中のものです。:2007/08/03(金) 18:53:59 ID:+/ugMyzB
一個一個計算すれば?
83名前は開発中のものです。:2007/08/04(土) 04:06:06 ID:Oy6NXWRS
matlabとかおすすめ
84名前は開発中のものです。:2007/08/05(日) 01:08:21 ID:cQMefaa0
>>81
行列式展開法でぐぐってみ
8584:2007/08/05(日) 01:11:51 ID:cQMefaa0
間違った。
“行列式展開法の定義”でググれば出てくると思う。
86名前は開発中のものです。:2008/04/02(水) 17:51:29 ID:/A4ijyzo
RPGで命中率ってどうやればいいだろう。
いまんところRand関数で10個か100個とって、当りの数字と外れの数字の数
たとえば1〜4までならアタリ 5〜10まではミスとかやってるんだけど
これじゃどうも純粋な命中率4割とは行かない気がする。
もっと精度のいい計算式とかプログラムないですかね
87名前は開発中のものです。:2008/04/02(水) 20:12:24 ID:Blss73IL
何の言語のRand関数を使ってるのか知らんが
それはRand関数の精度の問題じゃなく、多分君のコードがおかしい

エスパーしてみたところ、Rand関数が返す乱数の範囲
(例:0〜32767とか)を考慮していないのが原因だとわかった
88名前は開発中のものです。:2008/04/02(水) 21:13:09 ID:/A4ijyzo
Perlつかってま
独学だからいろいろと怪しい反面、関数は一々それ単体でいろいろテストしてから使うようにしてる

乱数の範囲はちゃんと設定してますよ。整数の0〜9か0〜99の値出すようにして+1してる
だから返す値は1〜10ないし1〜100なんだけど
なーんか、均一に値がでないきがするんですよ。これで十分なのかもしれないけれど
もっといいやり方があれば知りたいな、って思って
89名前は開発中のものです。:2008/04/02(水) 22:28:35 ID:Blss73IL
Perlなら浮動小数で値を返すから
Perl(9)とかやれば0.0〜10.0の範囲で乱数を返すはず


$hit = 0;
for($n=0;$n<10000;$n++){
 if(Rand(10) <= 4.0){$hit+=1;}
}
$命中率 = $hit/10000;

# このコードで$命中率が0.4前後になってればRandは正常に乱数を返している

90名前は開発中のものです。:2008/04/02(水) 22:29:06 ID:Blss73IL
× Perl(9)とかやれば0.0〜10.0の範囲で乱数を返すはず
○ Perl(10)とかやれば0.0〜10.0の範囲で乱数を返すはず
91名前は開発中のものです。:2008/04/02(水) 22:30:47 ID:Blss73IL
× $命中率 = $hit/10000;
○ $命中率 = $hit/10000.0;

かな。Perlの構文忘れた。算術時の暗黙の型変換ルールとかあったよな
92名前は開発中のものです。:2008/04/03(木) 00:10:26 ID:1W6t2hox
>89
おお!ありがとうございます。だしかにこうやれば命中率でますね
ひたすらrandの返す値を記録して返す値ごとの頻度とかみてた自分が馬鹿みたいだ
93名前は開発中のものです。:2008/04/03(木) 00:39:33 ID:1W6t2hox
ああ・・・自分は少数とかめんどくさいからiって思って
intでrandの返す値を整数化してたんですが
どうもそのせいで命中率が+1割増えてしまっていたみたいです
少数のまま使えばこっちの思惑通りの命中率になってくれました。

本当にありがとう
94名前は開発中のものです。:2008/04/03(木) 01:26:21 ID:HifUC8Yv
今頃になって気付いたがPerl(9)とかPerl(10)てなんだww
酒入ってるとわけ分からんな、俺の書き込みは
95名前は開発中のものです。:2008/08/11(月) 17:14:52 ID:c0PVvNkf
フーリエ変換で
大学数学使うでしょ?
96名前は開発中のものです。:2008/08/28(木) 14:19:07 ID:f2V6/+ge
なんで3Dの世界は √ が頻繁にでてくるのか?
97名前は開発中のものです。:2008/08/28(木) 22:37:21 ID:QgO57Gd7
ベクトルの長さを求めるときに必要だから
98名前は開発中のものです。:2011/04/09(土) 23:49:29.98 ID:c9oV/KMW
pp
99名前は開発中のものです。:2011/07/31(日) 02:28:37.06 ID:/y75LLL4
>>96
回転がある時点でSin Cosが出るから
100 忍法帖【Lv=40,xxxPT】(5+0:5) 【43m】 電脳プリオン:2012/09/17(月) 14:48:08.83 ID:l6RF73BR BE:486489986-PLT(12079)

100
101名前は開発中のものです。:2012/09/17(月) 14:54:32.55 ID:mqbVLUJK
おめでとう
102名前は開発中のものです。
カメラは、座標(Cx,Cy,Cz)、水平方向の回転角θh、垂直方向の回転角θp、水平視野角θhv、垂直視野角θpv、y座標の正の方向が天井です。
点(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),(x4,y4,z4)で構成されている平面を見た時
この平面の各頂点の座標は、サイズX*Yで左上を(0,0)とする画面に映す時どのような座標に変換されるでしょうか
与えられる情報はCx,Cy,Cz,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,X,Y,M(*)です
(*)水平視野角θhvと垂直視野角θpvは画面サイズX,Yと視野角倍率Mを入力すると自動で決まります

こんな感じの座標変換が1発でできたら便利なので定形にしたいのですがどうしたら良いでしょうか。