Cole uma tabela em qualquer um dos dois formatos. Redondo: baliza, x, altura_quilha, altura_borda, meias-bocas intermediárias…, meia_boca_borda — qualquer número de níveis intermediários, igualmente espaçados no pontal. Quinado: stn, x, sheer_hb, chine_hb, sheer_ht, chine_ht, keel_ht. Tudo em milímetros. Comentários com #, separador de milhar e linha de cabeçalho são ignorados, então a exportação do plano de linhas entra direto.
Na versão anterior a baliza era quilha → chine → borda, dois painéis retos. Isso descreve casco quinado e mais nada. Aqui a baliza é uma curva genérica y(z) definida por meias-bocas tabeladas em alturas relativas do pontal, o que cobre os dois casos com um só motor: no redondo os níveis intermediários viram curva sem canto; no quinado a meia-boca do chine entra como nó exato e a interpolação entre nós é reta, preservando o canto vivo.
O formato é reconhecido pelo cabeçalho e, na falta dele, pela heurística — as duas tabelas têm oito colunas, então a decisão olha se a terceira coluna é altura de quilha (menor que a de borda, com as meias-bocas crescendo) ou meia-boca de borda.
Bojo redondo segue de perto (y/Y)^p + (1 − z/D)^p = 1, que dá tangente horizontal na quilha e topo vertical na borda. O expoente é ajustado por mínimos quadrados aos níveis tabelados de cada baliza, e é isso que dá a fidelidade: com as três meias-bocas desta tabela o ajuste recupera p com três casas decimais e reconstrói a curva com 0,01 % de erro.
Interpolar entre os níveis, em vez de ajustar, erraria 7,5 % na volta do bojo, porque y(u) chega à quilha com derivada infinita e três níveis não dizem nada sobre o trecho entre a quilha e o primeiro deles. Quando o resíduo do ajuste passa de 1,5 % da meia-boca a baliza não é dessa família, e aí vale a cúbica monótona — aplicada a u(y), não a y(u), justamente porque nessa direção a derivada na quilha é zero e o problema fica bem condicionado.
Como a altura cresce monotonicamente da quilha à borda nos dois formatos, a linha de água corta a baliza uma única vez e a área imersa é a integral de y dz — exata sobre a poligonal, sem varredura. Volume, momentos, área de flutuação e perímetro molhado são integrados em 400 balizas por trapézios, dobrados para os dois bordos, com a face imersa do espelho somada à superfície molhada.
Conferido contra três referências de valor conhecido: um caixote de 10 × 2 × 0,5 m volta como 10,000 m³ exatos, com Cb e Cm iguais a 1,000 e superfície molhada de 31 m²; um meio-cilindro de raio 1 m e 10 m de comprimento volta com 0,01 % de erro e Cm igual a π/4; e o caso quinado bate com o motor anterior dentro de 0,1 % em todas as grandezas. A malha renderizada, fechada com convés e espelho e integrada pelo teorema da divergência, confere com o volume analítico melhor que 0,01 %.
O calado é medido acima do ponto mais baixo da quilha, o mesmo datum da tabela. O deslocamento sai do volume multiplicado pela densidade escolhida no alternador — água salgada a 1025 kg/m³ ou água doce a 1000 kg/m³, uma diferença de 2,5 % no peso para a mesma forma.
atenção A tabela é a única informação disponível. Entre as balizas o casco é interpolado, e a finura do bojo depende de quantos níveis a tabela traz: três níveis definem bem uma baliza da família da super-elipse, mas uma forma fora dela — bojo com raio marcado, costado tombado, pé de quilha — pede mais níveis. O leitor aceita quantos você fornecer.