IT / API 1 CERN 1-Feb-16 GBLIB: classes to deal with geometrical data Evgueni Tcherniaev IT / API CLHEP workshop, 27-31 January.

Slides:



Advertisements
Similar presentations
CSG and Raytracing CPSC 407.
Advertisements

Computer Graphics1 Geometry Area of polygons & Volume Of Polygonal surfaces.
3D modeling. Modeling and visualization Reality model Picture modeling Visualization.
Calera High School STEM
Advanced Manufacturing Laboratory Department of Industrial Engineering Sharif University of Technology Session # 8.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
IE 590 J Cecil NMSU 1 IE 590 Integrated Manufacturing Systems Lecture 4 CAD & Geometric Modeling.
2003 by Jim X. Chen: Introduction to Modeling Jim X. Chen George Mason University.
Implicit Surfaces Tom Ouyang January 29, Outline Properties of Implicit Surfaces Polygonization Ways of generating implicit surfaces Applications.
12/06/00 Dinesh Manocha, COMP258 Solid Modeling CSG (Constructive Solid Geometry) Representations: A set theoretic Boolean expression of primitive solid.
IE433 CAD/CAM Computer Aided Design and Computer Aided Manufacturing Part-4 Computer Graphics- CAD Software Industrial Engineering Program King Saud University.
Introduction to Boolean Operations on Free-form Solids CS284, Fall 2004 Seung Wook Kim.
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
9-4 Geometry in Three Dimensions  Simple Closed Surfaces  Regular Polyhedra  Cylinders and Cones.
Copyright 2013, 2010, 2007, Pearson, Education, Inc. Section 9.4 Volume and Surface Area.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Virtual reality. Tasks 3D digital model from planes 3D digital model of existing objects Office work Field observations Solid modeling Photogrammetry.
COMPUTER AIDED DESIGN -(CAD)-3
Warm up 1. Any line segment may be extended indefinitely to form a line. 2. Given a line, a circle can be drawn having the segment as a radius and one.
TECH 104 – Technical Graphics Communication Week 13: 3D Modeling Basics.
Disediakan oleh Suriati bte Sadimon GMM, FSKSM, UTM, 2004 SOLID MODELLING.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Solid Modelling Graphics Systems / Computer.
Chapter 11.1 Notes Common Core – G.GMD.4 Identify the shapes of two-dimensional cross-sections of three-dimensional objects, and identify three-dimensional.
Chapter 12 Surface Area and Volume. Chapter 12 Objectives Define polyhedron Define polyhedron Utilize Euler’s Theorem Utilize Euler’s Theorem Identify.
Copyright © Curt Hill Visualization of 3D Worlds How are these images described?
Darmstadt, 15. November 2015 Tobias Stockmanns, FZ Jülich1 A STEP to ROOT converter for the FairRoot framework ALICE-FAIR Computing Meeting, GSI,
Solid Modeling. Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron.
3D Object Representations
Geometric Modeling How to design a graphical model? How to create a digital description of a real-world object? Design Digitize.
Chapter Area, Pythagorean Theorem, and Volume 14 Copyright © 2013, 2010, and 2007, Pearson Education, Inc.
Three-Dimensional Object Representation
Constructive Solid Geometry Ray Tracing CSG Models
Geometrically Bounded Wireframe AIC (Part 510) Grouping of curves relevant for 3-dimensional wireframe modeling without topological constructs Elementary.
In the name of God Computer Graphics. Introduction Modeling techniques modeling techniques managements Some renderings.
Solid-Modelling-Internals. The modeller Geometry Kernel The Husk GUI.stl.sldprt.sat.
Surface Area and Volume
Solid Modeling Prof. Lizhuang Ma Shanghai Jiao Tong University.
11-1 Space Figures and Cross Sections Objectives To recognize polyhedra and their parts To visualize cross sections of space figures.
Solid Modeling Dr. Scott Schaefer.
TECH 104 – Technical Graphics Communication Week 12: 3D Modeling Basics.
CS552: Computer Graphics Lecture 28: Solid Modeling.
Lesson: Surface Area of Solids
Constructive Solid Geometry CSG (Geometri Padat Konstruktif)
Lesson: Solids & Cross Sections
Polyhedra and Prisms.
Unit 11: 3-Dimensional Geometry
POLYGON MESH Advance Computer Graphics
Computer-Aided Design & Drafting
3D Modeling Basics Three basic types of 3D CAD models:
SOLID MODELLING.
Engineering Geometry Engineering geometry is the basic geometric elements and forms used in engineering design. Engineering and technical graphics are.
3D Modeling in AutoCAD.
Section 9.4 Volume and Surface Area
Licensed Electrical & Mechanical Engineer
Computer-Aided Design & Drafting
Unit 11: 3-Dimensional Geometry
INTRODUCTION TO GEOMETRIC SOLIDS.
Solid Geometry.
Geometric Solids All bounded three-dimensional geometric figures. Examples: Sphere, Cylinders, Cubes, Cones, Pyramids, and Prisms.
Geometric Solids All bounded three-dimensional geometric figures. Examples: Sphere, Cylinders, Cubes, Cones, Pyramids, and Prisms.
Points, Lines, and Planes
Lesson: Introduction to Solids
Vertical Angles Vertical angles are across from each other and are created by intersecting lines.
11.5 Explore Solids Mrs. vazquez Geometry.
MATH THS – Standard Geometry
Solid Geometry.
14 Chapter Area, Pythagorean Theorem, and Volume
Overview of Modeling 김성남.
Solid Geometry.
Presentation transcript:

IT / API 1 CERN 1-Feb-16 GBLIB: classes to deal with geometrical data Evgueni Tcherniaev IT / API CLHEP workshop, January 2003, CERN

CLHEP Workshop, January 2003, CERN IT / API 2 CERN GBLIB: classes to deal with geometrical data 1-Feb-16 Introduction GBLIB stands for Geometry Builder Library. It is intended to be a collection of classes to work with data describing 3D geometrical objects. At present time all classes in GBLIB can be subdivided in three categories: –Foundation classes –Classes for detector geometry description –Graphics

CLHEP Workshop, January 2003, CERN IT / API 3 CERN GBLIB: classes to deal with geometrical data 1-Feb-16 Foundation classes –/gblib/templates/ tree.h – tree template class hash_map.hh – hash_map container –/gblib/geometry/ 2D & 3D basic geometrical objects –Point2D, Vector2D, Normal2D, Line2D –Point3D, Vector3D, Normal3D, Line3D, Plane3D –/gblib/transformation/ 2D & 3D transformations: –Translation2D, Rotation2D, Transformation2D –Translation3D, Rotation3D, Transformation3D

CLHEP Workshop, January 2003, CERN IT / API 4 CERN GBLIB: classes to deal with geometrical data 1-Feb-16 gblib/geometry classes BasicVector3D Point3DVector3DNormal3D P1 P2 P0 P0 = d2*P1 – d1*P2 d2 – d1

CLHEP Workshop, January 2003, CERN IT / API 5 CERN GBLIB: classes to deal with geometrical data 1-Feb-16 Foundation classes (cont.) –/gblib/polyhedron/Polyhedron.hh polyhedral representation of basic solids –calculation of normals for faces and nodes –finding visibility of edges boolean operations on polyhedra calculation of volume and surface area detector geometry checking

CLHEP Workshop, January 2003, CERN IT / API 6 CERN GBLIB: classes to deal with geometrical data 1-Feb-16 Classes for Detector Geometry Description –/gblib/evaluator/ Evaluator.hh – evaluator of physical expressions: 10[m]+25[cm] –/gblib/si/ Quantity.hh – basic class for physical quantity; similar to Siunits but with run-time checking Quantities.hh – physical quantities: Mass, Length, Time etc. QuantityConverter.hh – conversion of a Quantity object to a string –/gblib/csgparser/ CsgParser.hh – parser of boolean expressions CsgAbsMaker – abstract maker of operations in boolean expressions

CLHEP Workshop, January 2003, CERN IT / API 7 CERN GBLIB: classes to deal with geometrical data 1-Feb-16 CSG object Constructive Solid Geometry Object or Boolean Solid is a 3D solid body constructed using boolean operations on basic solids (box, tube, cone, sphere, body of rotation, etc) CSG object can be defined an expression. Example: (a:t1+b:t2):t3 where a,b are basic solids and t1,t2,t3 are transformations Operations: + union - subtraction * intersection : transformation

CLHEP Workshop, January 2003, CERN IT / API 8 CERN GBLIB: classes to deal with geometrical data 1-Feb-16 Example of CSG object

CLHEP Workshop, January 2003, CERN IT / API 9 CERN GBLIB: classes to deal with geometrical data 1-Feb-16 Graphics –/gblib/graphics/ Projection.hh – projection transformation ProjectionMaster.hh – class for managing transformations between different (user, normalized, view and projected) spaces during visualization PolygonCutter.hh – class for making different cuts Eliminator.hh – hidden lines, hidden surfaces removal Many other things can be implemented in this category. What about a special library for HEP oriented graphics (like HIGZ ) ?

CLHEP Workshop, January 2003, CERN IT / API 10 CERN GBLIB: classes to deal with geometrical data 1-Feb-16 What else ? Class for checking correctness of geometry description. This can be done in assumption that: –all children are inside their parent –there is no intersection among children Simple cases like “box vs box” or “box vs cylinder” can be implemented directly. In case where it is difficult to implement a special function, such checking can be done in polygonal representation using the Polyhedron class: –(child - parent) = null –(child * child) = null

CLHEP Workshop, January 2003, CERN IT / API 11 CERN GBLIB: classes to deal with geometrical data 1-Feb-16 What else ? (?) Geometry Modeler – a class which answers on the questions: –Where am I ? –How far is a surface in a given direction ? –How far is the nearest surface ?