מטלב - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

מטלב


orninyo

Recommended Posts

למישהו יש רעיון מה אני צריך לעשות בלולאה? (בכדי לצייר את הקווים מקודקודי המשושה שמצוייר מראש לפני הלולאה עד נקודת הגובה) מצורפת השאלה.

function peramida(n ,h) 
hold on;
n=8;
h=3;
l=linspace(0,2*pi,n);
x=cos(l);
y=sin(l);
plot3(x,y,l);
for i=1 : n

end

[attachment deleted by admin]

קישור לתוכן
שתף באתרים אחרים

נתחיל מזה שזאת לא פונקציה כי יש אינסוף פירמידות העונות על ההגדרה: 8 צלעות וגובה שווה 3.

בצורה מתמטית פשוטה יש לך משוואה עם 3 נעלמים(שלושה מימדים) ורק שני משתנים

מה שאומר שאתה צריך לבחור איזשהו קבוע שיכול להיות למשל אורך היתר(אם מסתכלים על כל צלע והאנך H כעל משולש ישר זוית)

או אורך השוק השנייה, או הזוית בין המישור ובין הצלע.

אחר כך אתה מצייר את המצולע המשוכלל כאשר מרכזו הוא ראשית הצירים ומכל קודקוד אתה מותח ישר לקצה האנך H.

תשתמש בעובדה שסכום זויות פנימיות במצולע קמור הוא ((n-2

בעזרת קצת טריגו ואלגברה תוכל למצוא את כל הנקודות של המצולע על המישור

קישור לתוכן
שתף באתרים אחרים

אז זהו שטריגו זה עקב אכילס שלי.

הבעיה שאני לא יודע איך למצוא אתה קורדינטות של קודקודי המצולע שמהם אני צריך למתוח קו.

כל שאר האלגוריתם אין לי בעיה.

לפי התכנון שלי הלולאה FOR תתקדם כל פעם בזוית מסויימת ותמתח קו .

הבעיה היא לא מתיחת הקו, אלה איך אני מקדם את הזוית (טריגו) ועובר קודקוד קודקוד

קישור לתוכן
שתף באתרים אחרים

אתה יודע את סכום הזויות הפנימיות(נתתי לך נוסחא)

אתה מחלק במספר הצלעות/זויות ומקבל את הזוית בין כל שתי צלעות במצולע הבסיס

נניח ריבוע זה פאי חצי אז אתה יודע להוסיף את הוקטור הבא(יש לך גודל וכיוון)

קישור לתוכן
שתף באתרים אחרים

בסוף עשיתי דבר כזה ולא התעסקתי עם זויות :

function peramida(n ,h)
hold on;
l=linspace(0,2*pi,n+1);
x=cos(l);
y=sin(l);
plot(x,y);
for i=1 : n
plot3([x(i) 0],[y(i) 0],[0 h]);
end

וזה עובד מעולה.

אבל עדיין אני רוצה להבין את הקטע של הזויות

לפי קו המחשב שלי , הנוסחא לחישוב זוית היא 2pi/n*i (סכום הזויות חלקי מספר צלעות ו-i שמקדם אותה כל פעם)

רק שזה לא עבד ואשמח לדעת למה.

את הנוסחא שהבאת לי לא הבנתי.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...