Skip to main content

Tools to create FFD operator from point cloud.

Project description

PyFFD

PyFFD is an open-source Free Form Deformation (FFD) library.

Mathematics

We define the FFD opperator as $R_s = \left[ B_i \left( x_j \right) \right]_{(i,j)}$ using B-Spline functions such as:

B(x) = 
    \begin{bmatrix}
        B_1(x) \\
        B_2(x)\\
        \vdots\\
        B_i(x)
    \end{bmatrix}

We can easily project a vector like :

$$ b_s = R_s^T ~ b $$

Code

Quick start

(1) Define a FEM mesh :

n = np.array([[x0, y0], [x1, y1], ...])

(2) Define the elements size and degree for the B-Spline box in each direction :

# Element size per directions
size = [size_x, size_y]
# global setting
size = 0.1 # example

# Element degree per directions
deg = [deg_x, deg_y]
# global setting
deg = 3 # example

(3) Create the B-Spline box python object :

sbox = pf.FFD(n, size, deg)

(4) Compute the FFD opperator $R_s$ :

Rs = sbox.OperatorFFD()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyFFD-0.1.4.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PyFFD-0.1.4-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file PyFFD-0.1.4.tar.gz.

File metadata

  • Download URL: PyFFD-0.1.4.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for PyFFD-0.1.4.tar.gz
Algorithm Hash digest
SHA256 38554ec9fadf8dd9254a38377dc3dd6a2868c10c8d912377404fe4643e8944c6
MD5 5f733475098f5028d8cade90796a5e36
BLAKE2b-256 6740d093a9f10d923f4c2470fcfdb91f2fb70c997f705fdb9f4163bc044fa1c3

See more details on using hashes here.

File details

Details for the file PyFFD-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: PyFFD-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for PyFFD-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3bd50a499f57390510bebd1f8a489ef52a4448f5766d44e744bc7d38fe42b1d7
MD5 65fd6a125f12d154603a982eccf59327
BLAKE2b-256 bbbe0158bac0608a0ac1ca6fc15b0949e51b0b35f4e5c27de2a1ba2fe61b1917

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page