[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-145240-en":3,"doc-seo-145240-105":30,"detail-sidebar-cat-0-en-105":91},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":4,"is_deleted":4,"is_public":20,"is_downloadable":20,"audit_status":20,"page_count":21,"language":22,"language_code":23,"site_id":24,"html_lang":23,"table_of_contents":25,"faqs":26,"seo_title":27,"seo_description":14,"update_tm":28,"read_time":29},145240,4398048949847,"Eliana","https://ap-avatar.wpscdn.com/avatar/400002536579ef2da7f?_k=1778318612642679267",6,"Technology","Cindy3D Project Documentation - Project overview","Cindy3D Project Documentation describes a 3D drawing plugin for the Cinderella dynamic geometry software, enabled by the embedded scripting language CindyScript through a new Java library interface. The project focuses on placing 3D geometric primitives freely, controlling material and scene parameters, achieving high-quality rendering, and supporting interactive exploration with hardware acceleration across major platforms. Results include supported primitive types, configurable rendering quality, and example-driven demonstrations using CindyScript.","Cindy3D Project Documentation  \nMatthias Reitinger Jan Sommer  \nMarch 13, 2012  \n2  \nContents  \n1. Project overview 4  \n1.1. Cinderella & CindyScript ........................... 4  \n1.2. Cindy3D ..................................... 4  \n1.3. Results ...................................... 5  \n1.3.1. Primitive types ............................. 5  \n1.3.2. Material parameters .......................... 5  \n1.3.3. Scene parameters ............................ 6  \n1.3.4. Rendering quality ........................... 6  \n1.3.5. Interactive exploration ......................... 7  \n1.3.6. User-friendly interface ......................... 7  \n1.3.7. Cross-platform support ........................ 8  \n1.4. Future directions ................................ 8  \n2. User documentation 9  \n2.1. Installation .................................... 9  \n2.2. User guide .................................... 9  \n2.3. Command reference .............................. 9  \n3. Developer documentation 10  \n3.1. Technical overview ............................... 10  \n3.2. Design overview ................................ 10  \n3.3. Rendering .................................... 10  \n3.4. JavaDoc ...................................... 10  \nA. Example source code 11  \n1  \nProject overview  \n1.1. Cinderella & CindyScript  \nCinderella is a dynamic geometry software created by Ulrich Kortenkamp and Jrgen Richter-Gebert. One of its key features is the embedded functional scripting language CindyScript. It enables users of Cinderella to interact with geometric constructions ina programmatic way. Among others, CindyScript provides a rich set of methods for drawing two-dimensional geometry. However the display of three-dimensional objects is cumbersome, as one would have to fall back on the 2D drawing methods and implement algorithms like perspective projection and hidden surface removal by hand.  \nThe recent release of Cinderella 2.6 provides a new plug-in interface. This allows programmers to write Java libraries which expose CindyScript methods that can in turn be called from inside Cinderella constructions.  \n1.2. Cindy3D  \nIn this context the Cindy3D project was born. The need for 3D drawing functionality in Cinderella was in fact one of the main reasons to create the new plug-in interface. The ﬁrst version of Cindy3D was developed when the plug-in interface was still in a preliminary stage.  \nThe main goals for Cindy3D were as follows:  \n􀀏 Free placement of geometric primitives in 3D space: points, segments, lines, rays, polygons, circles, spheres, and quad meshes  \n􀀏 Control over material parameters: color, shininess, transparency  \n􀀏 Customization of scene parameters: background, lights and camera  \n􀀏 High-quality rendering  \n􀀏 Interactive exploration of the scene  \nFigure 1.1.: Supported primitives. Point, segment, ray, line, polygon, circle, sphere, and quad mesh.  \n􀀏 User-friendly CindyScript interface:  \n– Useful set of functions which are exposed to the user  \n– Function names similar to the existing 2D drawing functions (if a corresponding function exists)  \n– Sensible default parameters  \n􀀏 Support for all major platforms on which Cinderella runs: Windows, Mac OS X, Linux  \n􀀏 Hardware acceleration support  \n1.3. Results  \nWe are conﬁdent that we met all the main goals as stated in the previous section. The following screen shots directly taken from a Cindy3D session illustrate the capabilities of the plugin. The CindyScript source code used to generate these images can be found in appendix A. For details on what can be done with Cindy3D, please refer to the user documentation in chapter 2 .  \n1.3.1. Primitive types  \nFigure 1.1 shows the primitive types we support. They can be combined to produce more complex geometry like in the image on the title page, which consists of a thousand intersecting spheres. The quad mesh supports three different topologies (circular, cylindrical, toroidal) only one of which is shown in the ﬁgure.  \n1.3.2. Material param","cbCaisNBGrRXuzsv","https://ap.wps.com/l/cbCaisNBGrRXuzsv","pdf",3632405,1,12,"English","en",105,"# Project overview\n## Cinderella & CindyScript\n## Cindy3D\n## Results\n## Future directions\n# User documentation\n## Installation\n## User guide\n## Command reference\n# Developer documentation\n## Technical overview\n## Design overview\n## Rendering\n## JavaDoc\n# Example source code","[{\"question\":\"What is Cindy3D and how does it relate to Cinderella and CindyScript?\",\"answer\":\"Cindy3D is a 3D drawing project built for Cinderella. It exposes CindyScript methods through a plugin interface, letting users work with 3D objects using CindyScript-driven constructions.\"},{\"question\":\"Which main goals does the Cindy3D project target?\",\"answer\":\"It targets free placement of 3D primitives, control of material parameters (color, shininess, transparency), customization of scene parameters (background, lights, camera), high-quality rendering, and interactive scene exploration with a user-friendly CindyScript interface and cross-platform support.\"},{\"question\":\"How can rendering quality be adjusted in Cindy3D?\",\"answer\":\"Rendering quality can switch between low-quality triangular approximations and high-quality ray casting for exact intersections. Optional anti-aliasing can be enabled to reduce jagged borders on object silhouettes.\"}]","Cindy3D Project Documentation - Project overview | PDF",1787719003,30,{"code":4,"msg":31,"data":32},"ok",{"site_id":24,"language":23,"slug":33,"title":13,"keywords":34,"description":14,"schema_data":35,"social_meta":86,"head_meta":88,"extra_data":90,"updated_unix":28},"cindy3d-project-documentation-project-overview","",{"@graph":36,"@context":85},[37,54,68],{"@type":38,"itemListElement":39},"BreadcrumbList",[40,44,48,51],{"item":41,"name":42,"@type":43,"position":20},"https://docshare.wps.com","Home","ListItem",{"item":45,"name":46,"@type":43,"position":47},"https://docshare.wps.com/document/","Document",2,{"item":49,"name":12,"@type":43,"position":50},"https://docshare.wps.com/document/technology/",3,{"item":52,"name":13,"@type":43,"position":53},"https://docshare.wps.com/document/cindy3d-project-documentation-project-overview/145240/",4,{"url":52,"name":13,"@type":55,"author":56,"headline":13,"publisher":58,"fileFormat":61,"inLanguage":23,"description":14,"dateModified":62,"datePublished":62,"encodingFormat":61,"isAccessibleForFree":63,"interactionStatistic":64},"DigitalDocument",{"name":9,"@type":57},"Person",{"url":41,"name":59,"@type":60},"DocShare","Organization","application/pdf","2026-08-26",true,{"@type":65,"interactionType":66,"userInteractionCount":4},"InteractionCounter",{"@type":67},"ViewAction",{"@type":69,"mainEntity":70},"FAQPage",[71,77,81],{"name":72,"@type":73,"acceptedAnswer":74},"What is Cindy3D and how does it relate to Cinderella and CindyScript?","Question",{"text":75,"@type":76},"Cindy3D is a 3D drawing project built for Cinderella. It exposes CindyScript methods through a plugin interface, letting users work with 3D objects using CindyScript-driven constructions.","Answer",{"name":78,"@type":73,"acceptedAnswer":79},"Which main goals does the Cindy3D project target?",{"text":80,"@type":76},"It targets free placement of 3D primitives, control of material parameters (color, shininess, transparency), customization of scene parameters (background, lights, camera), high-quality rendering, and interactive scene exploration with a user-friendly CindyScript interface and cross-platform support.",{"name":82,"@type":73,"acceptedAnswer":83},"How can rendering quality be adjusted in Cindy3D?",{"text":84,"@type":76},"Rendering quality can switch between low-quality triangular approximations and high-quality ray casting for exact intersections. Optional anti-aliasing can be enabled to reduce jagged borders on object silhouettes.","https://schema.org",{"og:url":52,"og:type":87,"og:title":13,"og:site_name":59,"og:description":14},"article",{"robots":89,"canonical":52},"index,follow",{"doc_id":7,"site_id":24},{"code":4,"msg":5,"data":92},[93,97,101,105,110,113,118,122,127,130,134],{"id":20,"doc_module":4,"doc_module_name":46,"category_name":94,"show_sort_weight":95,"slug":96},"Story & Novel",90,"story-novel",{"id":47,"doc_module":4,"doc_module_name":46,"category_name":98,"show_sort_weight":99,"slug":100},"Literature",80,"literature",{"id":53,"doc_module":4,"doc_module_name":46,"category_name":102,"show_sort_weight":103,"slug":104},"Exam",70,"exam",{"id":106,"doc_module":4,"doc_module_name":46,"category_name":107,"show_sort_weight":108,"slug":109},5,"Comic",60,"comic",{"id":11,"doc_module":4,"doc_module_name":46,"category_name":12,"show_sort_weight":111,"slug":112},50,"technology",{"id":114,"doc_module":4,"doc_module_name":46,"category_name":115,"show_sort_weight":116,"slug":117},7,"Healthcare",40,"healthcare",{"id":119,"doc_module":4,"doc_module_name":46,"category_name":120,"show_sort_weight":29,"slug":121},8,"Research & Report","research-report",{"id":123,"doc_module":4,"doc_module_name":46,"category_name":124,"show_sort_weight":125,"slug":126},9,"Religion & Spirituality",20,"religion-spirituality",{"id":125,"doc_module":4,"doc_module_name":46,"category_name":128,"show_sort_weight":125,"slug":129},"World Cup","world-cup",{"id":131,"doc_module":4,"doc_module_name":46,"category_name":132,"show_sort_weight":131,"slug":133},10,"Lifestyle","lifestyle",{"id":135,"doc_module":4,"doc_module_name":46,"category_name":136,"show_sort_weight":106,"slug":137},19,"General","general"]