{"id":1345,"date":"2014-04-25T22:19:29","date_gmt":"2014-04-25T20:19:29","guid":{"rendered":"http:\/\/descartesjs.org\/documentacion\/?p=1345"},"modified":"2021-08-07T16:10:44","modified_gmt":"2021-08-07T15:10:44","slug":"familias-3d","status":"publish","type":"post","link":"https:\/\/reddescartes.org\/documentacion\/familias-3d\/","title":{"rendered":"Familias 3D"},"content":{"rendered":"<p>Los objetos gr\u00e1ficos 3D, al igual que los obtenidos en 2D, pueden ser tratados como familias. Esta opci\u00f3n permite repetir un gr\u00e1fico varias veces como lo muestra la siguiente imagen.<\/p>\n<p style=\"text-align: center;\"><img class=\" wp-image-1346 aligncenter\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/familia1.png\" alt=\"familia1\" width=\"717\" height=\"335\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/familia1.png 797w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/familia1-300x140.png 300w\" sizes=\"(max-width: 717px) 100vw, 717px\" \/><\/p>\n<p>Para lograr esta repetici\u00f3n de objetos gr\u00e1ficos, debemos activar el selector familia y configurar los siguientes atributos del objeto:<\/p>\n<ul>\n<li><b>Par\u00e1metro.<\/b> Variable con la que est\u00e1 parametrizada la familia de objetos gr\u00e1ficos 3D. Debe ser una sola palabra, de preferencia corta, por defecto es\u00a0<b>s<\/b>. Esta variable determina, de acuerdo al intervalo, uno o varios atributos de los objetos a dibujar. El programa dibujar\u00e1 los gr\u00e1ficos con los valores del\u00a0par\u00e1metro\u00a0recorriendo el intervalo especificado en el n\u00famero de\u00a0pasos\u00a0elegido.<\/li>\n<li><b>Intervalo. <\/b>Determina el recorrido de la variable. Debe contener dos expresiones reales entre corchetes y separadas por una coma [Li, Lf], el intervalo por defecto es\u00a0[0,1].<\/li>\n<li><b>Pasos. <\/b>N\u00famero de subintervalos en los que se subdivide uniformemente el intervalo del par\u00e1metro para definir los elementos de la familia.<\/li>\n<\/ul>\n<p>En el ejemplo mostrado en la imagen anterior, la variable <b>s<\/b> determina la posici\u00f3n en <b>z<\/b> de la esfera, este par\u00e1metro\u00a0recorre el\u00a0intervalo\u00a0definido entre 1 y 3. S\u00ed nuestro deseo es que se dibujen tres esferas verticalmente, el n\u00fameros de <b>pasos<\/b> debe ser <b>2<\/b>, puesto que entre s = 1 y s = 2 hay un paso, y entre s = 2 y s = 3 hay un segundo paso. En general, el n\u00famero de elementos gr\u00e1ficos dibujados es igual a <b>pasos + 1<\/b>. En otras palabras, <b>pasos<\/b> es el n\u00famero de subintervalos iguales en que se divide el intervalo.<\/p>\n<p>Volviendo al ejemplo, el atributo <b>posini<\/b> igual a <b>(0, 0, a*s),<\/b> es el que permite que las esferas se dibujen una tras otra verticalmente. Si el valor de la variable <b>a <\/b>es<b> 2<\/b> y <b>s<\/b> var\u00eda en el intervalo [1, 3],<b> <\/b>entonces se dibujar\u00e1n tres esferas de di\u00e1metro 2 en las posiciones (0, 0, 2), (0, 0, 4) y (0, 0, 6).<\/p>\n<p>Un segundo ejemplo, con <b>a <\/b>tambi\u00e9n igual a dos, se muestra en la siguiente imagen.<\/p>\n<p style=\"text-align: center;\"><img class=\" wp-image-1347 aligncenter\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/familia2.png\" alt=\"familia2\" width=\"832\" height=\"253\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/familia2.png 924w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/familia2-300x91.png 300w\" sizes=\"(max-width: 832px) 100vw, 832px\" \/><\/p>\n<p>En este caso el n\u00famero de objetos es cuatro, usando un <b>posini<\/b> igual a (s*(a\/2+0.2), 0, 3); es decir, son cuatro paralelep\u00edpedos dibujados en el eje x, separados en un valor de 0.2. En este caso, la variable <b>s<\/b> determina la posici\u00f3n en <b>x<\/b> del paralelep\u00edpedo.<\/p>\n<p>Un tercer ejemplo es una familia de cubos. Aqu\u00ed es muy importante comprender el atributo <b>ancho <\/b>del cubo, puesto que no se comporta como el ancho de un paralelep\u00edpedo, Descartes lo define como la diagonal del cubo; por lo tanto, el lado del cubo ser\u00eda: L = a*sqrt(3)\/3. Por ello, el posini definido para dibujar los cinco cubos es (0, s*L, 3), variando la posici\u00f3n en el eje <b>y<\/b> de acuerdo a la variable <b>L<\/b> y no con respecto a la variable <b>a<\/b>.<\/p>\n<p style=\"text-align: center;\"><img class=\" wp-image-1348 aligncenter\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/familia3.png\" alt=\"familia3\" width=\"779\" height=\"248\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/familia3.png 865w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/familia3-300x95.png 300w\" sizes=\"(max-width: 779px) 100vw, 779px\" \/><\/p>\n<p>Observa la siguiente escena con los tres ejemplos anteriores, adem\u00e1s de un cuarto ejemplo que se deja para tu an\u00e1lisis. Cada ejemplo muestra los atributos m\u00e1s importantes del objeto gr\u00e1fico dibujado.<\/p>\n<div style=\"text-align: center;\">\n<!-- iframe plugin v.4.5 wordpress.org\/plugins\/iframe\/ -->\n<iframe src=\"https:\/\/descartesjs.org\/repositorio\/documentacion_4D\/Familias3D_JS\/ejemplo0.html\" width=\"520\" height=\"420\" scrolling=\"yes\" class=\"iframe-class\" frameborder=\"0\"><\/iframe>\n<\/div>\n<p>El uso de familias 3D, nos permite construir escenas m\u00e1s elaboradas, pero con instrucciones simples, como la que se muestra a continuaci\u00f3n:<\/p>\n<div style=\"text-align: center;\">\n<!-- iframe plugin v.4.5 wordpress.org\/plugins\/iframe\/ -->\n<iframe src=\"https:\/\/descartesjs.org\/repositorio\/documentacion_4D\/Familias3D_JS\/ejemplo1.html\" width=\"520\" height=\"420\" scrolling=\"yes\" class=\"iframe-class\" frameborder=\"0\"><\/iframe>\n<\/div>\n<div style=\"text-align: center;\">(Puede descargar esta escena y la anterior desde <a href=\"https:\/\/descartesjs.org\/repositorio\/documentacion_4D\/Familias3D_JS.zip\">este enlace<\/a>)<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Los objetos gr\u00e1ficos 3D, al igual que los obtenidos en 2D, pueden ser tratados como familias. Esta opci\u00f3n permite repetir un gr\u00e1fico varias veces como lo muestra la siguiente imagen. Para lograr esta repetici\u00f3n de objetos gr\u00e1ficos, debemos activar el selector familia y configurar los siguientes atributos del objeto: Par\u00e1metro. Variable con la que est\u00e1 parametrizada la familia de objetos gr\u00e1ficos 3D. Debe ser una sola palabra, de preferencia corta, por defecto es\u00a0s. Esta variable determina, de acuerdo al intervalo, uno o varios atributos de los objetos a dibujar. El programa dibujar\u00e1 los gr\u00e1ficos con los valores del\u00a0par\u00e1metro\u00a0recorriendo el intervalo<\/p>\n<a class=\"more-link\" rel=\"nofollow\" href=\"https:\/\/reddescartes.org\/documentacion\/familias-3d\/\">[Leer m\u00e1s...]<\/a>","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[39],"tags":[83,110],"_links":{"self":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts\/1345"}],"collection":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/comments?post=1345"}],"version-history":[{"count":7,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts\/1345\/revisions"}],"predecessor-version":[{"id":3498,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts\/1345\/revisions\/3498"}],"wp:attachment":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/media?parent=1345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/categories?post=1345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/tags?post=1345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}