Esta es un traducción al castellano del manual en linea de Koan3D, un programa adecuado para iniciarse en el modelado bajo VRML2 (dinámico). Visita el sitio oficial del autor ( cick sobre la imagen de arriba)
onsideraciones preliminares:
Este programa fué diseñado enteramente en java, el lenguaje de programación especial para Internet, por lo que para funcionar necesitas disponer de un navegador común de Internet como el Explorer o el Nestcape.
En java todo funciona dentro del navegador y lo que comunmente se llama interfase del programa (pantallas que ejecutan el programa ) aquí se donomina applet java ó simplemente applet.
Todos los programas java están pensados para correr en Internet y desde equipos remotos ( en este caso también en la PC local ó tu PC) por lo que se piden por defecto ciertas condiciones de seguridad como que no puedas grabar sobre un equipo a través de Internet si este no te lo autoriza.
Sobre el proceso de instalación del programa:
Nota: Para esta operación necesitarás tener instalado WinZip
1) *.-Crea una carpeta nueva llamada preferentemente k3d.
2) *.-Presiona aquí para obtener el programa (Download Koan3d) e indica el directorio destino (preferentemente k3d)
3) *.- Obtendrás el archivo k3d.zip de distribución que descompactarás con WinZip
4) Despues
de descompactado el .zip de distribución en cualquier directorio
de destino (preferentemente nuevo y llamado k3d) se obtendrán los siguientes archivos.
k3d.......................directorio Contenedor
html....................directorio de archivos html ( página
web)
images_icons............directorio de imágenes e íconos.
k3d_help................directorio html de ayuda
Koan3d..................directorio de clases java Koan3d
k3d_main.htm............pagina html de arranque
README.txt..............parte de este texto ( en italiano)
Asegúrate
que el proceso de descompresión fue correcto y se obtuvieron
todos los archivos descriptos
5) Instalación
Ahora deberás seleccionar el ícono del directorio Koan3d (dentro del directorio o carpeta recientemente creada) y cliquer una sola vez con el botón derecho del mouse. Aparecerá un pequeño menú donde indicarás COPIAR.
Luego necesitas colocar este directorio dentro del directorio general de clases java de tu sistema que en general se encuentra en c: Windows\java\classes . Cuando estés alli, (seguramente estará vacío) presiona nuevamente con el botón derecho del mouse y en el menu desplegado selecciona PEGAR.
Ahora el directorio c:Windows\java\classes\Koan3d contendrá todas las classes ó pequeños programas que utilizará el programa principal para funcionar.
Importante: Es posible que el directorio java se encuentre en otro lugar que no sea Windows. Si es así (caso raro) deberás buscarlo y realizar los pasos anteriores donde se encuentre java en tu PC.
Si eres usario experto de java lee lo siguiente:
Si bien este método es el recomendado también existe otro alternativo para que el sistema encuentre las classes java para hacer funcionar el programa. Tan solo modificaremos el CLASSPATH ( variable del sistema que registra la ubicación de las classes) , indicando donde se encuentran.
Luego de
estos pasos todo se encuentra listo para ejecutar el programa.
Para eso deberás hacer doble click izquierdo sobre el ícono
k3d_main.htm del directorio inicial donde descomprimiste (
seguramente k3d). Aparecerá una página de comentarios del autor
y en la pantalla a la derecha pulsa doble en el botón rojo que
dice "Click to Start Koan3dEdit..."

Aparecerá entonces una pantalla similar a la siguiente ( los menúes se encuentran desplegados todos al mismo tiempo solo para indicar su posición relativa)

Descripción básica del contenido de la barra de menús y operación del programa
Menú File
Cancela el modelo actual, resetéa todas las variables y crea un nuevo mundo con luces y cámaras por defecto
Si el applet java es montado localmente y sus recursos estan comprendidos en la CLASSPATH ( por lo que el applet java será considerado seguro ) se abre una ventana de apertura de archivos normal, y si el applet java está conectado en red ( a través de la opción remot I/O true) se cargará del sitio indicado el modelo con el nombre seleccionado.
Valiendo la mismas consideraciones para cargar respecto a la seguridad: si el applet java está montado localmente se aparece la ventana normal, y podrás guardar en el disco de tu máquina ( disco local) el archivo en formato .k3d que comprende la descripción global de la escena ( vista, geometría, animaciones). Si el I/O está marcado en modo remoto, la escena será grabada en el servidor indicado ( equipo remoto u externo)
Como SaveAll pero se guardarán sólo los objetos seleccionados ó activos mas sus respectivos movimientos de animación
File: Save VRML2
Como Save pero con formato VRML2 que incluye toda la escena con luces, colores formas y animación.
Cierra el applet, aparece nuevamente el desktop pero cuidado: todo trabajo no guardado se perderá.
Menú Edit
Duplica los objetos activos, deseleccionando el objeto viejo y seleccionando el duplicado.
Selecciona uno o varios objetos con el mouse, clickeando directamnete sobre un elemento de la geometría ( un segmento) o un grupo con el drag_box ( click izquierdo mantenido y desplazado para armar una caja de selección de color rojo) que podrá ser un objeto completo o parte de él. Este objeto se convertirá en activo. Los objetos activos son identificables por el color naranja del borde. Si un objeto ya está seleccionado, al volver a clickear sobre él, se volverá inactivo y viceversa.
Selecciona un punto de una malla (mesh) o polígono, El punto ( visualizado por un pequeño triángulo en correspondencia con el vértice) una vez seleccionado se convertirá en color naranja.
Selecciona un polígono (n-lados, triángulo o cuadrilátero). La selección no es directa ya que se debe seleccionar la normal al plano. Cuando queremos seleccionar un plano ( por ejemplo para cambiar el color) es necesario primero activar la malla (mesh) y activar la visibilidad de la normal. Las normales estarán en azul claro y el plano correspondiente se convertirá en activo.
Edit:
Select None
Deselecciona todo.
Elimina el objeto u entidad seleccionada, apareciendo un cuadro de dialogo para confirmar la operación. En este momento puntos y plano no pueden ser eliminados independientemente del objeto al que pertenecen.
Despues de haber seleccionado
una o varios planos o caras de un objeto es posible invertir las
normales. Esto es necesario para una correcta
iluminación. El lugar correcto de la normal de la cara es hacia
el exterior del cuerpo
Las normales hacia adentro del cuerpo producen efectos
erroneos de iluminación y sombreado . Deberemos entonces
servirnos del comando invert poly para controlar lo inerno u
externo del cuerpo. ver Normals:
Unicamente para polilineas; En
el caso de una polilínea abierta el comando (aplicado a una o
varias polilíneas abiertas) cierra la curva uniendo el primer
vértice con el último.
En el caso que necesitemos
manejar varios objetos como uno solo recurriremos a este comando.
Primero se selccionan los objetos y al aplicar el comando se
funde todo en uno solo eliminándose los anteriores y el pivot se
pondrá en 0.
Todos los objetos poseen una posición, escala y rotación respecto a tres ejes (x,y,z) de matriz 4x4; el dato geométrico original no es modificado con cada operación sino recalculado. Cuando aplicamos este comando a un objeto, éste vuelve a recomponer sus datos posicionales, de tamaño y estado originales, poniendo a 0 el pivot.
![]() |
Ventana de información sobre los objetos activos. El campo traslation, rotation y scale representan los valores de transformación aplicadas al objeto. es posible variar los valores de los tres y el objeto responderá en consecuencia. En el campo name es posible redefinir el nombre del objeto ya seleccionado aunque cada uno trae un nombre por defecto con el que igual se puede trabajar. Clickeando sobre el botón edit colors... se abre un cuadro de diálogo en donde es posible dar nuevos valores y redefinir el color del objeto. Por seguridad, después de cambiar cada valor presiona enter. luego y al final presiona OK ó Cancel si nos arrepentimos. |
![]() |
Opciones principales
del programa: el checkbox "Remote I/O"
seleccionado permite la conexión o nó con un equipo
server remoto ( en esta versión del programa solo
lectura). El campo "model name" es el nombre
del archivo que será utilizado en la operación de
lectura - escritura ( atención: la extensión .k3d es
obligatoria) El sector Primitives setup permite la configuración de los parámetros de generación de sólidos del menú PRIMITIVES. El checkbox triangle seleccionado determinará la creación de la primitiva como malla de triángulos, de lo contrario como malla de cuadriláteros. Cube side determina el lado del cubo que aparecerá en pantalla Cylradius1 y CilRadius2 son respectivamente los radios inferior y superior del tronco de cono (TruncCone). En el caso del cilindro solo es usado Cilradius1. por otro lado Cilheight y CilSections determinan respectivamente la altura y cantidad de facetas del cuerpo. La sección siguiente define los parámetros de las herramientas de modelización (Lathe, Extrude, Skin). Triangle, al igual que en el apartado anterior selecciona si la malla será triangular. Caps seleccionado agrega tapa a polígonos seleccionados por rotación o extrusión. Lathe sections es la cantidad de facetas que poseen los objetos generados por rotación, Lathe angle es el angulo de esa rotación (por defecto 360 o cierre completo) y Extrude lenght es el largo del vector de extrusión. |
Aplica al objeto activo el color corriente ( Editable con el Botón COLOR a la derecha, en la barra inferior; ver ColorBox); es posible cambiar el color de : luces, polígonos y mallas.La pantalla será actualizada de inmediatoy los valores de sombreado y luces recalculados.
![]() |
La
estructura de datos de Koan3d ( sin entrar en detalles
técnicos) es definida sobre la base de objetos foglia y
nodos. Foglia es el objeto terminal como Luces,
geometrias, cuerpos, etc... y nodo es un objeto
contenedor de los anteriores en donde se definen las
características o cualidades. De allí, nuevos nodos
pueden heredar las características de los anteriores (
hijos) sin necesidad de redefinir todo a cada momento (
programación orientada a objetos) El objeto primerio es representado por la clase World3D ( raíz del arbol) para crear una estructura jerárquica.Para moverse dentro de una estructura jerárquica de este tipo se selecciona un nodo y usando la tecla de dirección será: izquierda selecciona hijo precedente, derecha selecciona el hijo siguiente, arriba el padre y abajo el primer hijo. |
Edit:UnGroup Para eliminar una estructura jerárquica ( un nivel), seleccionar un nodo ( si no es un objeto dentro de una jerarquía el comando no funcionará) al cual aplicar el comando; su lista será mandada al nivel base o inicial ( World3d.Childrens) ( extracción) y la transformación y la animación del nodo se perderá. Consecuentemente ., cada objeto asume una nueva posición, rotación y escala.
Menú View
View:Persp
Vista predefinida: perspectiva; es la vista mas
importante y con el control mas complejo. La grilla asociada
(plano x-y) muestra el origen global de los ejes ( en rojo) pero
no las coordenadas numéricas de los desplazamientos.
View:Front
Vista ortogonal: plano X-Z: Grilla de fondo con
coordenadas numéricas
View:Side
Vista ortogonal: plano Y-Z: Grilla de fondo con
coordenadas numéricas
View:Top
Vista ortogonal: plano X-Y: Grilla de fondo con
coordenadas numéricas
Menú Camera
Camera:Orbit
Aplicable solo en modo de perspectiva . Al seleccionar
el comando y teniendo apretado el click izquierdo del mouse
(DragMouse) mover de derecha a izquierda para girar entorno a la
escena, en un movimiento orbital
Camera:YawPitch
Aplicable solo en modo de perspectiva Mover el mouse en
la escena (DragMouse); y se producirá un efecto de girar la
cabeza para aumentar el campo de visión.
Camera:Zoom
En todas las vistas. Mover en DragMouse solo en
dirección horizontal lo que producirá un efecto de acercamiento
ó alejamiento por cambio de foco en el objetivo de la cámara.
En las vistas ortogonales se produce sin distorsión de
perspectiva. Si el zoom reduce mucho la grilla de fondo, eta no
se dibujará.
Camera:InOut
Aplicable solo en modo de perspectiva Moviendo en
DragMouse se obtendrá el efecto de cambiar el punto de vista ( y
el punto de mira) a través del eje z
Camera:Track
En todas las vistas Moviendo en DragMouse libremente por
la pantalla, la camara se desplazará en el plano x-yl
Camera:Twist
Aplicable solo en modo de perspectiva Moviendo en
DragMouse horizontalmente se obtendrá el efecto de rotar ( en
sentido positivo o negativo) la camara entorno a los ejes de la
visión
Camera:Reset
En todas las vistas Vuelve la cámara activa ala
posición por defecto ( datos originales de zoom, track, etc...)
Muy útil en el caso de perder el sentido de la orientación.
Menú Primitives
Primitives:Cube
El comando generará un nuevo cubo, con el lado definido
en la ventana OptionsDialog, colocado en las coordenadas 0,0,0,
con el color definido en el boton COLOR. El objeto será
inmediatamente activado y dispuesto para las transformaciones u
otros comandos
El comando generará un nuevo cilindro, con el radio, altura y sección definido en la ventana OptionsDialog, colocado en las coordenadas 0,0,0, con el color definido en el boton COLOR. El objeto será inmediatamente activado y dispuesto para las transformaciones u otros comandos
Primitives:TruncCone
El comando generará un nuevo tronco de cono , con los radios y
alturas definidas en la ventana OptionsDialog, colocado en las
coordenadas 0,0,0, con el color definido en el boton COLOR. El
objeto será inmediatamente activado y dispuesto para las
transformaciones u otros comandos
El comando generará una nueva luz direccional, colocada en las coordenadas 0,0,0, con el color definido en el boton COLOR, intensidad 1.0 y orientada en la dirección x, La iluminación sobre la escena será actualizada. El objeto será inmediatamente activado y dispuesto para las transformaciones u otros comandos
![]() |
Comando
distinto del precedente (directo) que se introduce con el
click izquierdo ( no en perspectiva). Esto generará puntos (indicados por pequeños triángulos rojos) que se cerrarán automativcamente al tercero. Esto permite dibujar triángulos conexos ( si indicamos puntos preexistentes) o libres. También puedo formar mallas triangulares. < ver figura |
![]() |
Igual que
el comando anterior con la diferencia que se trata de
cuadriláteros y el cierre se hará con el cuarto click. Normals: Ahora algunas consideraciones sobre las mallas de poligonos; es importante que el frente de las normales al plano (ver figura) sea coherente en el sentido que todas apunten al exterior del objeto. Así es posible lograr una correcta iluminación Verificar las normales con render visible, activada la malla, y marcando el boton normals. Ver NormalsBox) y en caso de necesitar invertirlas aplicar el comando Edit: Invert Poly. Como ejemplo, las normales de la figura están correctamente orientadas. |
Clickear (en la vista ortogonal) con el botón izquierdo del mouse y será generada una linea segmentada sin limite en el número de nodos o puntos, aunque es recomendable limitarnos pues en las operaciones de render, una polilínea muy segmentada produce excesivo número de caras lo que volverá mas lerdo el sistema. Para cerrar una polilinea activada o en curso se debe recurrir al comando Edit: Close
Menú Tools
![]() |
Herramienta de torneado ( crea superficies de revolución). Teniendo activa una o varias polilíneas, marcar en el pié de la pantalla cual será nuestro eje de rotación ( x, y , z). Aplicado este comando se obtendrá un cuerpo facetado según el eje indicado. El centro de rotación y el pivot ( origen local del cuerpo, representado por tres ejes color rojo) serán reposicionados. Los parámetros del angulo de rotación ( variable hasta los 360º para figuras cerradas), el número de facetas, etc... son editables con Edit: Options. |
![]() |
Herramienta de extrusión: Teniendo activas una o varias polilíneas, marcar al pié de pantalla el eje en donde se realiza la extrusión (x, y, z). Se generará un cuerpo según la sección activa, obtenida por traslación o barrido de la misma según el eje indicado. Los parámetros de largo de extrusión, de la presencia o nó de tapas (caps) de los extremos, etc... son editables con Edit: Options. |
![]() |
Herramienta
de generación de superficies por conexión de secciones
consecutivas. Construye las secciones típicas (polilíneas) del objeto que se generará, posicionadas correctamente en el espacio, y despues seleccionar cada una y aplicar el comando. Es fundamental seleccionar las secciones en orden, partiendo de un extremo al otro. Las secciones pueden tener un número de segmentos distinto, pero esto, cuando es exagerado, puede generar una superficie incorrecta. La presencia de (caps) en las extremidaders es configurable con Edit: Options. |
Menú Anim
Crea para el objeto activo (
pueden ser todos), un KeyFrame ó foto clave ( referencia)
guardando los valores actuales de rotación, traslación, escala,
sobre los tres ejes.)
Esta es la herramienta basica para la animación de un objeto,
Todo KeyFrame está constituido por información sobre la
transformación y otras características del objeto, asociado a
un particular instante en el tiempo.
Si generamos dos keyframes ( por ejemplo keyframe A de un cubo apoyado sobre un plano y luego keyframe B donde el mismo cubo se encuentra rotado) e iniciamos con play la animación veremos que el sistema calcula todas las posiciones intermedias entre A y B y las secuencia, pasándolas rapidamente una detrás de la otra lo que genera la ilusión del movimiento ( 5 a 10 fotogramas por segundo segun la complejidad del movimiento). También el programa incluirá curvas que harán mas fluido los cambios bruscos entre cuadros.
El procedimiento correcto es el siguiente:
1) Coloca un objeto cualquiera.
2) Coloca en el FrameBox ( abajo en la pantalla principal ) el nro 1 y presiona Enter.
3) Si quieres puedes ubicar el objeto donde deseas y una vez que estés seguro que esta es la posición deseada del keyframe 1 presiona Anim - StKey. Esto grabará el primer cuadro.
4) Coloca en el FrameBox ( abajo en la pantalla principal ) el nro 20 y presiona Enter.
5) Modifica el objeto ( cambialo de tamaño, posición, etc...) y nuevamente selecciona Anim-SetKey para que se grabe el fotograma nro 20.La animación será calculada para los cuadros intermedios entre 1 y 20
Sobre el ó los objetos activos
podrás eliminar con este comando el keyframe indicado
Anim:Play
La animación será proyectada en un ciclo completo( una
vuelta) y se parará en el último keyframe generado.
Anim:PlayLoop
La animación se ejecutará ininterrumpidamente,
pudiendo suspenderla con el comando Anim..Stop
Anim:Stop
Interrumpe la animación.
Anim:NextKey
Aplicando este comando, nos iremos directamente al
keyframe siguiente mas cercano ( vecino) del primer objeto activo
de la lista de objetos activos. Muy útil para controlar la
secuencia de animación, modificar o eliminar keyframes, et...
Anim:PrevKey
Como el comando precedente pero retrocediendo en el
tiempo de animación.
Anim:Shift
Permite rasladar adelante o atrás en el tiempo, la
animación de un objeto,Procedimiento. Modificar el cuadro o
frame corriente al valor de traslación requerido . Luego activar
los objetos que cambiaremos y aplicar el comando.
Anim:MakeLoop
Cuando se tiene una animación de un objeto y queremos
que el ciclo se cumpla completo ( por ejemplo frame 1 a 10 y
desde frame 10 a 1) este es el comando que debemos aplicar Esto
durante la ejecución forzará un movimiento cíclico, sin
principio ni fin y repetitivo.
Anim:DeleteAnim
Como su nobre lo indica borra toda la animación
corriente. Cuidado, se borran todas las transformaciones por lo
que nos quedaremos con los objetos según este ultimo cuadro
activo.
Menú Transform
Transform:Move
Translada el objeto activo. Procedimiento: Activar uno o
varios objetos, seleccionar el comando y despues mover el mouse
con el boton derecho presionado ( dragmouse) hasta el lugar donde
deseamos mover el cuerpo.
Si necesitamos trasladar solo en un eje determinado seleccionar el Checkbox LockMove en la dirección requerida (x,y,z) (Checkbox asse). Si es necesario posicionar el objeto en un lugar exacto y con referencia a la grilla elige el checkbox GridSnap ( solo en vista ortogonal) y de allí en mas nos moveremos de acuerdo a la grilla. Si estamos en perspectiva fijar siempre el LockMove si queremos mover el objeto ( siempre sobre el plano). En el caso de vistas ortogonales el objeto podrá ser manejado libremente en los dos ejes de cada vista.
Trata de aplicar una serie de transformaciones que arranquen con Edit Select Object sigan con Edit: Select Point y terminen con Transform:Move o cualquier otro comando del menú transform.
Rota el objeto activo. Procedimiento: Activar uno o varios objetos, seleccionar los ejes de rotación (Checkbox asse), seleccionar el comando. Cuando se mueve el mouse en dragmouse mode en sentido horizontal se verá rotar el objeto que al soltar se fijará en la última posición.
Transform:Scale
Cambia el tamaño (re-escala) el objeto activo.
Procedimiento: Activar uno o varios objetos, seleccionar el
comando .Cuando se mueve el mouse en dragmouse mode en sentido
horizontal se verá cambiar de tamaño al objeto . El escalado se
realiza según los ejes del objeto,
Transform:NPScale
Escala los objetos activos en modo no proporcional y de
acuerdo al eje indicado (Checkbox asse), . El procedimiento de DragMouse es
similar a los ya vistos.
Transform:Pivot
Translada el pivot ( ejes de origen del objeto):
Procedimiento:Activar uno o varios objetos, seleccionar el
comando, y cuando se mueve el mouse en Dragmouse de izquierda a
derecha es posible reposicionarlo. Ver Transform:Move)
Menú inferior
ColorBox
Abre la ventana de diálogo de color. Los valores RGB (Red-rojo,
Green-verde y Blue-azul) son limitados a un rango de 0 a
255. Cambiando los valores de cada color base se cambia la mezcla
y el color resultante. Siempre presiona Enter luego de modificar
un valor.
FrameBox
Lugar donde se fija el número de cuadro corriente para
la animación. Si marcamos un frame cualquiera ( presiona Enter
luego de llenar un campo numérico) la escena se trasladará a
los valores del cuadro indicado
GridSnap
CheckBox para activar ó desactivar el snap de la grilla
; ver Transform:Move.
LockMove
CheckBox para activar o desactivar el vínculo de
movimiento en un eje determinado. Ver Transform:Move.
Axis
CheckBox para seleccionar los ejes corrientes ; utilizados
en el menu Transform.
ShadeBox
Activa o desactiva la modalidad de vista opaca ó mallas
de alambre según el caso.
PointsBox
Activa o desactiva la visualización de los puntos de
referencia de uno o varios objetos activos
NormalsBox
Activa o desactiva la visibilidad de las normales a los
planos. Ver Normals:
Autor:
Giuseppe Randazzo (1997/98)
Traducción: Marcelo Martinelli (2000)
macoco.8m.com