Last updated
Last updated
For the technically averse, the easiest way to see your Plantoid is to visit your profile at . From there you can also find a public link to use to easily show off your Plantoid to whomever you like. Each day, your Plantoid will grow and change a little bit, so if you save the image to use as a profile picture, make sure to update it frequently! Fortunately, the image of your Plantoid will also automatically update inside your wallet. If you want to quickly check in on the progress of your Plantoid, simply take a peek in your wallet!
For those that are technically inclined, keep reading below for more details. We want you to be able to view and showcase your Plantoid, natively, wherever you want. To do this, we will implement two things:
We will build open-source integrations to showcase your Plantoid on social networks.
Open protocol for further integration
Each generation's general structure is created via an L-system. , at a basic level, are iterative grammatical algorithms that expand symbols from previous iterations, creating fractalized sentence patterns. By representing these symbols as geometric objects, complex structures can be created, allowing for the accurate modeling of plant growth. By utilizing stochastic and context sensitive rules, we can create unique and randomized plants.
Lindenmayer's original L-system for modelling the growth of algae.
variables :
A B
constants :none
axiom :A
rules :(A â AB), (B â A)
which produces:
n = 0 :
A
n = 1 :AB
n = 2 :ABA
n = 3 :ABAAB
n = 4 :ABAABABA
n = 5 :ABAABABAABAAB
n = 6 :ABAABABAABAABABAABABA
n = 7 :ABAABABAABAABABAABABAABAABABAABAAB
The growth and visualization of your plant will take place once a day and be handled off chain by our Mendel server. Each day at GMT 0:00 our server will iterate each Plantoid, carrying out the necessary calculations while factoring in the genetics and weather. A .PNG will be cached and used to speed up retrieval for wallets and our websites when accessed by users. Although this process will occur on centralized servers, the process will be verifiable locally using the data from the various open sources.
We currently utilize a turtle algorithm to draw the Plantoids and use direct equivalence when translating symbols to shapes. Here's a simple example:
Let's say that our "turtle" reads "P" as a pot, "S" as a stem segment, "L" as a leaf, and "F" as a flower. "[", "]", "-", and "+" are position related symbols and do not directly correlate to a shape. Instead, they tell the turtle what to do about it's position. "[" means to save the current location and angle on a stack, "]" means to return to the previously saved location from the top of the stack, "-" means to rotate counterclockwise some amount, and "+" means to rotate clockwise some amount. The combined usage of these four positional symbols allow the creation of branches while still retaining the ability to progress the previous stem.
Now say your Plantoid has the sentence "PS[-SL][+SF]" to define it's structure. Starting from the "P", the turtle draws a pot. It then moves forward a set distance relative to the size of the pot, and looks at the next letter, in this case, "S". It draws the stem and then moves to the top of that segment. The "[" tells it to save the position and the current direction it's facing at the top of the stem, and the subsequent "-" tells it to rotate counterclockwise. This does not move it from the tip of the stem. The next "S" extends a stem segment at this new angle, creating a branch off of the main stem. At the tip of this new branch, a leaf is drawn as described by the "L". The following "]" tells the turtle to return to it's previously saved position and orientation, back at the tip of the first "S", the main stem. The next portion within the brackets, "[+SF]" tell the turtle to rotate right and draw a branch tipped with a flower, similarly to how the left branch was formed. Thus, the full Plantoid is visualized.
By combining this process with incremental steps, the size of which is influenced by the Plantoids genetics and weather, we can simulate dynamic growth. By adding variance to the size, angle, and position of each drawn portion, we simulate the expression of genes, creating unique Plantoids.