I explain the subject matter of the article in this online voice record:
https://vocaroo.com/i/s0g07QpNsEn3
El Nodo CurvePullOntoPlane crea una nueva curva mediante acercamiento a un plano, utilizando como dirección de proyección la Normal del plano.
En el siguiente ejemplo se puede ver el funcionamiento de este Nodo. Se crea una NurbsCurve utilizando ByControlPoints (NurbsCurve.ByControlPoints) por medio de un conjunto de puntos creados aleatoriamente como entrada de información Input. Se utiliza un plano Universal XY para proyectar perpendicularmente en este (PullOntoPlane). El resultado es una curva plana en este plano XY.
Primero hay que realizar la NurbsCurve. Para ello primero hay que construir la entrada de datos que consiste en generar una lista que contenga la cantidad especificada de dobles aleatorios en el rango (0,1).
Para ello se utiliza el nodo Math.randomList, donde Amount es un Input correspondiente a la cantidad de números aleatorios que contendrá la lista resultante. Y Number, es la lista propiamente de números aleatorios entre 0 y 1 (Output). En la imagen siguiente se puede ver la estructura creada y he aplicado un nodo Watch para que se entienda los conceptos de amount y number, ya que muestra la información generada ( 5 listas y 5 números).
Una vez tenemos los puntos aleatorios, creamos a partir de éstos, los cinco puntos con tres coordenadas cartesianas en el espacio X,Y,Z.
El esquema de nodos hasta aquí es el siguiente:
El siguiente paso es realizar la NurbsCurve una vez tenemos los puntos a partir de los cuales realizarla, que se llaman puntos de control explícito de la Nurbs.
En el caso de BsplineCurve de grado 1 como tienen discontinuidades G1, y éstas causan problemas a la hora de realizar una extrusión, barrido y otras operaciones, se recomienda evitarlas y en su lugar utilizar una PolyCurve. Además si la curva es periódica (cerrada) el primer y último punto han de coincidir.
Y el último paso es proyectar la Nurbs creada en el plano XY universal.
Contenido Web de Yolanda Muriel está sujeto bajo Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.
1 Comment