คำถามติดแท็ก angles

4
ทำไมเรเดียนจึงเป็นที่ต้องการมากกว่าระดับในการพัฒนาเกม
ฉันค้นหาคำจำกัดความของเรเดียนและพบว่านักคณิตศาสตร์ชอบพวกเขาเพราะพวกเขามาจากไพแทนที่จะเป็นพลอย่างสมบูรณ์เช่นองศา อย่างไรก็ตามฉันไม่พบเหตุผลที่น่าสนใจที่จะใช้พวกเขาในการพัฒนาเกมอาจเป็นเพราะการขาดความเข้าใจทางคณิตศาสตร์ที่เกี่ยวข้องทั้งหมดของฉัน ฉันรู้ว่าฟังก์ชัน sin / cos / tan ส่วนใหญ่ในภาษาที่เรเดียน แต่บางคนก็สามารถสร้างฟังก์ชั่นห้องสมุดเป็นองศา (และหลีกเลี่ยงข้อผิดพลาดในการปัดเศษโดยธรรมชาติเมื่อใช้ pi) ฉันไม่ต้องการให้สิ่งนี้เป็นแบบสำรวจความคิดเห็นฉันต้องการได้ยินจากคนที่พัฒนาเกม (และการวิจัยทางคณิตศาสตร์ที่เกี่ยวข้อง) ซึ่งเรเดียนเสนอประสบการณ์ที่เหนือกว่าในระดับที่ต่างจาก "เราใช้เรเดียน เพราะเรามักจะใช้มัน "เพื่อประโยชน์ในการช่วยเหลือฉัน (และคนอื่น ๆ ) ที่จะเข้าใจในสิ่งที่ดีสำหรับพวกเขา

2
มุมมองมุมมองของเกมภาพสามมิติ 2.5D ส่วนใหญ่คืออะไร [ปิด]
ฉันตรวจสอบเกมยอดนิยมหลายเกมเพื่อตัดสินว่าพวกเขาใช้มุมมองแบบไหน เพื่อจุดประสงค์ฉันสร้างกริดที่มีมุมมองภาพสามมิติ 45 และ 60 องศาและวางลงบนหน้าจอ (ของ Diablo II ในกรณีนี้) ไม่มีกริดเหล่านี้ที่เหมาะสมกับมุมมองของเกม ดังนั้นฉันจึงพยายามค้นหามุมที่เหมาะสมที่สุดกับมุมมองและใกล้เคียงกับ 53.5 องศา อย่างไรก็ตามตัวเลขนี้ดูเหมือนว่ามาจากที่ไหนเลยและฉันเชื่อว่ามีตรรกะที่แข็งแกร่งที่อยู่เบื้องหลังจำนวนที่กำหนดมุมมอง ฉันลอง 9/16 * 90 องศาและ 3/4 * 90 องศา (มาจากอัตราส่วนของความละเอียดหน้าจอ 16: 9 และ 4: 3) แต่ดูเหมือนว่าสมมติฐานของฉันจะไม่ถูกต้อง นี่คือภาพหน้าจอของสิ่งที่ฉันหมายถึง: 60 องศา 45 องศา บางอย่างระหว่างสอง - 53.5 องศา - ค่อนข้างใกล้เคียงกับจำนวนจริง ฉันต้องรู้จริงๆว่าองศาที่แท้จริงคืออะไรและมาจากไหน ความช่วยเหลือใด ๆ ที่เป็นที่นิยมมาก! ขอขอบคุณ!

12
การเปรียบเทียบมุมและหาความแตกต่าง
ฉันต้องการเปรียบเทียบมุมและรับทราบระยะห่างระหว่างพวกเขา สำหรับแอปพลิเคชันนี้ฉันทำงานเป็นองศา แต่ก็สามารถใช้ได้กับเรเดียนและบัณฑิต ปัญหาเกี่ยวกับมุมคือพวกมันขึ้นอยู่กับเลขคณิตจำเพาะเช่น 0-360 องศา สมมติว่ามุมหนึ่งอยู่ที่ 15 องศาและมุมหนึ่งคือ 45 ความแตกต่างคือ 30 องศาและมุม 45 องศามากกว่า 15 องศา แต่นี่จะหยุดลงเมื่อคุณพูด 345 องศาและ 30 องศา แม้ว่าจะเปรียบเทียบอย่างเหมาะสม แต่ความแตกต่างระหว่างพวกเขาคือ 315 องศาแทนที่จะเป็น 45 องศาที่ถูกต้อง ฉันจะแก้ปัญหานี้ได้อย่างไร ฉันสามารถเขียนรหัสอัลกอริทึม: if(angle1 > angle2) delta_theta = 360 - angle2 - angle1; else delta_theta = angle2 - angle1; แต่ฉันต้องการทางออกที่หลีกเลี่ยงการเปรียบเทียบ / สาขาและอาศัยเลขคณิตทั้งหมด

2
วิธีการแยกมุมออยเลอร์จากเมทริกซ์การแปลง?
ฉันมีความเข้าใจง่าย ๆ เกี่ยวกับเอ็นจิ้นเกมเอนทิตี / องค์ประกอบ องค์ประกอบการแปลงมีวิธีการในการกำหนดตำแหน่งท้องถิ่นการหมุนในท้องถิ่นตำแหน่งทั่วโลกและการหมุนทั่วโลก หากการแปลงกำลังถูกกำหนดตำแหน่งใหม่ระดับโลกดังนั้นตำแหน่งในท้องถิ่นก็จะเปลี่ยนแปลงเช่นกันเพื่ออัปเดตตำแหน่งในกรณีเช่นนี้ฉันแค่ใช้การแปลงเมทริกซ์โลคอลปัจจุบันไปยังเมทริกซ์การแปลงของผู้ปกครอง ก่อนหน้านี้ฉันไม่มีปัญหาฉันสามารถรับเมทริกซ์การแปลงเฉพาะที่ได้ แต่ฉันกำลังดิ้นรนกับวิธีอัปเดตตำแหน่งในท้องถิ่นและค่าการหมุนในการแปลงสภาพ ทางออกเดียวที่ฉันมีในใจคือการแยกค่าการแปลและการหมุนจาก localMatrix ของการแปลง สำหรับการแปลมันค่อนข้างง่าย - ฉันแค่เอาค่าคอลัมน์ที่ 4 แต่การหมุนคืออะไร วิธีการแยกมุมออยเลอร์จากเมทริกซ์การแปลง? วิธีแก้ปัญหานั้นถูกต้องหรือไม่: เพื่อหาการหมุนรอบแกน Z เราสามารถหาความแตกต่างระหว่างเวกเตอร์แกน X ของ localTransform และเวกเตอร์แกน X ของ parent.localTransform และเก็บผลลัพธ์ในเดลต้าแล้ว: localRotation.z = atan2 (Delta.y, Delta .x); เช่นเดียวกับการหมุนรอบ X & Y เพียงแค่ต้องสลับแกน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.