BBP and BEZ - Manual do Geomview
Description: Manual do Geomview

Next: OFF, 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.