{"id":67,"date":"2021-11-16T01:13:02","date_gmt":"2021-11-16T01:13:02","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/?p=67"},"modified":"2021-11-16T01:13:02","modified_gmt":"2021-11-16T01:13:02","slug":"geometric-modeling-methods","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/2021\/11\/16\/geometric-modeling-methods\/","title":{"rendered":"Geometric Modeling Methods"},"content":{"rendered":"\n<p><strong>1.0 Introduction<\/strong><\/p>\n\n\n\n<p>Geometric modeling uses mathematics and knowledge of graphic computers to design objects . There are three main types of geometric models: wire frame models, surface models, and solid models.<\/p>\n\n\n\n<p><strong>2.0 Steps for geometric modeling:<\/strong><\/p>\n\n\n\n<p>There are three main steps involving the modeling process: [1]<\/p>\n\n\n\n<p>Step 1: create a basic geometric object using points, lines, curves, etc in a computer-aided design software.&nbsp;<\/p>\n\n\n\n<p>Step 2: transform geometric elements as desired using scaling, rotation, translation.&nbsp;<\/p>\n\n\n\n<p>Step 3: integrate elements of the object to create the final geometric model.&nbsp;<\/p>\n\n\n\n<p><strong>2.1 Wireframe geometric modeling:<\/strong><\/p>\n\n\n\n<p>Wireframe modeling uses information about vertices and edges to build the object. For example, a rectangle wireframe has 8 vertices and 12 edges. Some advantages of using wireframe are simple construction, less requirement of computer time and memory. However, sers need to input both geometry and topology information.&nbsp;<\/p>\n\n\n\n<p>Besides using points and lines, wireframe modeling utilizes curves. Curves can be constructed using mathematical formulas. Curves can be classified as analytic curves and synthetic curves. With analytical curves, developers can not modify shapes. In contrast, with synthetic curves, developers can interactively modify images.<\/p>\n\n\n\n<p>The B\u00e9zier curves are parametric curves commonly used in graphic design.. Curve orders equal the total points minus one (figure 1). B\u00e9zier curves are always confined in the convex hull of control points (figure2).&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><img loading=\"lazy\" decoding=\"async\" width=\"194\" height=\"183\" src=\"https:\/\/lh6.googleusercontent.com\/1YGcoRbrq6I8TBDEDKCIqhyPXUIFR10koJCAlbd2sgcOHmPLR7EkU0Nh5niYqAc3PHJDD7o-k9QNIFQGHIr8gdOzLmgKAqWYA1KFZEVII0QWuhOqYbwna1CqOYXdYDqWieIkovE7\">Linear curve<\/td><td><br><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/l5Gq8YqSsbHZ2cJmI3czKofsAzWiNU4tBf3TYxuyVfrWTU4HaiXhGutPjITYnqYXid4msqPUPh3FJbbw0USzCRzDT72z1SOrWhvX2Dm-f8f0QdhSi4kFKr0bJMtho3G4l-j7cZEC\" width=\"194\" height=\"239\">Quadratic curve<\/td><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/tHWUM737ATi_8wX0-ie9fikJOtNT3SnZ819x2i2YsBItlSMwHrey9MUBfIr1jhJXgXuxpVMEg3TKh76eUJrGMxiVAgF2OoD3fDc4ICMp3HQejww02n9Y0OGjn5LNwFv_sQ6_K5PZ\" width=\"194\" height=\"219\"><br>Cubic curve<\/td><\/tr><\/tbody><\/table><figcaption>Figure 1: B\u00e9zier curves<br>Source: <a href=\"https:\/\/javascript.info\/bezier-curve\">https:\/\/javascript.info\/bezier-curve<\/a><\/figcaption><\/figure>\n\n\n\n<p><strong>Splines<\/strong> are smooth curves in 2D\/3D with specified control points; control points determine the shape of the curves. If a curve passes through all points, it is said to be interpolated. Otherwise, it is said to be approximated. Cubic B\u00e9zier curves interpolate the two end points and approximate the two other points. Curve is tangent at P1 and P4.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/Pchh5CpCc6WXiXN-QAMn-GM_vzG9morbHmd0l2OUigvH5OybYZPAGhBqAmVpnp8nRc9kZKBnle9dJI8u4jpnlWa_ctpD42j7K896Yj_I0pia9dVevPlUoV-OP0Z0zIUuPiCnw3Qe\" alt=\"\" \/><figcaption>Figure 2: Cubic B\u00e9zier\u00a0 curves<br>Source:<a href=\"https:\/\/ocw.mit.edu\/courses\/electrical-engineering-and-computer-science\/6-837-computer-graphics-fall-2012\/lecture-notes\/MIT6_837F12_Lec01.pdf\">https:\/\/ocw.mit.edu\/courses\/electrical-engineering-and-computer-science\/6-837-computer-graphics-fall-2012\/lecture-notes\/MIT6_837F12_Lec01.pdf<\/a> [3]<\/figcaption><\/figure>\n\n\n\n<p><strong>2.2 Surface modeling&nbsp;<\/strong><\/p>\n\n\n\n<p>Surface modeling is a set of faces. Surface modeling only stores the geometry. Figure 3 shows some common surfaces.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/SYu88FkCo5fn0hyPcy9mkUzpK92z4sWhJcFvB6FgE8MMqoKttgNhbqa_2KfW4JN82ljWbpmnBIoRiKLBSsnvKAor2_ctFBTvd0-DfMdYo7lDYdDyTLZgB0P3JXYCrqOLe2ilRexB\" alt=\"\" \/><figcaption>Figure 3: Types of surfaces: Analytical surfaces and sculptured surface<br>Source: <a href=\"https:\/\/www.engr.uvic.ca\/~mech410\/old\/2_Lecture_Notes\/5_Geometric_Modeling.pdf\">https:\/\/www.engr.uvic.ca\/~mech410\/old\/2_Lecture_Notes\/5_Geometric_Modeling.pdf<\/a><\/figcaption><\/figure>\n\n\n\n<p><strong>\u00a02.2.1 <a href=\"https:\/\/en.wikipedia.org\/wiki\/B%C3%A9zier_surface\">B\u00e9zier surfaces<\/a><\/strong><\/p>\n\n\n\n<p>The B\u00e9zier surface of degree (<em>n<\/em>, <em>m<\/em>) has a set of (<em>n<\/em> + 1)(<em>m<\/em> + 1) control points. B\u00e9zier surfaces can be of any degree, but bicubic B\u00e9zier surfaces generally provide enough <a href=\"https:\/\/en.wikipedia.org\/wiki\/Degrees_of_freedom_(physics_and_chemistry)\">degrees of freedom<\/a> for most applications. Figure 4 shows the\u00a0 B\u00e9zier surface with its control points. Figure 5 shows some application of the Bezier curves in geometric modeling.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/cGwDTp27F3lqXZuB80azgTC_w00t4tcsgEn-NpOW-2gEg5_velX2wnVIAHWr02q_6aibSGifcclkioy1G61tR4x0G7eAKC8EWlCB2GMpRFePfv3i9PJf7ESduc7tQ58f6fuRpXA5\" alt=\"\" \/><figcaption>Figure 4: Bezier surface<br>Source:\u00a0 <a href=\"https:\/\/en.wikipedia.org\/wiki\/B%C3%A9zier_surface\">https:\/\/en.wikipedia.org\/wiki\/B%C3%A9zier_surface<\/a>[4]<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/2Ku4T1vAzMRraJs3NCcRRvDt_6GpekV2wtizsArFM3vCI03Vq5DWUha-vGzUpB_VMAdP025xHWnHSWMscGgwJXALk9NgovN4w1ueGain5Xu5eXgzsm46hwy60IfwrAWQ0SzroXpp\" alt=\"\" \/><figcaption>Figure 5: application of B\u00e9zier curves in geometric modeling.\u00a0<br>\u00a0\u00a0\u00a0Source: <a href=\"https:\/\/javascript.info\/bezier-curve\">https:\/\/javascript.info\/bezier-curve<\/a> [2]<\/figcaption><\/figure>\n\n\n\n<p><strong>2.3 Solid modeling<\/strong><\/p>\n\n\n\n<p>Solid modeling stores both geometry and topology information of the object. Some predefined constructive solid geometry are cylinder, cone, sphere, and rectangular prism. Constructive solid geometry follows the boolean operations (figure 6) and the tree model (figure 7). Those are tools to generate a variety of objects from original simple shapes.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/oGyapUNC8OuvCFE8lXIhulRj-mukjeZTVyh23FhFzK5iGfZS2058AL779z7T_Rd2tXmA7hp5hAXPTXPcksTpN8oPdvHDHW1P_KYpYZJngbKJixRZKuvz_z7F-q1hPxi9fV1H-Szq\" alt=\"\" \/><figcaption>Figure 6: Boolean operation in constructive solid geometric modeling\u00a0<br>Source: <a href=\"https:\/\/pymesh.readthedocs.io\/en\/latest\/mesh_boolean.html\">https:\/\/pymesh.readthedocs.io\/en\/latest\/mesh_boolean.html<\/a> [5]<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/ggoh4JJzN_TpL-1LNhGiU_WpeJUVaDfLzZxQ4L-2aXWkUf8P7vmtD31-MVLTE95MXk8N6n7a1ThUguICcV4x2cVdTfT9W5azLHxMwXhjSZhFSHEWtSzEb8WePur_wJSTRJISswhF\" alt=\"\" \/><figcaption>Figure 7: Constructive geometric modeling tree<br>Source: <a href=\"https:\/\/pymesh.readthedocs.io\/en\/latest\/mesh_boolean.html\">https:\/\/pymesh.readthedocs.io\/en\/latest\/mesh_boolean.html<\/a> [5]<\/figcaption><\/figure>\n\n\n\n<p><strong>2.4 Other techniques:\u00a0<\/strong><\/p>\n\n\n\n<p>2.4.1 <strong>Sweeping technique <\/strong>can be used to build constructive solid objects with translational and rotational symmetry. The technique is based on two principles: extrusion and revolving.\u00a0<\/p>\n\n\n\n<p>2.4.2 <strong>Boundary representation<\/strong> defines objects based on its spatial boundaries. However. Boundary presentation does not guarantee to form a closed object.\u00a0<\/p>\n\n\n\n<p>3.0 <strong>Conclusion<\/strong><\/p>\n\n\n\n<p>In this short introduction, beginners of graphic designs can learn about basic techniques in geometric modeling. Learners can do some more research and learn how to implement the Bezier curves and apply it into object designing. For learners who are into mathematics and graphic design, it would be beneficial to invest in a deeper learning about geometric modeling. <\/p>\n\n\n\n<p><strong>Reference&nbsp;<\/strong><\/p>\n\n\n\n<p>[1] Design Tech. Computer geometric modeling. [Online]. Available: <a href=\"https:\/\/www.designtechsys.com\/articles\/computer-geometric-modelling\">https:\/\/www.designtechsys.com\/articles\/computer-geometric-modelling<\/a>. Accessed Nov 13th, 2021.&nbsp;<\/p>\n\n\n\n<p>[2] Ilya Kantor. (2020). Bezier curve. Javascript.info. [Online]. Available:&nbsp; <a href=\"https:\/\/javascript.info\/bezier-curve\">https:\/\/javascript.info\/bezier-curve<\/a>. Accessed Nov 13th, 2021.&nbsp;<\/p>\n\n\n\n<p>[3] Wojciech Matusik. Bezier Curves and Splines. MIT OCW. [Online]. Available: <a href=\"https:\/\/ocw.mit.edu\/courses\/electrical-engineering-and-computer-science\/6-837-computer-graphics-fall-2012\/lecture-notes\/MIT6_837F12_Lec01.pdf\">https:\/\/ocw.mit.edu\/courses\/electrical-engineering-and-computer-science\/6-837-computer-graphics-fall-2012\/lecture-notes\/MIT6_837F12_Lec01.pdf<\/a>. Accessed Nov 13th, 2021.&nbsp;<\/p>\n\n\n\n<p>[4] Wikipedia. Bezier surface. [Online]. Available: <a href=\"https:\/\/en.wikipedia.org\/wiki\/B%C3%A9zier_surface\">https:\/\/en.wikipedia.org\/wiki\/B%C3%A9zier_surface<\/a>. Accessed Nov 13th, 2021.\u00a0[5] Qingnan Zhou. (2018). Mesh Boolean. PyMesh. [Online]. Available: <a href=\"https:\/\/pymesh.readthedocs.io\/en\/latest\/mesh_boolean.html\">https:\/\/pymesh.readthedocs.io\/en\/latest\/mesh_boolean.html<\/a>. Accessed Nov 13th, 2021.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1.0 Introduction Geometric modeling uses mathematics and knowledge of graphic computers to design objects . There are three main types of geometric models: wire frame models, surface models, and solid models. 2.0 Steps for geometric modeling: There are three main steps involving the modeling process: [1] Step 1: create a basic geometric object using points,&hellip; <a class=\"more-link\" href=\"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/2021\/11\/16\/geometric-modeling-methods\/\">Continue reading <span class=\"screen-reader-text\">Geometric Modeling Methods<\/span><\/a><\/p>\n","protected":false},"author":11550,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-67","post","type-post","status-publish","format-standard","hentry","category-uncategorized","entry"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/wp-json\/wp\/v2\/posts\/67","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/wp-json\/wp\/v2\/users\/11550"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/wp-json\/wp\/v2\/comments?post=67"}],"version-history":[{"count":1,"href":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/wp-json\/wp\/v2\/posts\/67\/revisions"}],"predecessor-version":[{"id":68,"href":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/wp-json\/wp\/v2\/posts\/67\/revisions\/68"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/wp-json\/wp\/v2\/media?parent=67"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/wp-json\/wp\/v2\/categories?post=67"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/learnfromscratch\/wp-json\/wp\/v2\/tags?post=67"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}