Learning WebGL 9章翻訳完了

62 views
Skip to first unread message

tmasda

unread,
Feb 18, 2011, 12:10:51 PM2/18/11
to hack_webgl
tmasdaです。
Learning WebGLの9章の翻訳が終わったのでどなたか確認をお願いします。

https://sites.google.com/site/hackthewebgl/learning-webglhon-yaku/hon-yaku-tantou

ちょっと自信が無い場所が二カ所ほどあります。

よろしくお願いします。

Atsushi Eno

unread,
Feb 19, 2011, 10:12:45 AM2/19/11
to hack_webgl
こんにちは。
ちょっと校正してみました。(ちょっとというか、割と細かい…?)

> black parts of an object are drawn as if they were transparent;
> この設定はオブジェクトの黒い部分は透明に描かれます。

仮定法なので、「あたかも透明であるかのように描かれます」くらいの方が誤解が無いかもしれません。

> (you might want to try experimenting with larger or smaller numbers)
> (試験的にもっと大きな数字や小さな数字を試したいと思うかも知れませんね)

you might want to ... は「...してみると良いでしょう」のような訳し方が良いかと思います。(慣用句です)
http://eow.alc.co.jp/you+might+want+to

> The way I've found it easiest to understand is that each object is created as a dictionary (or hashtable, or associative array) and then is turned into a fully-fledged object by putting values into it. The object's fields are simply entries in the dictionary that map to values, and the methods are entries that map to functions. Now, we add to that the fact that for single-word keys, the syntax foo.bar is a valid JavaScript shortcut for foo["bar"], and you can see how you get syntax similar to other languages' from a very different starting point.
> 私が見つけた理解するための最も簡単な方法は、それぞれのオブジェクトは辞書(またはハッシュテーブル、連想配列とも呼ばれる)として生成され、値を追加することによって完全なオブジェクトになると考える事です。オブジェクトのフィールドは変数としてマップされる単なる辞書の要素で、メソッドは関数にマップされる要素となります。さらに、辞書の1語からなるキーについて、foo.barという書き方がfoo["bar"]のJavaScriptでの有効なショートカットであることを付け加えます。これで他の言語の文法と同じだと理解するため方法を、かなり遠い位置から初めて理解出来ましたね。

この辺が悩んだところでしょうか? こんな感じだと意味が少しわかりやすくなるかもしれません。

「私が最も簡単だと考える理解の仕方で説明すると、それぞれのオブジェクトは辞書(またはハッシュテーブル、または連想配列)として生成され、そこに値
を追加することによって完全なオブジェクトになります。オブジェクトのフィールドはこの辞書で値に対応するエントリであり、メソッドはこの辞書で関数に
対応するエントリです。そして、ある1語のキーについて、foo.barという文法は、foo["bar"]というJavaScriptの有効な短縮構
文である、と考えれば、他の言語に類似するこの文法を、全く違う視点から理解できるかと思います。」

> when you're in any JavaScript function, there is an implicitly-bound variable called this which refers to the function's "owner".
> JavaScriptのどんな関数の中にいても暗黙的に結びついた”this”と呼ばれる関数のオーナーに結びついた値が存在します。

「JavaScriptのいかなる関数の中にいる場合でも、その関数の「オーナー」を表す、暗黙的にバインドされたthisという変数が存在しま
す。」
(読点があると単語の係り受けが明確になります。)

> For global functions this is a global per-page "window" object,
> グローバル関数の場合には"this"はページ毎の"window"オブジェクトです。

グローバル関数の場合には"this"はページ毎のグローバル"window"オブジェクトです。

> there's one special attribute associated with a function, prototype. This is a dictionary of values that are associated with every object that is created using the new keyword with that function; this is a good way of setting values that will be the same for every object of that "class" ― for example, methods.
> Prototypeと呼ばれる関数に関連する特別な属性(attribute)が存在します。これはオブジェクト生成のための関数にnewを使って作られた、全てのオブジェクトに関連する値の格納された辞書です;これは"class"のオブジェクト全てに共通な値を登録する良い方法です。-例えば、メソッド。

「prototypeと呼ばれる関数に関連する特別な属性(attribute)が存在します。これは、その関数にnewキーワードを付けて生成したオ
ブジェクトの全てに関連付けられるべき値をもつ辞書です。
この「クラス」の全てのオブジェクトで共通する値(例えばメソッド)を設定するには、これが良い方法となります。」
(JavaScriptは大文字小文字を識別するので、Prototypeではまずいです。2文目は、prototypeが適用される対象が「newで
生成された全てのオブジェクト」ではなく、「その関数」にnewを使用して生成されたオブジェクトのみである、と分かるように書き換えています。3文目
の「クラス」の前の「この」も同じ目的です。)

> So, draw is defined to take the parameters we passed in to it back in the main drawScene function.
> "drawメソッドはパラメタを受け取るように定義され、既に説明したdrawScene関数の中で呼び出されます。

drawメソッドは、先のメインのdrawScene関数における呼び出しで示したとおりのパラメータを受け取るよう定義されています。
(文節を区切ると、draw is defined / to take [the parameters we passed [in to it
(draw method)] [(as described) back in the main drawScene function] ] と
いう感じでしょうか。)

> 星自身を描く前に異なる色で回転しない星を描画します。

星自身を描く前に、異なる色の、回転しない星を描画します。


> elapsedTime is in milliseconds, and so we want an effective frames-per-millisecond of 60 / 1000.

elapsedTimeはミリ秒であり、実際のミリ秒間フレームレートを 60 / 1000 にしようとしています。
(訳し抜け)

> Starのprototyを構成する最後の部品は、構築処理の中と今見たアニメーション処理の中で見た瞬き用とその他の2つの色をランダムに決定する処理です。

prototype

> ...and we're done with the star's prototype. So, that's how a star object is created, complete with methods to draw and animate it. Now, just above these functions, you can see the (rather dull) code that draws the star: it just draws a square in a manner that will be familiar from the first lesson, using an appropriate texture and vertex position/texture coordinate buffers:
> "これでStartのprototypeは完了です。これが描画とアニメーションのメソッドを持ったstar objectがどのように作られるかです。"

「これでこの星のprototypeは完了です。つまり、これが、星オブジェクトがどう生成され、その描画とアニメーションを行うメソッドがどう設定さ
れるかを表したものです。さて、ここまでの関数で、星を描画する(退屈な)コードを読むことが出来ました。適切なテクスチャと行列の位置/テクスチャ座
標バッファを使用して、第1回のレッスンからおなじみの正方形を描画するだけです。」
(大文字は型名、小文字は一般語と解釈しています。あと足りないところを適当に訳しました)

> やっていることは星のdrawメソッドでセットされた色をuniformから取り出してモノクロのテクスチャに対して利用します。

ここでやっているのは、星のdrawメソッドでセットされた色をuniformから取り出してモノクロのテクスチャに対して利用する、ということで
す。

> As always, I'm deeply in debt to NeHe for his OpenGL tutorial for the script for this lesson.
> いつものようにNeHeのOpenGLチュートリアルのこのレッスンのためのスクリプトにとても感謝しています。

「このレッスンのスクリプトの作成については、いつものように、NeHeのOpenGLチュートリアルにとても感謝しています。」
(NeHeにスクリプトがあるように読めるので修正)

----
以上ご参考まで…

Atsushi Eno


On Feb 19, 2:10 am, tmasda <yukiponnek...@gmail.com> wrote:
> tmasdaです。
> Learning WebGLの9章の翻訳が終わったのでどなたか確認をお願いします。
>
> https://sites.google.com/site/hackthewebgl/learning-webglhon-yaku/hon...
>
> ちょっと自信が無い場所が二カ所ほどあります。
>
> よろしくお願いします。

tmasda

unread,
Feb 19, 2011, 10:31:56 AM2/19/11
to hack_webgl
tmasdaです。
ご丁寧な添削ありがとうございました。
とても勉強になります。
全部採用させて頂きます^^

リンクであったアルクのサイトもいいですね。
今後翻訳するときに利用したいと思います。

このメールの内容を反映したら、確認は完了と言うことにしてwiki化に取りかかろうと思います。

Atsushi Eno

unread,
Feb 19, 2011, 4:30:53 PM2/19/11
to hack_webgl
すみません、読み直していて気になったのでちょっと訂正を:

> prototypeと呼ばれる関数に関連する特別な属性があります

prototypeはここでは属性であり関数ではないので、

> prototypeという、関数に関連する特別な属性があります

にしていただければと思います。(細かくてすみません)

Atsushi Eno

tomoki masuda

unread,
Feb 19, 2011, 10:24:17 PM2/19/11
to hack_...@googlegroups.com
はい。ご指摘どうもありがとうございます。
直しておきました。

今日中には公開出来るようにがんばります。

2011/2/20 Atsushi Eno <atsus...@gmail.com>
Reply all
Reply to author
Forward
0 new messages