Нахождение длины стойки для 2 поз Платформы Стюарта - PullRequest
1 голос
/ 04 апреля 2019

Цель 1: Найти длину стойки p2 с параметрами x1 = 5, (x2, y2) = (0,6), L1 = L3 = 3, L2 = 3√2, γ = π / 4, p1 = 5, p3 = 3, для которых есть только две позы.

Цель 2: Рассчитать интервалы в p2 с теми же параметрами, для которых есть соответственно 0, 2, 4 и 6 поз.

Все должно быть сделано с использованием Python.

Я чрезвычайно новичок в питоне. Предполагается, что это групповой проект, но половина моей группы призрака.

У меня есть некоторый код для функции, которая дает мне x и y и отображает график функции. Я вполне уверен, что для первой части p2 равен 4 из некоторых предыдущих задач. Я чувствую, что мне нужно найти корни функции с p2 = 4, чтобы доказать, что есть только две позы? Также мой сюжет выглядит как дерьмо. Я не могу понять, как правильно использовать plt.plot.

Вот код, который я написал до сих пор.

import math
import sympy
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
from sympy import symbols
from sympy.plotting import plot
from scipy.optimize import fsolve

def function_file_out(theta, x1, x2, y2):
    L1 = 3
    L2 = 3*sympy.sqrt(2)
    L3 = 3
    p1 = 5
    p2 = 4
    p3 = 3
    yVal = sympy.pi/2

    A2 = L3*sympy.cos(theta)-x1
    B2 = L3*sympy.sin(theta)
    A3 = L2*sympy.cos(theta+yVal)-x2
    B3 = L2*sympy.sin(theta+yVal)-y2

    first = B3*((p2**2) - (p1**2) - (A2**2) - (B2**2))
    second = -B2*((p3**2) -( p1**2) - (A3**2) - (B3**2))
    N1 =  first + second
    third = -A3*((p2**2) - (p1**2) - (A2**2) - (B2**2))
    fourth = A2*((p3**2) - (p1**2) - (A3**2) - (B3**2))
    N2 = third + fourth
    D = 2*(A2*B3 - B2*A3)

    out = (N1**2) + (N2**2) - (p1**2) * (D**2)
    x = N1 / D
    y = N2 / D

    return out

x = symbols('x')
plot(function_file_out(x, 5, 0, 6), (x,-sympy.pi,sympy.pi))

Я совсем не совсем уверен насчет второй части. Любая помощь очень ценится.

...