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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file PyFFD-0.0.4.tar.gz.
File metadata
- Download URL: PyFFD-0.0.4.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12db0627c13f2736c4da5504f4fdef5ddbcd2b5d6e0c2c9a6945bb30d2cc0925
|
|
| MD5 |
e49fe50cfa2cbef263d9d206f8eb21d8
|
|
| BLAKE2b-256 |
525320419f7a23aa164d38f5441ab0dd6fb0224c1c9954901dda080bf94c1e50
|
File details
Details for the file PyFFD-0.0.4-py3-none-any.whl.
File metadata
- Download URL: PyFFD-0.0.4-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8d07d99a66706c88c675f141d87b4e209277fb10ff83024065f44e6f3ba3e56
|
|
| MD5 |
8f3dfb01ea4ac24212e0bfde4d6cf818
|
|
| BLAKE2b-256 |
f9a2d542b0a6ece2c638f59a9f2423b75a8604c8b02f96f3cbfe45af5e55c37a
|