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.0.1.tar.gz (6.5 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.0.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for PyFFD-0.0.1.tar.gz
Algorithm Hash digest
SHA256 d8d4f8fabeb4185b0d8f977209c5bce880a5dcbf3b419a9a8ff77370b11f10c5
MD5 b92fbefa0e137a0dfc923f9049da2ac4
BLAKE2b-256 673116719acaa563bab86d27ee633f999529638100f1e0d612291099556bb842

See more details on using hashes here.

File details

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

File metadata

  • Download URL: PyFFD-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 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.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 063af28aa0f4c9f99ea1db108782b5ab04e38cce2cf3e53a7e72fe2062cc4184
MD5 edbe277fe250603284ce2e53ed86d277
BLAKE2b-256 11c12ae5f41fac644553abd9b429b8971d1c5e91e00338b77d93cd0b8824261e

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