Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Given a simplex and point, convert back and forth between areal and Cartesian coordinates
ResourceFunction["Areal"][simplex,point] converts point between Cartesian and areal coordinates based on simplex. |
Vertices of a 3-4-5 triangle give an example of a 2-simplex. We can convert back and forth:
In[1]:= |
Out[1]= |
In[2]:= |
Out[2]= |
Given a line segment or 1-simplex defined by two points some other points on the line can be calculated by areal coordinates:
In[3]:= |
Out[3]= |
Areal coordinates always have a sum of one:
In[4]:= |
Out[4]= |
The minimal sign of an areal coordinate determines if a point is inside, outside, or on the boundary of a given simplex:
In[5]:= |
Out[7]= |
By Pick’s theorem, interior + boundary/2 -1 = area, so this triangle should have area 12+6/2-1 = 14:
In[8]:= |
Out[8]= |
Some graphics primitives that correspond to simplices are also supported:
In[9]:= |
Out[9]= |
The following are equivalent:
In[10]:= |
Out[10]= |
In[11]:= |
Out[11]= |
In[12]:= |
Out[12]= |
The areal coordinates of the incenter are proportional to the sides of the triangle:
In[13]:= |
Out[14]= |
The trilinear coordinate formula of a triangle center can be used with areal coordinates to generate that center; here is a calculation of the orthocenter, where the altitudes of the triangle intersect:
In[15]:= |
Out[20]= |
A tetrahedron is an example of a 3-simplex. We can convert back and forth:
In[21]:= |
Out[21]= |
In[22]:= |
Out[22]= |
The areal coordinates correspond to the area/volume when the Cartesian point is substituted for a point of the simplex and divided by the original volume; if the point is outside of the simplex a negative value is returned:
In[23]:= |
Out[23]= |
The plane perpendicular to vector (1/3, 1/3, 1/3) has all totals equal to 1, so points on this plane are assumed to be areal coordinates and get converted to Cartesian coordinates. There exists a triangle where the areal and Cartesian coordinates are the same, but in general there is no back function for this special case:
In[24]:= |
Out[24]= |
Arrange 25 trees in 18 lines of 5 trees:
In[25]:= |
Out[26]= |
Arrange 149 points in 241 lines of 5:
In[27]:= |
Out[28]= |
Wolfram Language 11.3 (March 2018) or above
This work is licensed under a Creative Commons Attribution 4.0 International License