✍ diale.org

Webpage of Tiago Charters de Azevedo

Início/Start Arquivo/Archive AdNauseum Notas/Notes Contact me RSS


Bradford Perfect Baffle

Looking for the perfect speaker enclosure?

2014/11/26-23:30:09

ã

Etiquetas/Tags: hifi, bradford, baffle, audio, diy

OpenSCAD - ISEL

Seminário para alunos - 28/Nov às 9:30

2014/11/20-11:35:06

ã

Etiquetas/Tags: openscad, ISEL, DEM

Hektor

... a portable spray paint

2014/11/16-10:26:21

Take a look: http://juerglehni.com/works/hektor/

and some more modern version: Wall bug

ã

Etiquetas/Tags: Hektor, diy, art

OpenSCAD - Notas

... para um seminário dirigido a alunos.

2014/11/14-11:39:10

O OpenSCAD é um software livre de CAD 3D disponível para GNU/Linux/UNIX, MS Windows e Mac OS X. Permite a construção de ficheiros STL de grande qualidade usando uma linguagem funcional simples. Veja-se o seguinte exemplo:

$fn=100;

difference(){
    difference(){
        sphere(r=10,center=true);
        cylinder(r=5,h=30,center=true);}
    rotate([0,90,90]){
        cylinder(r=5,h=30,center=true);}}

rotate([0,90,0]){
    cylinder(r=5,h=15*1.57,center=true);}

Não é um software "gráfico" no sentido usual deste tipo de programas, todos os sólidos são gerados por um script construído num qualquer editor de texto (o GUI (graphical user interface) contém um editor mas pode ser usado outro qualquer). Tem um extensa documentação on-line e tutoriais.

Conteúdo

Duração: 60m


Resumo de instruções (última versão estável - OpenSCAD 2014.03)

Sintaxe

var = value; module name(…) { … }
name(); function name(…) = …
name(); include <….scad> use <….scad> 

2D

circle(radius | d=diameter) 
square(size,center) 
square([width,height],center) 
polygon([points]) 
polygon([points],[paths]) 

3D

sphere(radius | d=diameter) 
cube(size) 
cube([width,depth,height]) 
cylinder(h,r|d,center) 
cylinder(h,r1|d1,r2|d2,center) 
polyhedron(points, triangles, convexity) 

Transformações

translate([x,y,z])
rotate([x,y,z]) 
scale([x,y,z])
resize([x,y,z],auto) 
mirror([x,y,z])
multmatrix(m) 
color("colorname") 
color([r, g, b, a]) 
hull() 
minkowski() 

Operadores Booleanos

union() 
difference() 
intersection()

Caracteres modificadores

*    disable
!    show only
#    highlight
%    transparent 

Funções matemáticas

abs 
sign sin
cos
tan
acos
asin
atan
atan2
floor
round
ceil
ln
len
log
pow
sqrt
exp
rands
min
max

Funções

lookup
str
chr
search
version
version_num
norm
cross
parent_module(idx)

Outras

echo(...)
for (i = [start:end]) { ... } 
for (i = [start:step:end]) { ... } 
for (i = [...,...,...]) { ... } 
intersection_for(i = [start:end]) { ... } 
intersection_for(i = [start:step:end]) { ... } 
intersection_for(i = [...,...,...]) { ... } 
if (...) { ... } 
assign (...) { ... } 
import("....stl") 
linear_extrude(height,center,convexity,twist,slices) 
rotate_extrude(convexity) 
surface(file = "....dat",center,convexity) 
projection(cut) 
render(convexity) 
children([idx]) 

Variáveis especiais

$fa ângulo mínimo
$fs tamanho mínimo
$fn número de fragmentos
$t passo de animação

Etiquetas/Tags: openscad, ISEL

"Now, a tricolumn - build this efficiente column speaker" by R. N.Baldock.

... simple idea for using a CNC.

2014/11/14-10:00:01

Here is a simple idea for building a tricolumn with a F88 Fountek speaker.

ã

Etiquetas/Tags: CNC, tricolumn, speaker, audio

Meshlab

MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes.

2014/11/14-09:38:53

ã

Etiquetas/Tags: stl, cad, opensource

A torus knot

... an openscad example.

2014/11/13-09:57:48

ã

Etiquetas/Tags: torus, knot openscad, example

Digital typography

from Knuth's downloadable graphics

2014/11/13-00:41:20

From Knuth's Downloadable Graphics.

ã

Etiquetas/Tags: Knuth, typography, downloadable, graphics

Fotos

... bairro alto.

2014/11/13-00:07:15

ã

Etiquetas/Tags: photos, bairro alto

A verdade, nada mais do que a verdade

Notas sobre o Teorema de Godel (exposição informal)

2014/11/13-00:01:30

Vamos construir uma máquina de calcular que escreve expressões compostas pelos seguintes símbolos neg P N ( ).

Por expressão entenda-se uma lista não vazia composta por estes cinco símbolos. Uma expressão X é "printável"1 se a máquina a conseguir escrever ("printar"). Admitimos que a máquina está programada de a modo a escrever expressões que pode imprimir, i.e., gasta todo o seu tempo a imprimir expressões.

Chama-se norma de uma expressão X à expressão composta X(X); por exemplo, a norma de P neg é P neg (P neg). Uma frase válida tem uma das seguintes formas:

  1. P(X)
  2. P N(X)
  3. neg P(X)
  4. neg P N(X)

Se associarmos, informalmente, a três dos símbolos anteriores um significado podemos ler uma qualquer frase válida. Assim associamos os seguintes significados a P, N e neg:

Com esta interpretação podemos dizer que P(X) é uma frase verdadeira se, e só se, X é printável1; do mesmo modo PN(X) é verdadeira se, e só se, a norma de X poder ser escrita, neg P (X) é verdadeira sse2 X não poder ser escrita e neg P N(X) é verdadeira se a norma de X não poder ser escrita. Assim as definições anteriores permitem-nos falar em português, e com rigor, sobre o que afirmam cada uma das frases escritas pela máquina e o que significa uma expressão verdadeira. Estas são de facto, auto-afirmações, efectuadas pela máquina, são frases que nos dizem algo sobre a máquina que as escreve. A máquina durante o seu funcionamento descreve o seu próprio funcionamento, semelhante a um organismo consciente.

Assim concluímos que a máquina está bem definida, i.e., funciona bem, e que todas as frases que por ela são escritas são expressões verdadeiras. Por exemplo, se a máquina escrever P(X), isto significa que X pode ser realmente escrito (X será escrito mais tarde ou mais cedo); da mesma forma se num instante posterior a máquina escrever P N(X) então X(X) também aparecerá mais tarde. Admitamos agora que X pode ser escrito pela máquina, será que podemos concluir que P(X) também o será? Se X pode ser escrito pela máquina então a frase P(X) é verdadeira, mas não sabemos, de facto, se P(X) pode ser escrito pela máquina, ou seja, se P(P(X)) é verdadeira.

Será possível a máquina escrever todas as afirmações verdadeira que falam sobre ela?

A resposta a esta pergunta é, um surpreendentemente, não! Para podermos verificar isso temos que encontrar uma frase que seja verdadeira, i.e., que afirme algo verdadeiro sobre a máquina, e que a máquina não consiga escrever. Basta construir uma frase, uma expressão, que afirme a sua não "printabilidade".

Uma candidata seria: Esta frase "esta frase não pode ser escrita" não pode ser escrita. Ou seja neg P N (neg P N), que afirma que a norma de neg P N não pode ser escrita. Por definição de expressão verdadeira, a frase anterior é verdadeira se a norma de neg P N não pode ser escrita, mas a norma de neg P N é exactamente a frase neg P N (neg P N)!

Algumas frases apressadas

Ref: Smullyan, R M (2001) "Gödel's Incompleteness Theorems" in Goble, Lou, ed., The Blackwell Guide to Philosophical Logic. Blackwell

1. Vou usar "printável" para dizer o mesmo que "pode ser escrita".

2. sse = se, e só se

Etiquetas/Tags: Godel, teorema, notas, Smullyan

Palavras chave/keywords: página pessoal, blog

Criado/Created: NaN

Última actualização/Last updated: 26-11-2014 [23:30]


1999-2014 (ç) Tiago Charters de Azevedo

São permitidas cópias textuais parciais/integrais em qualquer meio com/sem alterações desde que se mantenha este aviso.

Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.