점근선: 흰색이 흰색이 아닌 경우

점근선: 흰색이 흰색이 아닌 경우

점근선(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.0합니다 .0.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);

관련 정보