pub struct TensorTile {
pub position: [f64; 2],
pub orientation: f64,
pub tile_type: TileType,
pub source_coords: [i32; 5],
pub tensor: Vec<f32>,
pub tensor_shape: (usize, usize),
}Expand description
A tensor-valued Penrose tile — carries a 2D tensor field on each tile.
Fields§
§position: [f64; 2](x, y) position in the Penrose floor.
orientation: f64Rotation in radians.
tile_type: TileTypeThick or Thin rhomb.
source_coords: [i32; 5]5D lattice coordinates.
tensor: Vec<f32>Flat tensor data (row-major).
tensor_shape: (usize, usize)(rows, cols) — varies by tile type.
Implementations§
Source§impl TensorTile
impl TensorTile
Sourcepub fn new(
source_coords: [i32; 5],
tile_type: TileType,
orientation: f64,
position: [f64; 2],
) -> Self
pub fn new( source_coords: [i32; 5], tile_type: TileType, orientation: f64, position: [f64; 2], ) -> Self
Create a new tensor tile with the tensor initialized to zeros.
- Thick tiles get shape
(5, 5)to match the 5D source. - Thin tiles get shape
(3, 8)so the proportion 8/3 ≈ φ.
Sourcepub fn fill_from_source(&mut self)
pub fn fill_from_source(&mut self)
Fill the tensor using five orthogonal basis modes controlled by the five source coordinates.
| coord | mode | description |
|---|---|---|
| a (0) | constant | base intensity |
| b (1) | linear gradient along rows | |
| c (2) | sinusoidal along columns | |
| d (3) | pseudo-random texture seed | |
| e (4) | phase shift |
Sourcepub fn apply_threshold(&mut self, threshold: f32)
pub fn apply_threshold(&mut self, threshold: f32)
Zero out tensor values below the given threshold.
Sourcepub fn tensor_at(&self, row: usize, col: usize) -> f32
pub fn tensor_at(&self, row: usize, col: usize) -> f32
Index into the flat tensor at (row, col).
Sourcepub fn tensor_len(&self) -> usize
pub fn tensor_len(&self) -> usize
Number of elements in the tensor.
Trait Implementations§
Source§impl Clone for TensorTile
impl Clone for TensorTile
Source§fn clone(&self) -> TensorTile
fn clone(&self) -> TensorTile
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TensorTile
impl RefUnwindSafe for TensorTile
impl Send for TensorTile
impl Sync for TensorTile
impl Unpin for TensorTile
impl UnsafeUnpin for TensorTile
impl UnwindSafe for TensorTile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more