Maddie Busig
f1afeacf60
Add functions for getting ruleset properties/num properties
2025-05-07 00:06:02 -07:00
Maddie Busig
ec0fb04f7b
Add axiom to ruleset
2025-05-06 23:57:24 -07:00
Maddie Busig
03d9de7b1a
Fix typo
2025-05-06 23:57:06 -07:00
Maddie Busig
8a05e20c33
Fix rotations and add second token value
...
Rotations only took cosine of the angle, but this is not enough to
determine all possible angles. create_rotation now takes sin of the
angle too. Modified tokens to have a second value to accomodate this
change
2025-05-06 23:55:50 -07:00
Maddie Busig
28c606643c
Configure ETL to throw exceptions
2025-05-06 22:53:10 -07:00
Maddie Busig
722a7eb202
Move token marking identifier into token_t, remove marking rules
...
This has the side effect that each token can only have one mark assigned
to it.
2025-05-06 22:51:52 -07:00
Maddie Busig
83130ba7bd
Fix rotation usage not using cos of angle
...
Storing the cosine of the angle inside the token allows for faster
rotation matrix computation. Because the rotation matrix uses the
sin/cos of the angle, we can precompute the cosine and find the sine
quickly using cosx^2+sinx^2=1. This means we only need to compute the
sin/cos once, and we can potentially precompute it at compile time.
2025-05-06 22:28:44 -07:00
Maddie Busig
8a99a5e09e
Add create_rotation helper function
...
Rotation matrix construction not implemented in MTL yet
2025-05-06 22:24:12 -07:00
Maddie Busig
651596f76f
Add beginning of generator declarations and example usage
2025-05-06 02:53:31 -07:00
Maddie Busig
7d660e215d
Update gitignore
2025-05-06 01:47:45 -07:00
Maddie Busig
e613019f10
Implement add_mark_rule
2025-04-29 06:21:39 -07:00
Maddie Busig
25ce069a97
Implement add_branch_rule_weighted
2025-04-29 06:19:58 -07:00
Maddie Busig
1e045d9801
Implement add_branch_rule
2025-04-29 06:19:03 -07:00
Maddie Busig
07b94c996c
Add valid_weighted_group
2025-04-29 06:16:12 -07:00
Maddie Busig
626486cadf
Implement add_weighted_group
2025-04-29 06:14:14 -07:00
Maddie Busig
404faec921
Fix missing length check in add_group_characteristic
2025-04-29 06:13:52 -07:00
Maddie Busig
2d1b318d0f
Add valid_group_characteristic
2025-04-29 06:13:36 -07:00
Maddie Busig
a67fcac5fc
Implement add_group_characteristic
2025-04-29 06:05:20 -07:00
Maddie Busig
8e6413e9ec
Move *_full to fractal.hpp and add valid token check
2025-04-29 06:04:55 -07:00
Maddie Busig
0f3e857586
Implement ruleset_t::add_token
2025-04-29 05:55:13 -07:00
Maddie Busig
f1b6870dfd
Change ruleset constants to globals instead of templates
2025-04-29 05:50:11 -07:00
Maddie Busig
ee6daf36d7
Comment ruleset functions
2025-04-29 05:31:06 -07:00
Maddie Busig
00303ae3be
Refactor fractal generator and fractal classes, begin rewrite
...
Separating fractal generation run from ruleset generation. After the
ruleset is processed, there is no reason for the group characteristics,
etc to still be used. Additionally, this will avoid the possibility of
the user attempting to use the fractal before ruleset is created and
processed.
Other changes:
Branch rules now use unioned weighted or unweighted group.
Rewrite ruleset creation usage
2025-04-29 04:59:38 -07:00
Maddie Busig
c357174e35
Update MTL submodule url
2025-04-29 02:40:39 -07:00
Myles Busig
2dcf285979
Add test fractal usage to main
2025-02-18 05:15:58 -08:00
Myles Busig
6b6cba98dd
Implement generator.add_* methods
2025-02-18 05:14:49 -08:00
Myles Busig
b96d5fa2de
Change generator::set_axiom to not require setting before preprocessing
2025-02-18 05:13:35 -08:00
Myles Busig
1999d0e0f7
Add fractal generator definitions (unimplemented)
2025-02-18 04:24:20 -08:00
Myles Busig
087aa2c714
Make some fractal::generator functions noexcept (simple sets, etc)
2025-02-18 04:23:30 -08:00
Myles Busig
5f35bea64c
Add fractal generator class declaration
2025-02-18 04:17:14 -08:00
Myles Busig
03b567cebe
Add rule ID types
2025-02-18 02:40:46 -08:00
Myles Busig
787a16c853
Fix inconsistent point/marker naming
2025-02-18 02:32:24 -08:00
Myles Busig
ed279b3bc6
Rename fractal variable to token, matching token_type_e naming
2025-02-17 20:03:49 -08:00
Myles Busig
1f0620c253
Add marker containing position & id, make group use child markers not
...
vec2
2025-02-17 19:26:23 -08:00
Myles Busig
017487a18d
Add fractal.hpp with POD structure definitions
2025-02-17 03:44:00 -08:00
Myles Busig
a002ea7b94
Add ETL submodule
2025-02-17 02:16:34 -08:00
Myles Busig
17a9bb0040
Add hello world
2025-02-15 21:59:24 -08:00
Myles Busig
60ba5948cb
Add build artifacts to gitignore
2025-02-15 21:59:07 -08:00
Myles Busig
4458997b4b
Add MTL submodule
2025-02-15 21:31:23 -08:00
Myles Busig
b7061686e8
Initial commit
2025-02-15 23:10:14 +00:00