Next: , Previous: BBOX, Up: Formatos de Arquivo de Objeto


4.2.4 Superfícies de Bezier

O sufixo de arquivo convencional para arquivos de superfície de Bezier é .bbp ou .bez. O arquivo com qualquer dos dois sufixos pode conter qualquer dos dois tipos de parte de superfície de Bezier.

Sintaxe:

       [ST]BBP -ou- [C]BEZ<Nu><Nv><Nd>[_ST]
     			# Nu, Nv são direções nos eixos u e v
     			# graus de polinômios variam 1..6
     			# Nd = dimensão: 3->3-D, 4->4-D (racional)
     			# (O sinal '<' e o sinal '>' não aparecem na entrada.)
     			# Nu,Nv,Nd são cada um dígito decimal simples.
     			# a forma BBP implica Nu=Nv=Nd=3 de forma que BBP = BEZ333.
     
     		# Qualquer número de partes de superfície de Bezier segue o cabeçalho
     			# (Nu+1)*(Nv+1) pontos de controle do pedaço da sperfície de Bezier
     			# cada 3 ou 4 números em ponto flutuante conforme o cabeçalho
       vertex(u=0,v=0)  vertex(1,0) ... vertex(Nu,0)
       vertex(0,1)			   ... vertex(Nu,1)
       ...
       vertex(0,Nv)		   ... vertex(Nu,Nv)
     
     			# coordenadas de textura ST se mencionado no cabeçalho
       S(u=0,v=0)	T(0,0)	S(0,Nv) T(0,Nv)
       S(Nu,0)	T(Nu,0)	S(Nu,Nv) T(Nu,Nv)
     
     			# número em ponto flutuante com 4 componentes no intervalo (0..1) de
     			# cores R G B A para cada canto se mencionado no cabeçalho
       RGBA(0,0)   RGBA(0,Nv)
       RGBA(Nu,0)  RGBA(Nu,Nv)

Esses formatos representam coleções de partes de superfícies de Bezier, de graus maiores que 6, e com vértices 3-D ou 4-D (racionais).

A palavra chave de cabeçalho pode assumir as formas [ST]BBP ou [C]BEZ<Nu><Nv><Nd>[_ST] (os símbolos '<' e '>' não são parte da palara chave.

O prefixo ST sobre BBP, ou o sufixo _ST sobre BEZuvn, indicam que cada pedaço de superfície inclui quatro pares de pontos com coordenadas em ponto flutuante no espaço de textura, um em cada canto do pedaço.

O prefixo C sobre BEZuvn indica um pedaço colorido, incluindo quatro conjuntos de quatro componentes com os números que especificam as cores em ponto flutuante (vermelho, verde, azul, e alfa) no intervalo 0..1, uma cor para cada canto.

Nu e Nv, cada um é um simples dígito no intervalo 1..6, são os graus do polinômio do pedaço nas direções u e v respectivamente.

Nd é o número de componentes no vértice de cada pedaço, e deve ser ou 3 para 3-D ou 4 para coordenadas homogêneas, isto é, pedaços racionais.

Pedaços BBP são pedaços bicúbicos com vértices tridimensionais, de forma que BBP = BEZ333 e STBBP = BEZ333_ST.

Qualquer número de pedaços segue o cabeçalho. Cada pedaço compreende uma série de vértices do pedaço, seguido por coordenadas opcionais de textura (s,t), seguidas por cores opcionais no formato (r,g,b,a).

Cada pedaço tem (Nu+1)*(Nv+1) vértices na ordem v-crescente, de forma que se designarmos um vértice através de seus índices (u, v) de controle de ponto a ordem é

          (0,0) (1,0) (2,0) ...  (Nu,0)
          (0,1) (1,1) (2,1) ...  (Nu,1)
          ...
          (0,Nv)            ...  (Nu,Nv)

com cada vértice contendo ou 3 ou 4 números em ponto flutuantes como especificado pelo cabeçalho.

Se o cabeçalho chama por coordenadas ST, quatro pares de números em ponto flutuante seguem: o espaço de coordenadas de textura para (0,0), (Nu,0), (0,Nv), e os cantos (Nu,Nv) do pedaço, respectivamente.

Se o cabeçalho chama por cores, segue quatro grupos de quatro componentes (vermelho, verde, azul, alfa) d cores em ponto flutuante, um para cada canto do pedaço.

A série de pedaços termina em um caractere de fim de arquivo, ou com uma chave fechada se incorporado em uma referência de objeto.