Coder Social home page Coder Social logo

bapprox's Introduction

B-Spline Approximator

Build Status Code Health Code Climate Test Coverage

Python tool for approximate 3d points using Bspline surface.

Bapprox screenshot

Requirements

  • Python 2.7
  • Numpy 1.11
  • SciPy 0.18
  • GnuPlot 5.0
  • Python OCC 0.17

How to Run

python ./src/main.py -f ./conf.yaml

How to Test

PYTHONPATH=$PWD/src py.test tests

bapprox's People

Contributors

jirikopal avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

saidctb

bapprox's Issues

Visualization of differences and quad

When quad is defined, then differences between approximation and terrain can't be visualized now, because differences are computed only for cropped part of terrain.

Implement fractures

  • Get testing data from Jakub.
  • Implement reading of fractures from input files.
  • Split volume to several volumes using fractures.

The biggest diference

Print the biggest difference between B-Spline surface and original terrain. Add this option to configuration file.

Create volume object and export it to brep file

  • Experiment with Intersections of B-Spline and border planes of area.
  • Create volume from border area and do boolean operation (intersect) with volume of Surface.
  • Set bottom surface (several options).
  • Create volume using extrude.
  • Create volume using different B-Spline surfaces (different number of knots and poles).
  • Output volume to BREP file.
  • Test for several fractal borders of area
  • Test for several variants of B-Spline surface (different number of poles)
  • Test boolean operation between B-Spline surface (different number of poles) and simple plane

Method chol and sparse matrixes

Method method: chol can't be used with combination with dense matrixes (sparse: false) in configuration file. The program is terminated with following error:

Traceback (most recent call last):
  File "./src/main.py", line 51, in <module>
    main(parse_arguments())
  File "./src/main.py", line 29, in main
    terrain.approximate_terrain()
  File "/home/jiri/GitHub/bapprox/src/terrain_data.py", line 302, in approximate_terrain
    {'threshold': threshold})
  File "/home/jiri/GitHub/bapprox/src/approx/terrain.py", line 886, in approx
    return approx_chol(terrain_data, quad, u_knots, v_knots, sparse, conf['threshold'])
  File "/home/jiri/GitHub/bapprox/src/approx/terrain.py", line 820, in approx_chol
    c_mat = bb_mat + r * (bb_norm[0] / a_norm[0]) * a_mat
IndexError: invalid index to scalar variable.

SVD Method

Make it possible to use SVD method again.

Test variant of sparse matrices

The "dok" format of sparse matrices is used for everything (assembling of matrices, computing) and it is not efficient. Try to use different formats.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.