-1
$\begingroup$

Manually generated in Geogebra

Strike four - Drivers... Drivers... No control.

The AN nodes will prove to be the best solution as I initially suspected. Unless I'm missing something obvious, which is entirely plausible.

Strike three I'm looking for the easiest way to coordinate the positioning of endpoints which constitute the pink lines. (The grid itself can be a separate object)

Ultimate goal is to use just one variable per object to offset them from the origin, and have a function generate the "y" from the "x".

Inadequate ideas I've had so far:

  1. Array to create the points(vertices or empties) on the "x" axis, but then there's a problem of generating the "y" array with non-uniform offset based on a function.

  2. Use the equilateral triangle to generate custom orientations by which to translate new objects (empties)

    • somehow automatically coordinate their positioning
    • then use the coordinates to string anything renderable across

Strike two Can an array of linearly equally spaced empties be used in such a way to take the offset distances (of every copy from the original) and then create another linear array whose elements would be offset from the original by putting the aforementioned distance values through a function ?

The next step would imply connecting the corresponding empties, the connections representing the pink lines in the graph.

Strike one Translating x values to y via f(x) as usual, but without treating x and y as coordinates, only endpoints of finite (pink) lines.

I looked for other solutions before coming back to Blender, but since it is an all out graphical application, and Python based, as are some of the other options which seem too formatted/specific in application, there's no reason not to ask if it's possible.

Since this question is simpler then the previous which was solved by @lemon , I'm confident the answer will come, as I actually dissect the methods used there.

$\endgroup$
  • 2
    $\begingroup$ I do not understand this question. Are there perhaps examples of similiar projects on the internet, which we could refer to? $\endgroup$ – Leander Oct 7 '19 at 14:28
  • $\begingroup$ I don't think so, I've searched far and wide, and since nobody seems to be using the "ternary diagram" in this way, there is no formatted value input system that would allow the creation of the depicted graph. The crucial functionality needed to make this work is the generation of a list of vertices (along the yy axis) based on a list of vertices on the x axis. After some more thought I believe this is doable using animation nodes. (Doable even without using any of the established axes). @lemon showed me the AN light on an earlier question, but I didn't follow it diligently. $\endgroup$ – t8ja Oct 8 '19 at 18:00
  • $\begingroup$ So you actually want to construct your figure as a geometry with python? $\endgroup$ – Leander Oct 8 '19 at 18:14
  • $\begingroup$ Maybe it's easier (on my brain/memory) with animation nodes, but taking into account that any action can be scripted in Python, I accentuated Python. Yes, though I don't see any other way. What troubles me is that I haven't yet seen anyone spawn a wikipedia.org/wiki/Line_(geometry) within 3D view. $\endgroup$ – t8ja Oct 8 '19 at 18:28
  • $\begingroup$ I'm confused, a line is infinite. Geometry (vertices) are going to be finite. Do you actually want geometry? Or are you talking about OpenGl/bgl. $\endgroup$ – Leander Oct 8 '19 at 18:30
2
$\begingroup$

Supposing you entered your X and Y coordinates in Blender's own orthogonal space. Then a transform that would take them to your 60 degree angled axes, with matching lengths on the new axes, would be:

  • SY with a numerical entry of sqrt(3)/2, followed by
  • ShiftCtrlAltS Shear, Z axis, X ortho, by tan(pi/6)
| improve this answer | |
$\endgroup$
  • $\begingroup$ I've got a blind spot I've only now identified, but if I'm understanding your suggestion, it requires the empties to already be placed along the axes, followed by their coordinates/positions being transformed ? Maybe I need to totally reform this question and ask how to generate sets of coordinates in order to place arbitrary objects at those positions. $\endgroup$ – t8ja Jan 17 at 20:35
  • $\begingroup$ That's the fundamental problem, I've only now managed to articulate XD unless I'm having a crash right now and everything I'm saying makes no sense. $\endgroup$ – t8ja Jan 17 at 20:38
  • 1
    $\begingroup$ @t8ja , no Empties, just a first shot. These transforms will take any object, (in Edit Mode) from Cartesian XY to your triangular XY. So you could construct the object, or Y = f(X).. whatever .. in Blender space, and- then transform it to yours. $\endgroup$ – Robin Betts Jan 17 at 20:41
  • 1
    $\begingroup$ I'll test it out on a cube, but first I have to figure out how to enter the root operator $\endgroup$ – t8ja Jan 17 at 20:49
  • $\begingroup$ How do you enter the operators ? $\endgroup$ – t8ja Jan 18 at 15:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.