Чтобы запустить Java-код в качестве демона (службы), вы можете написать заглушку на основе JNI.
http://jnicookbook.owsiak.org/recipe-no-022/
для образца кода, основанного на JNI. В этом случае вы демонизируете код, который был запущен как Java, а основной цикл выполняется в C. Но также можно поместить основной цикл daemon в Java.
https: // github.com/mkowsiak/jnicookbook/tree/master/recipeNo029
Удачи с JNI!
Ориентация черепахи может быть определена по производной вашей функции в текущей позиции.
Если у вас есть функция как функция sympy, вы можете попросить Python провести дифференцирование. Или вы можете просто сделать это самостоятельно. Если ваша функция
y = x^2
, то производная равна
dy = 2 * x
Учитывая, что производная в текущей позиции, ее арктангенс дает вам направление черепахи:
t.setheading(math.atan(dy))
Убедитесь, что угол поворота черепахи установлен в радианах или переведите их в градусы
t.setheading(math.degrees(math.atan(dy)))
Я согласен с @NicoSchertler, что арктангенс производной - это путь математически. Но если это только для хороших визуальных эффектов, есть более простой способ. Мы можем комбинировать методы черепахи setheading()
и towards()
, постоянно устанавливая направление движения черепахи к следующей позиции непосредственно перед тем, как идти туда:
from turtle import Screen, Turtle
turtle = Turtle(shape='turtle', visible=False)
turtle.penup()
turtle.goto(-20, -400)
turtle.pendown()
turtle.setheading(90)
turtle.showturtle()
for x in range(-20, 20):
y = -x ** 2
turtle.setheading(turtle.towards(x, y))
turtle.goto(x, y)
screen = Screen()
screen.exitonclick()