Sombreamento da esfera

Sombreamento da esfera

A segunda resposta em

Como desenhar uma esfera sombreada?

é uma esfera sombreada em amarelo. Como posso transformá-lo em preto e branco? Obrigado por qualquer ajuda! Estou tentando há uma hora, alterando valores aleatoriamente, mas não consegui nada, pois não entendo o código.

Responder1

As cores são definidas aqui:

%% currently there is just one number in the stack.
%% we need three corresponding to the RGB values
dup
0.4

Você deve colocar os valores RGB que deseja alterar a cor, por exemplo se definir:

dup 
0.4 
0.5

Você obtém algo parecido com rosa.

RGB significa vermelho, verde e azul, as cores primárias, nesta notação possuem valor de 0 (= sem luz) a 1 (= luz total), por exemplo:

r g b 
0 0 0 = black
1 0 0 = red
0 1 0 = green
0 0 1 = blue
1 1 1 = white

Se todos os 3 valores forem iguais a um valor de 0 a 1, você obterá a escala de cinza.

Como você disse em um comentário, se você colocar todo o rgb igual você perdeu a tonalidade, acho que você pode chegar ao resultado desejado alterando outros comandos, mas não os conheço, pois são uma forma simplificada de um subconjunto do Linguagem PostScript, procure \pgfdeclarefunctionalshadingno Manual Ti_k_Z & PGF e veja a Seção 3.9.4 [aqui] (http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf) para mais informações.

Em vez disso, sugiro que você use uma solução mais simples, se você não gosta da CroCo, tente algo assim (modifique os valores até encontrar o que procura):

\documentclass[border=5mm]{standalone}
\usepackage{tikz}

\pgfdeclareradialshading{sphere}{\pgfpoint{0.5cm}{0.5cm}}%
   {rgb(0cm)=(1,1,1);
    rgb(0.9cm)=(0.7,0.7,0.7);
    rgb(1cm)=(0.5,0.5,0.5);
    rgb(1.05cm)=(0,0,0)}

\begin{document}
    \pgfuseshading{sphere}
\end{document}

insira a descrição da imagem aqui

Responder2

É isso que você está procurando?

insira a descrição da imagem aqui

\documentclass[border={10pt}]{standalone}
\usepackage{tikz}  

\begin{document}

\begin{tikzpicture}
[ 
  sphereBlack/.style={ball color = black},
  sphereYellow/.style={ball color = yellow}
]

\shade[sphereBlack]  (0,0) circle (1cm); 
\shade[sphereYellow] (3,0) circle (1cm); 
\end{tikzpicture}

\end{document}

informação relacionada