Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - sibelius

Pagine: [1] 2
1
Grazie del link, ci sto giusto guardando
ciao.

2
Salve a tutti.
Avrei una domanda e spero che qualcuno mi sappia indirizzare.
Faccio una premessa a cui segue la domanda.
Supponiamo di considerare una linea (puo' essere un asse X ad esempio) in modo che partendo da un punto possa generare un insieme di vettori; in questo caso i vettori hanno solo una componente che altro non e' che la distanza da un origine presa sulla linea.
Per creare questo insieme di vettori posso realizzare una regola, ad esempio che il punto successivo sia a due volte la distanza del precedente e cosi' via creo la mia lista.
Fin qui e' facile.
Ora invece supponiamo che i miei vettori abbiano due componenti e quindi per la loro rappresentazione  non e' piu' sufficiente "in generale" una linea retta ma avro' necessita' di muovermi su di un piano (per semplicita' facciamo finta che sia il piano x-y).
Ora per definire questa mia nuova lista di vettori posso utilizzare alcune regole come incrementare la componente x e la componente y di ogni vettore di una certa quantita'.
La mia domanda e' questa: esiste una metodologia in python per poter considerare un insieme di punti limitato da una linea chiusa qualunque?
Posto in altri termini la dico cosi': se si prende una penna e un foglio di carte e si disegna una linea chiusa di forma qualsivoglia su un foglio, come posso definire con python I vettori (e quindi i punti) all'interno della linea stessa?
Grazie dell'aiuto.
ciao

3
Non l'ho ancora letto tutto, mi propongo di farlo in una settimana la sera, mi ci vuole una settimana, io sono lentissimo.
ciao

4
Grazie dell'aiuto, ma stavo solo scherzando.
Visto che siamo al bar.
Comunque grazie.
ciao

5
Si sto leggendo .
Ma siccome non sono pratico di python pensavo che qualche programmatore molto avanzato avesse creato qualche codice eseguibile in un link per l'auto apprendimento, ma se mi confermate che non e' cosi' allora studio.
Grazie
ciao

6
Salve a tutti.
Qualcuno sa segnalarmi un post o un link che aprendolo mi rende capace di programmare in python?
Grazie dell'aiuto.
ciao

7
l'equazione dellla linea elastica e' un ordine 4.
il taglio e' la derivata del momento e il carico la derivata del taglio quindi l'equazione di ordine 2 e' quella tra momento e carico.
avevo scritto in c anni fa un codice che risolveva il problema dello spostamento in variabile, se lo trovo te lo posto.
ciao

8
PyQT / Re:come utilizzare sympy in pyqt5
« il: Febbraio 19, 2020, 12:37 »
Ciao a tutti.
Leggendo il manuale di sympy (non tutto ehh, sono 2350 pagine) ho capito un po di cose, poche rispetto alla dimensione del manuale ma sufficienti a superare questo scoglio.
Posto qui sotto il pezzo di codice (giusto se qualcuno si trovasse nella mia situazione) che ho corretto e che funziona a meraviglia.
Ci tenevo inoltre a ringraziarvi personalmente entrambi nuzzopippo e RicPol ma in particolar modo RicPol perche' e' stata la parola "prelevi" che mi ha acceso la lampadina.
Ecco il pezzo di codice.
def string_to_number(self):
           x = symbols('x')
           numeri = sympify(self.FUNZIONE_2.toPlainText()).subs(x,3).evalf(4)
     #     self.RISULTATO_2.setText(str(print(numeri)))
           self.RISULTATO_2.setText(str(numeri))
     #QUI FINISCE LA FUNZIONE



9
PyQT / Re:come utilizzare sympy in pyqt5
« il: Febbraio 18, 2020, 23:33 »
Grazie nuzzopippo e ricpol per le risposte.
Si nuzzopippo e' quello che hai detto.
Tutto e' partito da lontano, cerco di spiegare.
Avevo creato una macro in un programma che si chiama FreeCAD ed ad un certo punto volevo creare una finestra di dialogo dove poter inserire i parametri della macro senza dover ogni volta editarla, quindi ho creato la finestra con Qt designer e tutto funziona benissimo, l'unica cosa che mi costringeva ad editare la macro era il fatto di voler cambiare la funzione all'interno.
A questo punto per ovviare a questo "problema" ho voluto creare un'ulteriore Window box dove mi sarebbe piaciuto inserire l'espressione simbolica della funzione (ad esempio funzioni tipo x*x+3 oppure sin(x+1) etc. etc.).
Nel prosieguo di tentativo di risolvere questo punto il gentilissimo ricpol mi ha messo a conoscenza di questa libreria che si chiama sympy e a quel punto ho provato a leggere un tutorial ed a seguire gli esempi e sembrerebbe che questa libreria faccia al caso mio, ossia mi permette di inserire espressioni simboliche ed ottenere in corrispondenza di un determinato valore  x ad esempio,  il corrispondente numero.
A questo punto sono ritornato sul mio codice originario che ricpol ha correttamente indicato nel link e ho cercato, importando la libreria sympy a richiamare i suoi comandi all'interno.
Quel pezzo di codice che vedere sopra e' il mio tentativo di far quadrare le cose.
Sono perfettamente a conoscenza del fatto che Python non si impara in una notte e credo nemmeno in un anno e che dare martellate alla cieca non e' la via migliore per cercare risposte , noi tutti molte volte facciamo cose contro la logica ed io piu di molti altri, quindi siccome in tante occasioni per natura uso le mani molto di frequente e meno la testa vi chiedo umilmente di perdonare questa mia debolezza.
Allo stesso tempo pero' (sempre se interessati) vi prego di rispondere ai miei post perche' sono intimamente convinto del fatto che da ogni risposta si possa estrarre qualcosa di utile.
Grazie ancora del vostro aiuto.
Ciao.   

10
PyQT / come utilizzare sympy in pyqt5
« il: Febbraio 18, 2020, 07:26 »
Buongiorno a tutti
Avrei una domanda; ossia e' possibile importare la libreria sympy nella libreria pyqt5?
Per capirci meglio vorrei far interagire ad esempio l'oggetto PlainTextEdit oppure QLineEdit con I comandi della libreria sympy.
metto appena sotto due pezzettini piccoli piccoli di codice per Qt il primo e il secondo e' quello che vorrei fare
Grazie a tutti in anticipo.
#questa funzione ritorna un numero dall'inserimento di un numero dopo un'operazione matematica
    def collect_float(self):
           numeri = self.FUNZIONE_2.toPlainText()
           numeri = float(numeri)*2
           self.RISULTATO_2.setText(str(numeri))

questo sotto invece e' quello che vorrei fare
def string_to_number(self):
           numeri = sympify(self.FUNZIONE_2.toPlainText())
          numeri = float(subs(x,3).evalf())
     #     numeri.subs(x,3).evalf()
           self.RISULTATO_2.setText(str(numeri))

12
Ciao, grazie della risposta.
Da come presenti il minimo sindacale, sembra un contratto da operaio in una catena di montaggio FIAT.
Non ci provo col minimo sindacale!
Non so come si scrive un parser in Python, provero' a cercare una guida.
A proposito ho trovato SimPy e ho scoperto che e' una libreria; io credevo fosse un programma a se stante e quando ho messo in google simpy mi ha indirizzato a una casa di accoglienza per persone con disturbi mentali e cosi' ho pensato che volevi prendermi in giro, poi ho capito che era colpa mia.
Grazie della segnalazione e abbi pazienza se sono un lento a capire anzi lentissimo, mia madre mi ha detto che sono caduto dal divano a 7 mesi e ho avuto un bernoccolo per una settimana e poi faccio passi da gambero, due in avanti e tre indietro e anche quando ho capito poi mi dimentico e devo guardare gli appunti.
 Tuttavia sono sicuro che in una decina di anni se saro' in vita imparero' alcune basi di questo fantastico linguaggio.
Grazie ancora.
ciao.

13
Ciao.
Grazie mille per l'intervento.
Si uno degli scopi e' l'algebra applicata a...….
In partica cercavo di creare una window-box dove poter inserire stringhe del tipo X*X o cose del genere e ottenere in risposta su un altra window-box il risultato con I valori che avevo assegnato in precedenza a X. 
Mi dici cos'e' Simpsy, non l'ho mai sentito, io uso su Linux Maxima e GNUplot.
PS hai un'idea del perche' non riesco ad allegare un file .ui di 3Kb perche' mi dice che c'e' un errore di dimensione cartella?
Grazie mille dell'aiuto.
ciao

 

14
Base / Re:errore su file py
« il: Febbraio 16, 2020, 05:31 »
Grazie ho risolto;
la soluzione si trova nell'ultimo mio post https://forumpython.it/pyqt/come-ottenere-un-valore-da-una-stringa-a-cui-e'-stato-assegnato-un-valore/msg89040/#msg89040 insieme ad un altro problema relativo al post del link ma non influente sul funzionamento del codice

15
Salve a tutti, scusate il gioco di parole; provero' a descrivere meglio il problema.
Allora; ho costruito una finestra con PYQt5; la finestra appare correttamente e fa quello che deve fare.
Allego i tre file che compongono il lavoro.
file numero 1 che si chiama piano3.py;
file numero 2 che si chiama piano3Main.py
fine numero 3 che si chiama piano3.ui
questi tre files devono essere copiati dentro una cartella se si vuole creare la finestra.
una volta copiati apro nella consolle python il file piano3Main.py e lancio il run; la finestra appare.
Per come e' stato costruito il codice (che mi serve per capire una cosa che al momento non so) accetta solo valori inseriti nel box chiamato FUNZIONE.
Nel box chiamato FUNZIONE posso inserire numeri ( se collego la funzione preposta al bottone preposto ed a questo proposito basta cambiare nel connect button il nome della funzione che si vuole testare)
Nel box chiamato FUNZIONE posso inserire stringhe (quindi anche numeri) sempre ricordandomi di cambiare il nome della funzione nel connect button.
Allora a questo punto ho testato due funzioni; una che se inserisco un numero nel box mi restituisce un numero oppure il risultato matematico di una operazione che ho fatto fare al numero inserito; quindi qui la situazione e' di un numero che mi restituisce un numero.
Nell'altro caso ho una stringa che mi restituisce una stringa.

Ora il problema che mi pongo e' il seguente.
Supponiamo di aver definito una nuova funzione all'interno della quale ad esempio assegno a due variabili x e y i seguenti valori x=10 e y=10; ora supponiamo di voler scrivere nella box FUNZIONE la seguente cosa x+y*3 oppure sin(x)+cos(y) e di voler ottenere come risultato un numero che corrisponde al calcolo matematico di quelle funzioni; ossia nel caso scelga di scrivere x+y*3, vorrei poter visualizzare nell'altro box di RISULTATO il valore 40, cioe' (10+10*3).

qualunque idea ed aiuto e' sempre benvenuto.
grazie a tutti in anticipo.
PS per questioni pratiche e' meglio mantenere i nomi dei file cosi' come li ho impostati cosi' non bisogna modificare il codice.

file piano3.py
# -*- coding: utf-8 -*-

################################################################################
## Form generated from reading UI file 'piano2.ui'
##
## Created by: Qt User Interface Compiler version 5.14.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################

from PySide2.QtCore import (QCoreApplication, QMetaObject, QObject, QPoint,
    QRect, QSize, QUrl, Qt)
from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QFont,
    QFontDatabase, QIcon, QLinearGradient, QPalette, QPainter, QPixmap,
    QRadialGradient)
from PySide2.QtWidgets import *


class Ui_Dialog(object):
    def setupUi(self, Dialog):
        if Dialog.objectName():
            Dialog.setObjectName(u"Dialog")
        Dialog.resize(400, 300)
        self.larghezza = QLabel(Dialog)
        self.larghezza.setObjectName(u"larghezza")
        self.larghezza.setGeometry(QRect(40, 120, 47, 13))
        self.altezza = QLabel(Dialog)
        self.altezza.setObjectName(u"altezza")
        self.altezza.setGeometry(QRect(40, 50, 47, 13))
        self.piano = QLabel(Dialog)
        self.piano.setObjectName(u"piano")
        self.piano.setGeometry(QRect(40, 10, 47, 13))
        self.altezza_inserisci = QPlainTextEdit(Dialog)
        self.altezza_inserisci.setObjectName(u"altezza_inserisci")
        self.altezza_inserisci.setGeometry(QRect(100, 40, 61, 31))
        self.larghezza_inserisci = QPlainTextEdit(Dialog)
        self.larghezza_inserisci.setObjectName(u"larghezza_inserisci")
        self.larghezza_inserisci.setGeometry(QRect(100, 110, 61, 31))
        self.OK = QPushButton(Dialog)
        self.OK.setObjectName(u"OK")
        self.OK.setGeometry(QRect(70, 190, 75, 23))
        self.FUNZIONE_2 = QPlainTextEdit(Dialog)
        self.FUNZIONE_2.setObjectName(u"FUNZIONE_2")
        self.FUNZIONE_2.setGeometry(QRect(220, 50, 104, 71))
        self.FUNZIONE = QLabel(Dialog)
        self.FUNZIONE.setObjectName(u"FUNZIONE")
        self.FUNZIONE.setGeometry(QRect(230, 20, 71, 16))
        self.RISULTATO_2 = QTextEdit(Dialog)
        self.RISULTATO_2.setObjectName(u"RISULTATO_2")
        self.RISULTATO_2.setGeometry(QRect(220, 160, 104, 71))
        self.RISULTATO = QLabel(Dialog)
        self.RISULTATO.setObjectName(u"RISULTATO")
        self.RISULTATO.setGeometry(QRect(220, 140, 71, 16))

        self.retranslateUi(Dialog)

        QMetaObject.connectSlotsByName(Dialog)
    # setupUi

    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None))
        self.larghezza.setText(QCoreApplication.translate("Dialog", u"larghezza", None))
        self.altezza.setText(QCoreApplication.translate("Dialog", u"altezza", None))
        self.piano.setText(QCoreApplication.translate("Dialog", u"piano", None))
        self.OK.setText(QCoreApplication.translate("Dialog", u"OK", None))
        self.FUNZIONE.setText(QCoreApplication.translate("Dialog", u"FUNZIONE", None))
        self.RISULTATO.setText(QCoreApplication.translate("Dialog", u"RISULTATO", None))
    # retranslateUi

file piano3Main.py
###Be carefully you can test this functions only in the box called FUNZIONE
import sys
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QApplication, QDialog
from PyQt5.uic import loadUi

class MainPage(QDialog):
    def __init__(self):
        super(MainPage,self).__init__()
        loadUi('piano3.ui', self)
    #collego il bottone alla funzione
    #   self.OK.clicked.connect(self.la funzione che voglio collegare)
        self.OK.clicked.connect(self.collect_float)
       
    #QUESTA SOTTO SONO LE FUNZIONI

    #questa funzione ritorna un numero dall'inserimento di un numero dopo un'operazione matematica
    def collect_float(self):
           numeri = self.FUNZIONE_2.toPlainText()
           numeri = float(numeri)*2
           self.RISULTATO_2.setText(str(numeri))
    #QUI FINISCE LA FUNZIONE


    #questa funzione ritorna una stringa dall'inserimento di una stringa
    def collect_strings(self):
           parole = self.FUNZIONE_2.toPlainText()
           self.RISULTATO_2.setText(parole) 
     #QUI FINISCE LA FUNZIONE


"""
    def string_to_number(self):
           X = 10
           Y = 20
   
           parole = self.FUNZIONE_2.toPlainText()
           self.RISULTATO_2.setText(parole) 
     #QUI FINISCE LA FUNZIONE
"""

app = QApplication(sys.argv)
widget = MainPage()
widget.show()
sys.exit(app.exec_())

il file piano3.ui seguira' quando capisco come inviare allegati

Pagine: [1] 2