漸近線: 白が白でなくなるとき

漸近線: 白が白でなくなるとき

Asymptote (3D PDF) で白い 3D ボールを表示しようとしていますが、常に灰色で表示されます。

ここに画像の説明を入力してください

import graph3;
import solids;

defaultrender.merge=true;
size(10cm,0);

currentprojection=orthographic(-Z);

//currentlight=Headlamp;
//currentlight=light(-10,1,1);
//currentlight=White;
currentlight=Viewport;

draw(unitsphere,rgb(1,1,1));

これは照明の問題だと理解しており、設定をいじってみました(ソースでコメントアウトされている行は私の試みの一部です)が、一度もない白を白のままにしておく。私の理解が正しければ、光にもっと白い拡散成分が必要ですしかし、どうすればそれが実現できるのかわかりません。また、ドキュメントもあまり明確ではありません...


これは分子モデルの一部となり、レンダリングは次のようになります。

ここに画像の説明を入力してください

答え1

示唆されているようにg.kov、照明よりも を操作した方がよいかもしれませんmaterial。特に、周囲の光はかなり微妙な傾向があるため、emissivepen照明に関係なく、球体全体に正確にその色を追加する を使用する方がよいでしょう。

import three;

defaultrender.merge=true;
size(10cm,0);

currentprojection=orthographic(-Z);

draw(unitsphere, surfacepen=material(diffusepen=gray(0.5), emissivepen=gray(0.6), specularpen=black) );

結果:

答え2

おそらく、これは白すぎるかもしれませんが、必要に応じてemissivepenと を減らすことができますdiffusepen。コードと、のステップでemissivepenから へのパラメータの変更を同封します。1.00.50.1

import settings;
outformat="eps";
// interactiveView=false;
// batchView=false;

import three;
size(200);
//currentprojection=orthographic(5,4,3);
//defaultrender=render(compression=Zero,merge=true);
currentlight.background=blue;
material White=material(diffusepen=gray(1.0),emissivepen=gray(1.0));
draw(unitsphere,White);

ムウェ

答え3

nolight白は白になります! nolight黄色は黄色になります!

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ここに画像の説明を入力してください

// http://asymptote.ualberta.ca/
import three;
size(8cm,0);
draw(Label("$x$",EndPoint),O--1.5X,Arrow3);
draw(Label("$y$",EndPoint),O--1.5Y,Arrow3);
draw(Label("$z$",EndPoint),O--1.3Z,Arrow3);

//pen p=yellow+opacity(.9)+5pt;
pen p=white;

//draw(unitsphere,p);
draw(unitsphere,p,nolight);

関連情報