one man

Alexey Ivanov

815 Reputation

14 Badges

8 years, 258 days
Russian Federation

Social Networks and Content at

Maple Application Center

MaplePrimes Activity

These are replies submitted by one man

An example of exactly the same movement as in the first example  PLAT 1. To do this, replace the third part of the program with this text:
Platform design options are endless. 

@Ronan  Thank you.
If “dynamic systems” means autonomous ODE systems, then Draghilev’s method is based on them. In turn, this method can be used to find a set of bifurcations of autonomous systems, both discrete and continuous. This is where my knowledge on this issue ends.
As for the Stewart platform, in the 3rd part of the program, you can easily remove my 3 rotary-inclined racks of variable length and replace them with your 6 variable-length racks.  My racks are controlled by rotation, tilt and length, while your racks will be adjustable in length. The number of Cij points in the text (where i is the number of the point, and j is its coordinate) you need to increase from 3 to 6 and connect to the platform (solid) in any way convenient for you. Then you will automatically receive a solution to the inverse kinematic problem for your new device, because at any time you will know the lengths of all the racks and, of course, the coordinates of all the necessary points. At the same time, we are not talking about possible emergency situations such as: crossing of racks, exceeding the permissible length, etc., however, all this can be controlled and, if necessary, make changes to its design.
As a matter of fact, the third part of the program is designed to use preliminary calculations of the first two parts and to save time when obtaining a solution to the inverse kinematic problem for any models that can reproduce the given trajectory of the platform movement.

My help also says: "If T is a triangle, and A a vertex of T, FindAngle (A, T) returns the internal angle of T at A".

Yes, thanks, checked. I used to think that VectorAngle calculates the angle in a similar way, that is, no more than Pi / 2.

Fixed comments in the text of the program, 

Yuri Nikolaevich,  you should to agree that the question is not quite that.
And you saw an example of my solution on one of the forums so that you can compare with your example.

It's about the simplicity of the general approach, as is the case with inellipse in this topic.

There is a similar program (as at the beginning of the post), but for obtaining the equation of an ellipse circumscribed about a triangle.
Is there a way to parametrically define the circumellipse too, so as not to fiddle with this program further?

And it works for me too, but when the parameters are  0 < s, t < 1
For example, parameters = [s = 0.01 .. 0.99, t = 0.01 .. 0.99]

Thank you for your assistance. The error message ceased to appear, the first frame and sliders appeared. But when I move the sliders, the triangle and ellipse images disappear and no longer appear. That is, it still does not work.
Nothing, the main thing is not in this, but in the fact that the essence of solving the task by means of parameterization is clear.

Thank. Until now, I did not know about the existence of such dependencies.
" Probably in Maple 17 this will work:"
No, for some reason, it doesn't work. But this is no longer relevant, because it is clear what should be.
Thank you again.
(You will laugh when you find out how much effort I put into this program, especially with my Maple "proficiency" level.)

I feel that you, as always, are on top. But unfortunately your program doesn't work on my version.
Is it not difficult for you to at least briefly explain your text? Thank you.

Yes, there are several ways to solve this problem. The fact is that in some similar examples there is only a finite number of variants of such triangles, and it seemed to me that the easiest way to decide (for fun) is to use the optimization package. 
For example, x^4+ y^4 + z^4 - 1 = 0, the maximum area of the triangles is approximately 2.08.

It seems  there is a way to exit the program when a check for the existence condition of the tetrahedron is "NO". We put the program text in a pseudo-loop where the break statement works. If the check passes, then the  print ("GO") is executed; if not, the print ("GO") is not executed. A simple check by point F: if its third coordinate is other than 0, then the program is executed, for example, point (F, 1, 1, 0.000001), if its third coordinate is 0, then the program is not executed.

restart: with(geom3d):
for j to 1 do 
point(A, 0, 0, 0), point(B, 2, 2, 0), point(C, 0, 2, 0), point(F, 1, 1, 0):   
gtetrahedron(T1, [A, B, C, F]):
i := nops(op(0, detail(T1))); if i = 1 then print("Ok, gtetrahedron") else    print("No gtetrahedron, NO"); break end if:
end do:


@tomleslie  Thanks a lot. I didn’t want to extend the text of the check, especially since I couldn’t do it as gracefully as you. I have very poor Maple proficiency. I was more interested in understanding how to stop further program execution in the case of `no_tetrahedron_possible`

I think the author of the topic simply wanted that to him be shown  how to establish uniform rotation of one of the vertical struts of the mechanism (input link of mechanism).
I don't have MapleSim either.

1 2 3 4 5 6 7 Last Page 1 of 20