•
<canvas> <svg> Cenas complexas, animações matemáticas em tempo real Elevado desempenho(filtros, ray tracers) Manipulação de vídeo
Documentos de alta fidelidade para visualização e impressão Imagens estáticas
<polyline> <polygon>
<g>0
x
y
(x, y)
x
y
width
height
x1
y1
x2
y2
stroke
stroke-widthx
(x1, y1)
0
(x2, y2)
y
<line x1=”0” y1=”0” x2=”50” y2=”30” stroke=”#ff00cc” stroke-width=”4”>
x
y
width
height
fill
stroke
stroke-width(x1, y1)
height
width
y
<rect x=”20” y=”10” width=”100” height=”50” fill=”#fefefe” stroke=”#aad8f9” stroke-width=”1”>
cx
cy
r
fill
stroke
stroke-width0
x
y
(cx, cy)
r
<circle cx=”50” cy=”50” r=”30” fill=”#ffff00” stroke=”#666666” stroke-width=”8”>
cx
cy
rx
ry
fill
stroke
stroke-width0
x
y
(cx, cy)
rx
ry
<ellipse cx=”50” cy=”100” rx=”30” ry=”60” fill=”#00ffff” stroke=”#000000” stroke-width=”2”>
points
stroke
stroke-widthx
(x
1, y
1)
0
(x
2, y
2)
(x
n, y
n)
(x
4, y
4)
(x
3, y
3)
y
<polygon points=”160,676 415,676 160,292” fill=”e8f1d6” stroke=”#8c2d19” stroke-width=”6”>
transform
transform=”scale(sx sy)” sx sy
transform=”rotate(ang cy cy)” (cx, cy)
transform=”skewX(ang)” ang
transform=”skewY(ang)” ang
transform=”matrix(a b c d e f)”𝑀𝑇 = [
𝑎 𝑐 𝑒
𝑏 𝑑 𝑓
0 0 1
]
a b c d e f𝑉𝑇 = [𝑎 𝑏 𝑐 𝑑 𝑒 𝑓]
tx ty𝑀𝑇
𝑡𝑟𝑎𝑛𝑠𝑙𝑎çã𝑜= [
1 0 𝑡𝑥
0 1 𝑡𝑦
0 0
1
]
𝑉𝑇
𝑡𝑟𝑎𝑛𝑠𝑙𝑎çã𝑜= [1 0 0 1 𝑡𝑥 𝑡𝑦]
sx sy𝑀𝑇
𝑒𝑠𝑐𝑎𝑙𝑎= [
𝑠𝑥
0
𝑠𝑦 0
0
0
0
0
1
]
𝑉𝑇
𝑒𝑠𝑐𝑎𝑙𝑎= [𝑠𝑥 0 0 𝑠𝑦 0 0]
a𝑀𝑇
𝑟𝑜𝑡𝑎çã𝑜= [
cos(𝑎) −sin(𝑎) 0
sin(𝑎)
cos(𝑎)
0
0
0
1
]
𝑉𝑇
𝑟𝑜𝑡𝑎çã𝑜= [cos(𝑎) sin(𝑎) −sin(𝑎) cos(𝑎) 0 0]
a
𝑀𝑇
𝑒𝑛𝑣𝑖𝑒𝑠𝑎𝑚𝑒𝑛𝑡𝑜𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑥= [
1 𝑡𝑎𝑛(𝑎) 0
0
1
0
0
0
1
]
𝑉𝑇
𝑒𝑛𝑣𝑖𝑒𝑠𝑎𝑚𝑒𝑛𝑡𝑜𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑥= [1 0 𝑡𝑎𝑛(𝑎) 1 0 0]
a𝑀𝑇
𝑒𝑛𝑣𝑖𝑒𝑠𝑎𝑚𝑒𝑛𝑡𝑜𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑦= [
tan(a) 1 0
1
0 0
0
0 1
]
𝑝𝑒𝑟í𝑚𝑒𝑡𝑟𝑜
2⁄
á𝑟𝑒𝑎
𝑐𝑜𝑚𝑝𝑟𝑖𝑚𝑒𝑛𝑡𝑜𝑑𝑜𝑒𝑖𝑥𝑜𝑚𝑎𝑖𝑜𝑟
𝑐𝑜𝑚𝑝𝑟𝑖𝑚𝑒𝑛𝑡𝑜𝑑𝑜𝑒𝑖𝑥𝑜𝑚𝑒𝑛𝑜𝑟
⁄
o
o
o
o
o
o
𝑄𝐶
𝐿𝐴𝐵1=
{
"𝑝𝑟𝑒𝑡𝑜"
𝑠𝑒 [0𝑢𝑙; 20𝑢𝑙[
"𝑐𝑖𝑛𝑧𝑒𝑛𝑡𝑜𝑒𝑠𝑐𝑢𝑟𝑜" 𝑠𝑒 [20𝑢𝑙; 30𝑢𝑙[
"𝑐𝑖𝑛𝑧𝑒𝑛𝑡𝑜"
𝑠𝑒 [30𝑢𝑙; 40𝑢𝑙[
"𝑐𝑖𝑛𝑧𝑒𝑛𝑡𝑜𝑐𝑙𝑎𝑟𝑜"
𝑠𝑒 [40𝑢𝑙; 80𝑢𝑙[
"𝑏𝑟𝑎𝑛𝑐𝑜"
𝑠𝑒 [80𝑢𝑙; 100𝑢𝑙[
, ∀𝑈𝐻⋀𝑈𝑆 ∈ [0; 20]
𝑄𝐶
𝐿𝐴𝐵2=
{
"𝑣𝑒𝑟𝑚𝑒𝑙ℎ𝑜" 𝑠𝑒 ]335𝑢ℎ; 360𝑢ℎ]⋀[0𝑢ℎ; 40𝑢ℎ]
"𝑎𝑚𝑎𝑟𝑒𝑙𝑜"
𝑠𝑒 ]40𝑢ℎ; 80𝑢ℎ]
"𝑣𝑒𝑟𝑑𝑒"
𝑠𝑒 ]80𝑢ℎ; 160𝑢ℎ]
"𝑡𝑢𝑟𝑞𝑢𝑒𝑠𝑎"
𝑠𝑒 ]160𝑢ℎ; 200𝑢ℎ]
"𝑎𝑧𝑢𝑙"
𝑠𝑒 ]200𝑢ℎ; 260𝑢ℎ]
"𝑝ú𝑟𝑝𝑢𝑟𝑎"
𝑠𝑒 ]260𝑢ℎ; 297𝑢ℎ]
"𝑟𝑜𝑠𝑎"
𝑠𝑒 ]297𝑢ℎ; 335𝑢ℎ]
, ∀𝑈𝐿 ∈]40; 55]⋀𝑈𝑆 ∈]50; 100]
𝑄𝐶
𝐿𝐴𝐵3= 𝑄𝐶
𝐿𝐴𝐵2+ "𝑝á𝑙𝑖𝑑𝑜", ∀𝑈𝐻⋀𝑈𝑆 ∈]20; 50]⋀𝑈𝐿 ∈]40; 55]
𝑄𝐶
𝐿𝐴𝐵4= 𝑄𝐶
𝐿𝐴𝐵2+ "𝑐𝑙𝑎𝑟𝑜", ∀𝑈𝐻⋀𝑈𝑆 ∈]50; 100]⋀𝑈𝐿 ∈]55; 100]
𝑄𝐶
𝐿𝐴𝐵5= 𝑄𝐶
𝐿𝐴𝐵2+ "𝑒𝑠𝑐𝑢𝑟𝑜", ∀𝑈𝐻⋀𝑈𝑆 ∈]50; 100]⋀𝑈𝐿 ∈]20; 40]
Nível 1 Nível 2 Nível 3 Nível 4 Proporções do SVG Cor de fundo do SVG Título do SVG Descrição do SVG Descrição da forma dos elementos Número de elementos do SVG Interpretação do conjunto de elementos pela teoria de Gestalt Simetrias Alinhamentos Formação de grupos Descrição de cada um dos elementos Forma Localização Tamanho Cor de preenchimento Espessura e cor do perímetro Descrição técnica de cada um dos elementos Forma Localização Tamanho Cor de preenchimento Espessura e cor do perímetro Navegação pelos elementos Navegação pela forma dos elementos Navegação pela localização dos elementos Navegação pelos níveis
Z Zoom X C Cir V B A Lin S D F G Q Qua W E Eli R Ret T Tri TAB CAPS LOCK SHIFT
CTRL ALT SPACEParar
ESC F1 F2 F3 F4 F5 BACKSPACE Y U I O PolP H Esq J Cen K Dir L Los ENTER N M SHIFT CTRL ALT GR MENU
F6 F7 F8 F9 F10 F11 F12 SCROLLLOCK INSERT
HOME PAGE UP DEL END PAGE DOWN LEFT Elemento Anterior DOWN Nível Anterior RIGHT Elemento Seguinte UP Nível Seguinte % 5 ^ 6 3 Nível 3 4 Nível 4 1 Nível 1 2 Nível 2 > < ; , : . * + `´ ? ‘ » « ª º ^ ~ | \ ( 9 ) 0 & 7 * 8 Win PAUSE BREAK Ç _
function inicioDoc($titulo, $tipo)
$titulo $tipo
function instrucoes($nomeFicheiro, $robo)
$nomeFicheiro $robo
function rodapeDoc()
simplexml_load_string()
$svg
$svgL$x1 $x2 $y1 $y2
$x1 $x1
$x2 $x2
$y1 $y1
$y2 $y2 <rect><polygon>
$nLin
$nRetT <rect>
$nQua
$nRet
$nCir
$nEli
$nPolT <polygon>
$nTri
$nLos
$nPol$nElem = $nQua + $nRet + $nCir + $nEli + $nTri + $nLos + $nPol + $nLin
function aspetoTela($svgL, $svgH) $svgL $svgH
𝐴𝑠𝑝𝑒𝑡𝑜𝑑𝑎𝑖𝑚𝑎𝑔𝑒𝑚 = {
"𝑞𝑢𝑎𝑑𝑟𝑎𝑑𝑜"
𝑠𝑒 $𝑠𝑣𝑔𝐿 × 0,9 ≤ $𝑠𝑣𝑔𝐻 ≤ $𝑠𝑣𝑔𝐿 × 1,1
"𝑟𝑒𝑡â𝑛𝑔𝑢𝑙𝑜𝑎𝑜𝑏𝑎𝑖𝑥𝑜" 𝑠𝑒 $𝑠𝑣𝑔𝐿 × 1,1 > $𝑠𝑣𝑔𝐻
"𝑟𝑒𝑡â𝑛𝑔𝑢𝑙𝑜𝑎𝑜𝑎𝑙𝑡𝑜"
𝑠𝑒 $𝑠𝑣𝑔𝐿 × 1,1 < $𝑠𝑣𝑔𝐻
function corFundoTela($svg, $svgL, $svgH, $nRetT)
<rect> $svg $svgL $svgH <rect> <rect> #ffffff corNome
function corFundoTelaV($svg, $svgL, $svgH, $nRetT) $conteúdo <circle
function contarLin($conteudo)
function contarRetT($conteudo) <rect>
function contarCir($conteudo)
function contarEli($conteudo)
function contarPolT($conteudo) <polygon>$svg
$nPolT
function contarTri($svg, $nPolT)
function contarLos($svg, $nPolT)<rect> $svg <rect> $nRetT $svgL $svgH <rect> <rect>
𝑤𝑖𝑑𝑡ℎ × 0,9 ≤ ℎ𝑒𝑖𝑔ℎ𝑡 ≤ 𝑤𝑖𝑑𝑡ℎ × 1,1
<rect>
function contarQua($svg, $nRetT, $svgL, $svgH)$nQua
function contarRet($svg, $nRetT, $nQua, $svgL, $svgH)function localizar($pontoX, $pontoY, $pX1, $pX2, $pY1, $pY2)
$pontoX $pontoY
parte superior esquerda parte central esquerda parte inferior esquerda parte superior central parte central parte inferior central parte superior direita parte central direita parte Inferior direita $x1 $x2 $y1 $y2
𝐿𝑜𝑐𝑎𝑙𝑖𝑧𝑎çã𝑜𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑑𝑎 =
=
{
"𝑝𝑎𝑟𝑡𝑒𝑠𝑢𝑝𝑒𝑟𝑖𝑜𝑟𝑒𝑠𝑞𝑢𝑒𝑟𝑑𝑎" 𝑠𝑒 ($𝑝𝑜𝑛𝑡𝑜𝑋 ≤ $𝑥1)∧($𝑝𝑜𝑛𝑡𝑜𝑌 ≤ $𝑦1)
"𝑝𝑎𝑟𝑡𝑒𝑠𝑢𝑝𝑒𝑟𝑖𝑜𝑟𝑐𝑒𝑛𝑡𝑟𝑎𝑙"
𝑠𝑒
($𝑝𝑜𝑛𝑡𝑜𝑋 ≤ $𝑥2) ∧($𝑝𝑜𝑛𝑡𝑜𝑋 > $𝑥1) ∧
∧($𝑝𝑜𝑛𝑡𝑜𝑌 ≤ $𝑦1)
"𝑝𝑎𝑟𝑡𝑒𝑠𝑢𝑝𝑒𝑟𝑖𝑜𝑟𝑑𝑖𝑟𝑒𝑖𝑡𝑎"
𝑠𝑒 ($𝑝𝑜𝑛𝑡𝑜𝑋 > $𝑥2)∧ ($𝑝𝑜𝑛𝑡𝑜𝑌 ≤ $𝑦1)
"𝑝𝑎𝑟𝑡𝑒𝑐𝑒𝑛𝑡𝑟𝑎𝑙𝑒𝑠𝑞𝑢𝑒𝑟𝑑𝑎"
𝑠𝑒
($𝑝𝑜𝑛𝑡𝑜𝑋 ≤ $𝑥1)∧ ($𝑝𝑜𝑛𝑡𝑜𝑌 ≤ $𝑦2)∧
∧ ($𝑝𝑜𝑛𝑡𝑜𝑌 > $𝑦1)
"𝑝𝑎𝑟𝑡𝑒𝑐𝑒𝑛𝑡𝑟𝑎𝑙"
𝑠𝑒
($𝑝𝑜𝑛𝑡𝑜𝑋 ≤ $𝑥2)∧ ($𝑝𝑜𝑛𝑡𝑜𝑌 ≤ $𝑦2)∧
∧ ($𝑝𝑜𝑛𝑡𝑜𝑋 > $𝑥1)∧ ($𝑝𝑜𝑛𝑡𝑜𝑌 > $𝑦1)
"𝑝𝑎𝑟𝑡𝑒𝑐𝑒𝑛𝑡𝑟𝑎𝑙𝑑𝑖𝑟𝑒𝑖𝑡𝑎"
𝑠𝑒
($𝑝𝑜𝑛𝑡𝑜𝑋 > $𝑥2)∧ ($𝑝𝑜𝑛𝑡𝑜𝑌 > $𝑦1)∧
∧ ($𝑝𝑜𝑛𝑡𝑜𝑌 ≤ $𝑦2)
"𝑝𝑎𝑟𝑡𝑒𝑖𝑛𝑓𝑒𝑟𝑖𝑜𝑟𝑒𝑠𝑞𝑢𝑒𝑟𝑑𝑎" 𝑠𝑒 ($𝑝𝑜𝑛𝑡𝑜𝑋 ≤ $𝑥1)∧ ($𝑝𝑜𝑛𝑡𝑜𝑌 > $𝑦2)
"𝑝𝑎𝑟𝑡𝑒𝑖𝑛𝑓𝑒𝑟𝑖𝑜𝑟𝑐𝑒𝑛𝑡𝑟𝑎𝑙"
𝑠𝑒
($𝑝𝑜𝑛𝑡𝑜𝑋 > $𝑥1)∧ ($𝑝𝑜𝑛𝑡𝑜𝑌 > $𝑦2)∧)
∧ ($𝑝𝑜𝑛𝑡𝑜𝑋 ≤ $𝑥2)
"𝑝𝑎𝑟𝑡𝑒𝑖𝑛𝑓𝑒𝑟𝑖𝑜𝑟𝑑𝑖𝑟𝑒𝑖𝑡𝑎"
𝑠𝑒 ($𝑝𝑜𝑛𝑡𝑜𝑋 > $𝑥2)∧($𝑝𝑜𝑛𝑡𝑜𝑌 > $𝑦2)
parte central
um pouco acima
um pouco abaixo
um pouco à
esquerda
um pouco à direita
{
"𝑢𝑚𝑝𝑜𝑢𝑐𝑜à𝑑𝑖𝑟𝑒𝑖𝑡𝑎"
𝑠𝑒 𝜃 > 315° ∨ 𝜃 ≤ 45°
"𝑢𝑚𝑝𝑜𝑢𝑐𝑜𝑎𝑐𝑖𝑚𝑎"
𝑠𝑒 𝜃 > 45° ∧ 𝜃 ≤ 135°
"𝑢𝑚𝑝𝑜𝑢𝑐𝑜à𝑒𝑠𝑞𝑢𝑒𝑟𝑑𝑎" 𝑠𝑒 𝜃 > 135° ∧ 𝜃 ≤ 225°
"𝑢𝑚𝑝𝑜𝑢𝑐𝑜𝑎𝑏𝑎𝑖𝑥𝑜"
𝑠𝑒 𝜃 > 225° ∧ 𝜃 ≤ 315°
+ "𝑑𝑜"
+ "𝑐𝑒𝑛𝑡𝑟𝑜"
function localizarCod($pontoX, $pontoY, $pX1, $pX2, $pY1, $pY2) 1 4 7 2 5 8 3 6 9 x1 x2 y1 y2 function proporcao($medida,$padrao) $medida $padrao
$medida $padrao
𝑅á𝑐𝑖𝑜 =
$𝑚𝑒𝑑𝑖𝑑𝑎
$𝑝𝑎𝑑𝑟ã𝑜
𝑃𝑟𝑜𝑝𝑜𝑟çã𝑜𝑒𝑛𝑡𝑟𝑒𝑐𝑜𝑚𝑝𝑟𝑖𝑚𝑒𝑛𝑡𝑜𝑠 =
=
{
"𝑐𝑖𝑛𝑐𝑜𝑠𝑒𝑥𝑡𝑜𝑠"
𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 > 0,815
"𝑞𝑢𝑎𝑡𝑟𝑜𝑞𝑢𝑖𝑛𝑡𝑜𝑠" 𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 ≤ 0,815 ∧ $𝑟𝑎𝑐𝑖𝑜 > 0,775
"𝑡𝑟ê𝑠𝑞𝑢𝑎𝑟𝑡𝑜𝑠"
𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 ≤ 0,775 ∧ $𝑟𝑎𝑐𝑖𝑜 > 0,710
"𝑑𝑜𝑖𝑠𝑡𝑒𝑟ç𝑜𝑠"
𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 ≤ 0,710 ∧ $𝑟𝑎𝑐𝑖𝑜 > 0,585
"𝑚𝑒𝑡𝑎𝑑𝑒"
𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 ≤ 0,585 ∧ $𝑟𝑎𝑐𝑖𝑜 > 0,420
"𝑢𝑚𝑡𝑒𝑟ç𝑜"
𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 ≤ 0,420 ∧ $𝑟𝑎𝑐𝑖𝑜 > 0,295
"𝑢𝑚𝑞𝑢𝑎𝑟𝑡𝑜"
𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 ≤ 0,295 ∧ $𝑟𝑎𝑐𝑖𝑜 > 0,225
"𝑢𝑚𝑞𝑢𝑖𝑛𝑡𝑜"
𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 ≤ 0,225 ∧ $𝑟𝑎𝑐𝑖𝑜 > 0,185
"𝑢𝑚𝑠𝑒𝑥𝑡𝑜"
𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 ≤ 0,185 ∧ $𝑟𝑎𝑐𝑖𝑜 > 0,155
"𝑢𝑚𝑠é𝑡𝑖𝑚𝑜"
𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 ≤ 0,155 ∧ $𝑟𝑎𝑐𝑖𝑜 > 0,130
"𝑢𝑚𝑜𝑖𝑡𝑎𝑣𝑜"
𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 ≤ 0,130
$medida $padrao
𝐸𝑠𝑝𝑒𝑠𝑠𝑢𝑟𝑎 = {
"𝑓𝑖𝑛𝑎"
𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 > 150
"𝑚é𝑑𝑖𝑎"
𝑠𝑒 75 < $𝑟𝑎𝑐𝑖𝑜 ≤ 150
"𝑔𝑟𝑜𝑠𝑠𝑎" 𝑠𝑒 $𝑟𝑎𝑐𝑖𝑜 ≤ 75
function corNome($hexcode) $h $s $l𝑁í𝑣𝑒𝑙𝑑𝑒𝑐𝑖𝑛𝑧𝑒𝑛𝑡𝑜 =
{
"𝑐𝑖𝑛𝑧𝑒𝑛𝑡𝑜𝑒𝑠𝑐𝑢𝑟𝑜" 𝑠𝑒 (0 ≤ $𝑠 ≤ 20) ∧ (20 ≤ $𝑙 < 50), ∀$ℎ
"𝑐𝑖𝑛𝑧𝑒𝑛𝑡𝑜"
𝑠𝑒 (0 ≤ $𝑠 ≤ 20) ∧ (50 ≤ $𝑙 < 80), ∀$ℎ
"𝑐𝑖𝑛𝑧𝑒𝑛𝑡𝑜𝑐𝑙𝑎𝑟𝑜"
𝑠𝑒 (0 ≤ $𝑠 ≤ 20) ∧ (80 ≤ $𝑙 < 95), ∀$ℎ
"𝑏𝑟𝑎𝑛𝑐𝑜"
𝑠𝑒 (0 ≤ $𝑠 ≤ 20) ∧ (95 ≤ $𝑙 ≤ 100), ∀$ℎ
𝐶𝑜𝑟 = {
"𝑐𝑎𝑠𝑡𝑎𝑛ℎ𝑜" 𝑠𝑒 ($𝑠 < 80) ∧ (15 < $ℎ ≤ 50) ∧ ($𝑙 > 20)
"𝑙𝑎𝑟𝑎𝑛𝑗𝑎"
𝑠𝑒 ($𝑠 ≥ 80) ∧ (15 < $ℎ ≤ 50) ∧ ($𝑙 > 20)
"𝑎𝑚𝑎𝑟𝑒𝑙𝑜"
𝑠𝑒 (50 < $ℎ ≤ 65) ∧ ($𝑙 > 20)
aspetoTela
corFundoTela
$nElem == 0
$nElem > 0
$nElem > 0
$nElem
$nElem > 0
$nElem > 1
$svgTitulo <> ””
$svgTitulo <> ””
$svgTitulo$svgTitulo <> ””
$svgDescricao <> ””
$svgDescricao <> ””
$svgDescricao$svgDescricao <> ””
$nElem == 0 $nElem == 1 $nElem > 1 $nLin == 1 $nLin == 2 $nLin > 2 $nLin$rElem8 > 1
$rElem = 1
𝑅 =
∑ 𝑥 × 𝑦
√(∑ 𝑥
2) × (∑ 𝑦
2)
; 𝑥 = 𝑥
𝑖− 𝑥;
̅ 𝑦 = 𝑦
𝑖− 𝑦;
̅
𝑅
𝑛=
𝐷
̅(𝑂𝑏𝑠)
0,5 × √
𝑎
𝑛
$nElem == 2 $y1 == $y2 $nElem == 2 $x1 == $x2 $nElem > 2 (($corr > 0.9) ($corr < -0.9)) ($nElem > 2) ($contaGrupos <> $elemGlob) ($contaGrupos == 1) ($nElem > 2) ($contaGrupos <> $elemGlob) ($contaGrupos > 1) $contaGrupos
$elemGlob $elemGlobF
$elemLin $elemRet $elemQua $elemLos$elemTri $elemCir $elemEli $elemPol
$elemSE $elemS $elemSD $elemE $elemC$elemD $elemIE $elemI $elemID $elemSEF $elemSF $elemSDF $elemEF $elemCF $elemDF $elemIEF $elemIF $elemIDF
<rect>
width
$rectLargura
height
$rectAltura
x
$rectX
fill
$rectCorV $rectCor
stroke
$rectCorBordaV $rectCorBorda
stroke-width
$rectLarguraBorda$𝑟𝑒𝑐𝑡𝐶𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑒𝑋 = $𝑟𝑒𝑐𝑡𝑋 +
$𝑟𝑒𝑐𝑡𝐿𝑎𝑟𝑔𝑢𝑟𝑎
2
$𝑟𝑒𝑐𝑡𝐶𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑒𝑌 = $𝑟𝑒𝑐𝑡𝑌 +
$𝑟𝑒𝑐𝑡𝐴𝑙𝑡𝑢𝑟𝑎
2
$𝑎𝑟𝑒𝑎 = $𝑟𝑒𝑐𝑡𝐿𝑎𝑟𝑔𝑢𝑟𝑎 × $𝑟𝑒𝑐𝑡𝐴𝑙𝑡𝑢𝑟𝑎
$𝑝𝑒𝑟𝑖𝑚𝑒𝑡𝑟𝑜 = 2 × $𝑟𝑒𝑐𝑡𝐿𝑎𝑟𝑔𝑢𝑟𝑎 + 2 × $𝑟𝑒𝑐𝑡𝐴𝑙𝑡𝑢𝑟𝑎
' O retângulo '.($elemRet+1).' tem, de largura, '.proporcao($rectLargura, $svgL).' da largura da imagem, e de altura, ' . proporcao($rectAltura, $svgH) . ' da altura da imagem, está preenchido â '.$rectCor.', com perímetro de espessura '.espessura($rectLarguraBorda, $svgL).', em
'.$rectCorBorda.', e situa-se '.localizar($rectCentroideX, $rectCentroideY, $x1, $x2, $y1, $y2).' da imagem.';
' Retângulo '.($elemRetF+1).': Vértice superior esquerdo em xis igual â '.$rectX.' picséis, e ípsilóne igual â '.$rectY.' picséis. Largura: '.$rectLargura.' picséis. Altura: '.$rectAltura.' picséis. Espessura duu perímetro: '.$rectLarguraBorda[$i].' picséis. Cor duu perímetro: cardinal '.$rectCorBordaV.'. Cor de preenchimento: cardinal '.$rectCorV.'. Área: '.$area.' picséis quadrados. Perímetro: '.$perimetro.' picséis.';
<rect>
width
$quaLargura
height
$quaAltura
x
$quaX
y
$quaY
fill
$quaCorV $quaCor
stroke
$quaCorBordaV $quaCorBorda$𝑞𝑢𝑎𝐶𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑒𝑋 = $𝑞𝑢𝑎𝑋 +
$𝑞𝑢𝑎𝐿𝑎𝑟𝑔𝑢𝑟𝑎
2
$𝑞𝑢𝑎𝐶𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑒𝑌 = $𝑞𝑢𝑎𝑌 +
$𝑞𝑢𝑎𝐴𝑙𝑡𝑢𝑟𝑎
2
$𝑎𝑟𝑒𝑎 = $𝑞𝑢𝑎𝐿𝑎𝑟𝑔𝑢𝑟𝑎 × $𝑞𝑢𝑎𝐴𝑙𝑡𝑢𝑟𝑎
$𝑝𝑒𝑟𝑖𝑚𝑒𝑡𝑟𝑜 = 2 × $𝑞𝑢𝑎𝐿𝑎𝑟𝑔𝑢𝑟𝑎 + 2 × $𝑞𝑢𝑎𝐴𝑙𝑡𝑢𝑟𝑎
' O quadrado '.($elemQua+1).' tem, de lado, '.proporcao($quaLargura,
$svgL).' da largura da imagem, está preenchido â '.$quaCor.', com perímetro de espessura '.espessura($quaLarguraBorda, $svgL).', em '.$quaCorBorda.', e situa-se '.localizar($quaCentroideX, $quaCentroideY, $x1, $x2, $y1, $y2).' da imagem.';
' Quadrado '.($elemQuaF+1).': Vértice superior esquerdo em xis igual â '.$quaX.' picséis, e ípsilóne igual â '.$quaY.' picséis. Largura: '.$quaLargura.' picséis. Altura: '.$quaAltura.' picséis. Espessura duu perímetro: '.$quaLarguraBorda.' picséis. Cor duu perímetro: cardinal '.$rectCorBordaV.'. Cor de preenchimento: cardinal '.$rectCorV.'. Área: '.$area.' picséis quadrados. Perímetro: '.$perimetro.' picséis.';
<polygon>
$tL
points
$pontos
fill
$diamondCorV $diamondCor
stroke
$diamondCorBordaV$diamondCorBorda
stroke-width
$diamondBorda$tLH
$𝑎𝑟𝑒𝑎 =
$𝑡𝐿𝐻 × $𝑡𝐿𝑉
2
$𝑝𝑒𝑟𝑖𝑚𝑒𝑡𝑟𝑜 = 4 × $𝑡𝐿
$tipo $proporcoes
' O quadrilátero '.($elemLos+1).', '.$tipo.$proporcoes.', está preenchido â '.$diamondCor.', com perímetro de espessura '.espessura($diamondBorda, $svgL).', em '.$diamondBordaCor.', e situa-se
'.localizar($diamondCentroideX, $diamondCentroideY, $x1, $x2, $y1, $y2).' da imagem.';
' Losango '.($elemLosF+1).': '
'Vértice '.($k+1).': xis igual â '.str_replace('.', ' ponto ',
$vPontos[2*$k]).' picséis e ípsilón igual â '.str_replace('.', ' ponto ', $vPontos[2*$k+1]).' picséis. ';
'Espessura duu perímetro: '.$diamondBorda.' picséis. Cor duu perímetro: cardinal '.$diamondBordaCorV.'. Cor de preenchimento: cardinal
'.$diamondCorV.'. Área: '.$area.' picséis quadrados. Perímetro: '.$perimetro.' picséis.';
<polygon>
$tL1 $tL2 $tL3
points
$pontos
fill
$triangleCorV $triangleCor
stroke
$triangleCorBordaV$triangleCorBorda
stroke-width
$triangleBorda$𝑎𝑟𝑒𝑎 = √$𝑝𝑒𝑟2 × ($𝑝𝑒𝑟2 − $𝑡𝐿1) × ($𝑝𝑒𝑟2 − $𝑡𝐿2) × ($𝑝𝑒𝑟3 − $𝑡𝐿3)
$tL1 $tL2 $tL3 $tipo. $tipo $proporcoes $tipo $tipo $tipo' O triângulo '.($elemTri+1).', '.$tipo.', está preenchido â
'.$triangleCor.', com perímetro de espessura '.espessura($triangleBorda, $svgL).', em '.$triangleBordaCor.', e situa-se
'.localizar($triangleCentroideX, $triangleCentroideY, $x1, $x2, $y1, $y2).' da imagem.';
' Triângulo '.($elemTriF+1).': '
'Vértice '.($k+1).': xis igual â '.str_replace('.', ' ponto ',
$vPontos[2*$k]).' picséis e ípsilón igual â '.str_replace('.', ' ponto ', $vPontos[2*$k+1]).' picséis. ';
'Espessura duu perímetro: '.$triangleBorda.' picséis. Cor duu perímetro: cardinal '.$triangleBordaCorV.'. Cor de preenchimento: cardinal
'.$triangleCorV.'. Área: '.$area.' picséis quadrados. Perímetro: '.$perimetro.' picséis.';
<circle>
r
$circleRaio
cx
$circleX
cy
$circleY
fill
$circleV $circleCor
stroke
$circleCorBordaV$circleCorBorda
stroke-width
$circleLarguraBorda$𝑎𝑟𝑒𝑎 = 𝑝𝑖() × 𝑝𝑜𝑤($𝑐𝑖𝑟𝑐𝑙𝑒𝑅𝑎𝑖𝑜, 2)
$𝑝𝑒𝑟𝑖𝑚𝑒𝑡𝑟𝑜 = 2 × 𝑝𝑖() × $𝑐𝑖𝑟𝑐𝑙𝑒𝑅𝑎𝑖𝑜
' O círculo '.($elemCir+1).' tem, de diâmetro, '.proporcao($circleRaio*2, $svgL).' da largura da imagem, está preenchido â '.$circleCor.', com perímetro de espessura '.espessura($circleLarguraBorda,$svgL).', em '.$circleCorBorda.', e situa-se '.localizar($circleX, $circleY, $x1, $x2, $y1, $y2).' da imagem.';
' Quadrado '.($elemQuaF+1).': Vértice superior esquerdo em xis igual â '.$quaX.' picséis, e ípsilóne igual â '.$quaY.' picséis. Largura: '.$quaLargura.' picséis. Altura: '.$quaAltura.' picséis. Espessura duu perímetro: '.$quaLarguraBorda.' picséis. Cor duu perímetro: cardinal '.$rectCorBordaV.'. Cor de preenchimento: cardinal '.$rectCorV.'. Área: '.$area.' picséis quadrados. Perímetro: '.$perimetro.' picséis.';
rx
$ellipseRaioX
ry
$ellipseRaioY
cx
$ellipseX
cy
$ellipseY
fill
$ellipseV $ellipseCor
stroke
$ellipseCorBordaV $ellipseCorBorda
stroke-width
$ellipseLarguraBorda
transform
$ellipseAngulo transform $ellipseAngulo $ellipseX $ellipseY$𝑎𝑟𝑒𝑎 = 𝑝𝑖() × $𝑒𝑙𝑙𝑖𝑝𝑠𝑒𝑅𝑎𝑖𝑜𝑋 × $𝑒𝑙𝑙𝑖𝑝𝑠𝑒𝑅𝑎𝑖𝑜𝑌
$𝑝𝑒𝑟𝑖𝑚𝑒𝑡𝑟𝑜 = 2 × 𝑝𝑖() × √
(𝑝𝑜𝑤($𝑒𝑙𝑙𝑖𝑝𝑠𝑒𝑅𝑎𝑖𝑜𝑋, 2) + 𝑝𝑜𝑤($𝑒𝑙𝑙𝑖𝑝𝑠𝑒𝑅𝑎𝑖𝑜𝑌, 2)
2
' A elipse '.($elemEli+1).$proporcoes.'. Está preenchida â '.$ellipseCor.', com perímetro de espessura '.espessura($ellipseLarguraBorda,$svgL).', em '.$ellipseCorBorda.', e situa-se '.localizar($ellipseX, $ellipseY, $x1, $x2, $y1, $y2).' da imagem'.$dizerAngulo.'.';
' Elipse '.($elemEliF+1).': Centro em xis igual a '.round($ellipseX).' picséis, e ípsilóne igual a '.round($ellipseY).' picséis. Raio em xis: '.str_replace('.', ' ponto ', round($ellipseRaioX, 1)).' picséis. Raio em ípsilóne: '.str_replace('.', ' ponto ', round($ellipseRaioY, 1)).' picséis. Espessura duu perímetro: '.$ellipseLarguraBorda.' picséis. Cor duu
perímetro: cardinal '.$ellipseCorBordaV.'. Cor de preenchimento: cardinal '.$ellipseCorV.'. Área: '.str_replace('.', ' ponto ', round($area, 1)).' picséis quadrados. Perímetro aproximado: '.str_replace('.', ' ponto ', round($perimetro, 1)).' picséis.';
<polygon>
points $pontos
fill $polygonCorV $polygonCor
stroke $polygonCorBordaV$polygonCorBorda
stroke-width $polygonBorda$ladosHor
$tipo
$elemTexto = ' O polígono '.($elemPol+1).', com '.$nPontos.' lados, '.$tipo.', cada lado com '.proporcao($ladoPol[0], $svgL).' da largura da imagem, está preenchido â '.$polygonCor.', com perímetro de espessura '.espessura($polygonBorda, $svgL).', em '.$polygonBordaCor.', e situa-se '.localizar($polygonCentroideX, $polygonCentroideY, $x1, $x2, $y1, $y2).' da imagem.';
' Polígono '.($elemPolF+1).': ';
'Vértice '.($k+1).': xis igual â '.str_replace('.', ' ponto ',
$vPontos[2*$k]).' picséis e ípsilón igual â '.str_replace('.', ' ponto ', $vPontos[2*$k+1]).' picséis. ';
'Espessura duu perímetro: '.$polygonBorda.' picséis. Cor duu perímetro: cardinal '.$polygonBordaCorV.'. Cor de preenchimento: cardinal
'.$polygonCorV.'.';
function pluginMeSpeak()
<script type="text/javascript">
meSpeak.speak('hello world', { option1: value1, option2: value2 … }); </script>