Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Triang. irregular network TIN of 2-manifold 3D model

Stella_981Sep 19 2017 — edited Sep 22 2017

Is it possible to give a point cloud of a 2-manifold figure (a cat) and find the Triangulated Irregular network (TIN) using the sdo_tin package?

I did try it with poor results.

I use Oracle database 11g Enterprise Edition Release 11.2.0.1.0 – 64 bit Production

The code is :

DECLARE DECLARE

tin SDO_TIN;

BEGIN

-- Initialize the TIN object.

tin := SDO_TIN_PKG.INIT(

'TIN\_TAB\_MOD', -- Table that has the SDO\_TIN column defined

'TIN', -- Column name of the SDO\_TIN object

'TIN\_BLKTAB\_MOD', -- Table to store blocks of the TIN

'blk\_capacity=500', -- max # of points per block

 MDSYS.SDO\_GEOMETRY(3003, --3d  surface

  NULL,  --srid

  NULL,  -- point

  MDSYS.SDO\_ELEM\_INFO\_ARRAY(

    1,  -- Offset of composite element

    1006,  --- Etype for composite surface element

    6,

      1, 1003,3, --Axis-aligned Rectangle element descriptor

      7, 1003,3, --Axis-aligned Rectangle element descriptor

      13,1003,3, --Axis-aligned Rectangle element descriptor

      19, 1003,3, -- Axis-aligned Rectangle element descriptor

      25, 1003,3, --Axis-aligned Rectangle element descriptor

      31,1003,3 --Axis-aligned Rectangle element descriptor

  ), 

  MDSYS.SDO\_ORDINATE\_ARRAY(

    -68, -53, -68, 37,62,-68, -- min-, max- corners for Back face,

    -68,-53,52, 37,62,52, -- min-, max- corners for Front face,

    37,-53,-68, 37,62,52, -- min-, max- corners for Right side face,

    -68, -53, -68, -68,62,52, -- min-, max- corners for Left side face,

    37,-53,52, -68, -53, -68, -- min-, max- corners for Bottom face,

    37,62,52, -68,62,-68 -- min-, max- corners for Top face

  )

),-- The spatial extent

0.00005, -- Tolerance for TIN

3, -- Total number of dimensions is 3; the third dimension is stored

NULL -- This parameter is for enabling compression but always set to

);

-- Insert the TIN object into the "base" table.

INSERT INTO tin_tab_mod (tin) VALUES (tin);

-- Create the blocks for the TIN.

SDO_TIN_PKG.CREATE_TIN(

tin, -- Initialized TIN object

'INPTAB\_CAT', -- Name of input table to ingest into the point cloud

'RESTAB\_MOD' -- Name of output table that stores the points

);

END;

/

The following the figures are: In gray the original point cloud as a surface, and the resultant TIN cat model in red:

cat_trial_mesh_per.png

cat_tria_tin_per.gif

Thanks in advance! stella

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 20 2017
Added on Sep 19 2017
5 comments
321 views