Εσωτερικό Γινόμενο Δυο Διανυσμάτων
#1
Στο χώρο δύο διαστάσεων έχουμε δύο διανύσματα a και b με αρχή το σημείο (0,0) των αξόνων και τέλος τα σημεία με καρτεσιανές συντεταγμένες a1, a2 και b1, b2 αντίστοιχα (στους άξονες x και y όπως δείχνει το σχήμα).
[Image: MP_1.png]
Η γωνία θ που σχηματίζουν τα δύο διανύσματα μεταξύ τους έχει συνημίτονο που δίνεται από τον τύπο:
Η 
[Image: MP_2.png]
Όπου:
Όπου:
[Image: MP_3.png][Image: MP_4.png][Image: MP_5.png]
Γράψτε πρόγραμμα που να διαβάζει από το πληκτρολόγιο τις τιμές των a1, a2 και b1, b2 και να υπολογίζει το συνημίτονο της γωνίας θ (ονομάστε το costh) και τη γωνία θ σε μοίρες (ονομάστε την goniath). Το πρόγραμμά σας να εμφανίζει τις τιμές των costh και goniath στην οθόνη

ΠΡΟΣΟΧΗ στα ΟΝΟΜΑΤΑ

Χρησιμοποιείστε ΟΠΩΣΔΗΠΟΤΕ τα παρακάτω ονόματα αλλιώς ο κώδικάς σας δεν θα βαθμολογηθεί:

a1, a2 και b1, b2 για τις συντεταγμένες των διανυσμάτων a και b όπως δείχνει το σχήμα
costh για το συνημίτονο της γωνίας θ
goniath για τη γωνία θ
ΥΠΟΔΕΙΞΕΙΣ
Θυμηθείτε και χρησιμοποιήστε τη βιβλιοθήκη math
Θεωρούμε πως ο χρήστης πληκτρολογεί πάντοτε αριθμητικές τιμές (ακέραιες ή πραγματικές) και δεν χρειάζεται ο κώδικάς σας να κάνει κάποιον πρόσθετο έλεγχο.
Επίσης θεωρούμε πως ο χρήστης δίνει τιμές στα a1, a2 και b1, b2 μη μηδενικές ώστε να μην προκύψει διαίρεση με μηδέν στον παρονομαστή στον τύπο του συνημιτόνου. Επομένως δεν χρειάζεται να κάνετε κάτι γι αυτό το θέμα.
Προσέξτε ότι το a.b ΔΕΝ σημαίνει πολλαπλασιασμό “a επί b”. Απλά είναι συμβολισμός του εσωτερικού γινομένου των διανυσμάτων. Μπορείτε εύκολα να το υπολογίσετε από τον τύπου που δίνουμε.
Επίσης προσέξτε ότι στον παρονομαστή του τύπου για το συνημίτονο έχουμε γινόμενο των μέτρων των διανυσμάτων, δηλ. |a| επί |b|, όπου τα μέτρα θα υπολογιστούν από τους τύπους που σας δίνουμε.
Τέλος προσέξτε ότι ζητάμε τη γωνία θ σε μοίρες (όχι ακτίνια). Προσέξτε τις πληροφορίες στη βιβλιοθήκη math.

======================================================================================================

Μια αντιμετώπιση είναι η ακόλουθη

Code:
import math

# Εισαγωγή τιμών από το χρήστη
a1 = float(input("Δώσε την τιμή του a1: "))
a2 = float(input("Δώσε την τιμή του a2: "))
b1 = float(input("Δώσε την τιμή του b1: "))
b2 = float(input("Δώσε την τιμή του b2: "))

# Υπολογισμός εσωτερικού γινομένου των διανυσμάτων a και b
dot_product = a1 * b1 + a2 * b2

# Υπολογισμός των μέτρων των διανυσμάτων
a_magnitude = math.sqrt(a1**2 + a2**2)
b_magnitude = math.sqrt(b1**2 + b2**2)

# Υπολογισμός του συνημιτόνου της γωνίας θ
costh = dot_product / (a_magnitude * b_magnitude)

# Υπολογισμός της γωνίας θ σε μοίρες
goniath = math.degrees(math.acos(costh))

# Εμφάνιση αποτελεσμάτων
print(f"Το συνημίτονο της γωνίας θ είναι: {costh}")
print(f"Η γωνία θ σε μοίρες είναι: {goniath}")
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)