עבור לתוכן

שרטוט כדור ב-C++ !

Featured Replies

פורסם

אני מחפש קוד לשרטוט כדור ב-C++, אשמח לקבל עזרה בכל דרך שהיא.

בתודה מראש!

פורסם

אתה מדבר על שרטוט כדור תלת מימדי, עם תאורה וכו'?

פורסם
  • מחבר

אני מדבר על כדור תלת מימדי. מה זאת אומרת תאורה?

פורסם

כשאתה מדבר על תלת מימדי, חייבת להיות תאורה כדי שתהיה משמעות לזה שזה כדור.

הרי אם אתה מצייר כדור בצבע מסויים, והצבע על פניו אחיד, אז למעשה ציירת עיגול.

אתה צריך שיהיה איזור בוהק יותר, איזור כהה יותר וכו'.

לחילופין, אתה יכול לעשות את הכדור עם דפוס מסויים, כמו למשל משבצות שחור לבן. ואז מעצם העיוות של הדפוס רואים שזה כדור ולא עיגול.

אפשרות נוספת היא לצייר "שלד" של הכדור...

אז כשאתה כותב לשרטט כדור, למה בדיוק אתה מתכוון?

פורסם

OpenGL is you're friend.

http://nehe.gamedev.net

רק שתדע שלתכנת כדור יקח לך שנים, קוד עצום, כיוון שכדור הוא בסופו של דבר אוסף עצום של פוליגונים. ככל שיש יותר הכדור יראה יותר "כדורי".

יש לך בעצם שני ברירות, או לתכנת כדור שלם בקוד של פוליגונים עם קורדינאטות, או לבנות קוד שיכול לקרוא מודלים של 3Dsm למשל.

פורסם

OpenGL is you're friend.

http://nehe.gamedev.net

רק שתדע שלתכנת כדור יקח לך שנים, קוד עצום, כיוון שכדור הוא בסופו של דבר אוסף עצום של פוליגונים. ככל שיש יותר הכדור יראה יותר "כדורי".

יש לך בעצם שני ברירות, או לתכנת כדור שלם בקוד של פוליגונים עם קורדינאטות, או לבנות קוד שיכול לקרוא מודלים של 3Dsm למשל.

מה? לתכנת ייקח שנים? על מה אתה מדבר?

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

אגב, ב- OpenGL יש לך את הפונקציה gluSphere, שמקבלת את מספר הסגמנטים הרוחביים ומספר קווי האורך.

פורסם
  • מחבר

[

רק שתדע שלתכנת כדור יקח לך שנים, קוד עצום, כיוון שכדור הוא בסופו של דבר אוסף עצום של פוליגונים. ככל שיש יותר הכדור יראה יותר "כדורי".

יש לך בעצם שני ברירות, או לתכנת כדור שלם בקוד של פוליגונים עם קורדינאטות, או לבנות קוד שיכול לקרוא מודלים של 3Dsm למשל.

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

פורסם

אגב, גם לבנות כדור כזה לבד זה לא כזה מסובך. (עשיתי פעם Lathe, וזה מקרה פרטי ודי פשוט שלו)

פורסם

אילו מתודות צריך להיות לכדור?

ואילו מאפיינים?

אולי אני אבנה אחד.

ולמה לא לעשות מרכז ורדיוס?

פורסם
  • מחבר

אילו מתודות צריך להיות לכדור?

ואילו מאפיינים?

אולי אני אבנה אחד.

ולמה לא לעשות מרכז ורדיוס?

שאלות טובות...אם הייתי יודע, אני מניח שלא הייתי כאן ... ::)

פורסם

לכדור, כאובייקט יש רדיוס.

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

שממדלים כדור ע"י פוליגונים יש גם למודל פרמטרים, תלוי איך בונים אותו.

הדרך הקלה היא ע"י אובייקט סיבוב (Lathe) שבו בעצם בונים קשת כקו אורך ממספר מסויים של קודקודים, ואז משכפלים את הקשת סביב מרכז הכדור, ויוצרים את ה- faces שביניהם.

יש גם מודל שנקרא GeoSphere שבו כל ה- faces הם משולשים שוים בגודל, אבל אני לא יודע איך בונים אותו.

פורסם
  • מחבר

אין לאף אחד קוד של כדור ? :'(

אולי רק מעגל פשוט ונחמד ? ::)

פורסם

אם אתה רוצה רק לצייר אתה יכול לצייר מעגלים שהופכים להיות בהירים יותר ויותר לקראת האמצע.

פורסם
  • מחבר

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

פורסם


#define ic 10
#define r 100
int i;

for(i=ic;i>0;i--)
{
color(255/i, 0, 0);
circle(midx-0.75*(ic-i), midy-0.75*(ic-i), r/(ic-i+1));
}

לא בדקתי את זה, אך אני מניח שזה פועל. הפונ color משנה את הצבע שבה העיגול יצוייר(מקבל RGB). הפונ עיגול מציירת עיגול מלא במיקום 2 הפרמטרים הראשונים, וברדיוס הפרמטר השלישי. פונ אלה צריכות להיות ממומשות בסביבת העבודה שלך(או אם אתה משתמש בDX או בOPENGL).

שוב, לא בטוח שזה יעבוד, ויכול להיות שסתם רשמתי שם שטויות(לא בדקתי את זV).

ארכיון

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

דיונים חדשים