レイ キャスティング技術とフォン イルミネーションを使用して球体をレンダリングするプログラムを Java でゼロから作成しようとしていますが、少し迷っています。
phong 方程式の係数の背後にある概念は理解していますが、ベクトル値を取得する方法と、これらすべてとレイ キャスティングとの関係を理解していません。
画面の中央に球体をレンダリングしたいとしましょう。その位置と半径があるので、(cx、cy、r) です。今どこから始めればいいですか?ベクトル値を正確に取得するにはどうすればよいですか? 私の考えは次のとおりです(疑似コード)
int cx = window width/2
int cy = window height/2
int r = 30;
for(i = 0 -> window height) {
for(j = 0 -> window width) {
if( (j-cx)^2 + (i-cy)^2 < r^2) {
//point inside
Color c = phong(arguments..)
draw pixel j,i with color c
}
}
}
しかし、これが正しいかどうかはわかりません。正しい場合は、まず法線のベクトル値を取得するにはどうすればよいですか?
正しい方法で私を指すことができますか?何度もグーグルで試しましたが成功しませんでした、よろしくお願いします