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

คำถามคณิตศาสตร์ที่เกี่ยวข้องกับคณิตศาสตร์เรขาคณิตแคลคูลัสสูตรและการคำนวณอื่น ๆ ที่ใช้ในการพัฒนาเกม

2
การเคลื่อนไหวนั้นขึ้นอยู่กับอัตราเฟรมแม้จะใช้ Time.deltaTime
ฉันมีรหัสต่อไปนี้เพื่อคำนวณการแปลที่จำเป็นในการย้ายวัตถุเกมใน Unity ซึ่งเรียกว่าLateUpdateมา จากสิ่งที่ฉันเข้าใจการใช้งานของฉันTime.deltaTimeควรจะทำให้เป็นอิสระแปลสุดท้ายอัตราเฟรม (โปรดทราบCollisionDetection.Move()เป็นเพียงการแสดง raycasts) public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; model.CurrentSpeed = accelerateSpeed(model.CurrentSpeed, targetSpeed, model.Accel); if (model.IsJumping) { model.AmountToMove = new Vector3(model.AmountToMove.x, model.AmountToMove.y); } else if (CollisionDetection.OnGround) { model.AmountToMove = new Vector3(model.AmountToMove.x, 0); } model.FlipAnim = flipAnimation(targetSpeed); // If …

1
การบัญชีสำหรับคลื่นเมื่อทำการสะท้อนระนาบ
ฉันได้ศึกษาตัวอย่างของ Nvidia จาก SDK โดยเฉพาะโครงการIsland11และฉันพบบางสิ่งที่อยากรู้เกี่ยวกับรหัส HLSL ชิ้นหนึ่งซึ่งแก้ไขการสะท้อนขึ้นและลงตามสถานะความสูงของคลื่น โดยธรรมชาติหลังจากตรวจสอบย่อหน้าสั้น ๆ ของรหัส: // calculating correction that shifts reflection up/down according to water wave Y position float4 projected_waveheight = mul(float4(input.positionWS.x,input.positionWS.y,input.positionWS.z,1),g_ModelViewProjectionMatrix); float waveheight_correction=-0.5*projected_waveheight.y/projected_waveheight.w; projected_waveheight = mul(float4(input.positionWS.x,-0.8,input.positionWS.z,1),g_ModelViewProjectionMatrix); waveheight_correction+=0.5*projected_waveheight.y/projected_waveheight.w; reflection_disturbance.y=max(-0.15,waveheight_correction+reflection_disturbance.y); การคาดเดาครั้งแรกของฉันคือมันชดเชยการสะท้อนภาพถ่ายเมื่อถูกก่อกวนในแนวดิ่ง (คลื่น) ขยับเรขาคณิตที่สะท้อนกลับไปยังจุดที่ไม่มีอะไรเกิดขึ้นและน้ำจะปรากฏขึ้นราวกับว่าไม่มีอะไรอยู่หรือแค่ท้องฟ้า: ทีนี้, นั่นคือท้องฟ้าที่สะท้อนให้เห็นซึ่งเราควรเห็นการสะท้อนสีเขียว / เทา / เหลืองของภูมิประเทศที่ lerped กับแนวของน้ำ ปัญหาของฉันคือตอนนี้ฉันไม่สามารถระบุได้ว่าอะไรคือตรรกะที่อยู่เบื้องหลัง การคาดการณ์ตำแหน่งอวกาศของโลกที่แท้จริงของจุดของรูปคลื่น / น้ำแล้วคูณด้วย -.5f …

4
สร้างภูมิภาคที่เท่าเทียมกันในแผนที่ฐานสิบหก
ยกตัวอย่างเช่นแผนที่ฐานสิบหกขนาดใหญ่ (X โดย Y) ฉันจะแบ่งออกเป็นภูมิภาค N ของฐานสิบหกที่เชื่อมต่อกันเพื่อจำลองประเทศได้อย่างไร เป้าหมายคือการสร้างแผนที่ฐานสิบหกที่ดูเหมือนแผนที่ชีวิตจริงกับประเทศที่มีรูปร่างแตกต่างกัน แต่มีขนาดเท่ากัน

4
วิธีการตรวจจับเส้น 2D บนการชนกันของเส้น
ฉันเป็นนักพัฒนาเกมแอ็คชั่นแฟลชผู้ซึ่งย้อนหลังไปกับคณิตศาสตร์อยู่บ้าง แต่ฉันคิดว่าฟิสิกส์น่าสนใจและเท่ห์มาก สำหรับการอ้างอิงนี้เป็นเกมที่คล้ายกับเกมที่ฉันทำ: เกมแฟลชแก้ ฉันได้สร้างเกมที่ไม่พันกันนี้จนเกือบเต็มไปด้วยตรรกะ แต่เมื่อเส้นสองเส้นตัดกันฉันต้องการเส้นตัดเหล่านั้นหรือ 'พันกัน' เพื่อแสดงสีที่แตกต่างกัน สีแดง มันจะเป็นคนที่ใจดีจริงๆถ้าคุณสามารถแนะนำอัลกอริทึมสำหรับการตรวจจับการชนกันของส่วนของเส้น ฉันเป็นคนที่ชอบคิดว่า 'เห็น' มากกว่า 'เลขคณิต' :) แก้ไข: ฉันต้องการเพิ่มไดอะแกรมสองสามรายการเพื่อให้สื่อความคิดชัดเจนยิ่งขึ้น ป.ล. ฉันพยายามทำหน้าที่เป็น private function isIntersecting(A:Point, B:Point, C:Point, D:Point):Boolean ขอบคุณล่วงหน้า.

1
รับตำแหน่งของจุดบนเส้นรอบวงของวงกลมให้มุม?
ฉันต้องการทราบวิธีการรับจุดเฉพาะในเส้นรอบวงของวงกลมให้มุม เส้นผ่าศูนย์กลางของวงกลมคือ 1 { X: 0.5, Y: 0.5 }และจุดศูนย์กลางของวงกลมคือ
13 xna  c#  mathematics 

1
การทำแผนที่พื้นผิว UVW ทำงานอย่างไร
ฉันพยายามที่จะเข้าใจทฤษฎีทางคณิตศาสตร์ที่อยู่เบื้องหลังการทำแผนที่ UVW ทุกคนสามารถอธิบายได้ว่าการทำแผนที่ UVW ทำงานอย่างไร หรืออย่างน้อยก็ให้ฉันชี้?

5
ฉันจะแปลงจากพื้นที่พิกัดทั่วโลกเป็นพื้นที่ท้องถิ่นได้อย่างไร
กำหนดเอนทิตีที่ชื่อEntityAฉันต้องการกำหนดพื้นที่พิกัดเฉพาะที่ซึ่งตำแหน่งของEntityAเป็นจุดเริ่มต้นเวกเตอร์ส่วนหัวของมันคือแกน X และปกติของเวกเตอร์หัวเรื่องคือแกน Y: จากพิกัดโลกของพวกเขาฉันจะค้นหาตำแหน่งของเอนทิตี้อื่นในEntityAพื้นที่ท้องถิ่นได้อย่างไร ตัวอย่าง: EntityAตำแหน่งส่วนกลางของ (50,50) และตำแหน่งนั้นEntityBคือ (80,90) ตำแหน่งของEntityBในEntityAพื้นที่ท้องถิ่นคืออะไร? แก้ไข: กรุณาใช้คณิตศาสตร์ง่ายๆ

8
การแปลงเส้นโค้ง 2D เป็นจุดสำหรับการจัดเก็บข้อมูล
ฉันได้สร้างอัลกอริทึมที่แปลงเส้นโค้งใด ๆ เช่นเส้นทางเป็นจำนวนจุดต่ำสุดเพื่อให้ฉันสามารถบันทึกลงในไฟล์หรือฐานข้อมูล วิธีนี้ง่ายมาก: มันขยับสามจุดในขั้นตอนที่เท่ากันและวัดมุมระหว่างเส้นที่จุดเหล่านี้ก่อตัวขึ้น หากมุมมีขนาดใหญ่กว่าค่าความคลาดเคลื่อนก็จะสร้างเส้นโค้งลูกบาศก์ใหม่ไปยังจุดนั้น จากนั้นมันจะเลื่อนเส้นไปข้างหน้าและวัดมุมอีกครั้ง ... สำหรับผู้ที่รู้ว่า Android Path Class - โปรดทราบว่าdstPathเป็นคลาสที่กำหนดเองซึ่งบันทึกคะแนนลงใน Array เพื่อให้ฉันสามารถบันทึกคะแนนในภายหลังในขณะที่srcPathเป็นผลมาจากการรวมกันของภูมิภาคดังนั้นจึงไม่มีประเด็นสำคัญสำหรับฉัน เพื่อบันทึก. ปัญหาคือว่าวงกลมดูไม่ราบรื่นอย่างที่คุณเห็นในภาพนี้ผลิตโดยโค้ดด้านล่างซึ่งเส้นทางที่มาประกอบด้วยวงกลมและสี่เหลี่ยมผืนผ้าที่สมบูรณ์แบบ ฉันพยายามเปลี่ยนมุมความอดทนและความยาวของก้าว แต่ไม่มีอะไรช่วย ฉันสงสัยว่าคุณสามารถแนะนำการปรับปรุงอัลกอริทึมนี้หรือแนวทางอื่น แก้ไข: ฉันได้โพสต์รหัสทั้งหมดสำหรับผู้ที่ใช้ Android java เพื่อให้พวกเขาสามารถลองและทดลองได้อย่างง่ายดาย public class CurveSavePointsActivity extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new CurveView(this)); } class CurveView extends View{ Path srcPath, dstPath; Paint srcPaint = …

2
สูตรสำหรับฮีโร่ที่แข่งขันกันสามคนแต่ละคนมีหนึ่งที่พวกเขาสามารถเอาชนะได้และอีกคนที่พวกเขาพ่ายแพ้
ฉันพยายามออกแบบเกมสำหรับโครงการที่ฉันมีแนวคิดหลักคือ: 3 ประเภทของฮีโร่ 3 สถิติต่อฮีโร่ ไม่มีระดับที่เกี่ยวข้องดังนั้นความแตกต่างจะต้องอยู่ในสถิติ ตรรกะการต่อสู้ - ตรรกะของการต่อสู้คือ type1hero มีโอกาสดีที่จะได้รับ type2hero, type2hero มีโอกาสที่ดี type3hero และ type3hero มีโอกาสที่ดีที่จะได้รับ type1hero เป็นเวลากว่าหนึ่งสัปดาห์ที่ฉันพยายามค้นหาสูตรตามสถิติที่จะให้ฉันแก้ไขปัญหานี้ แต่ฉันทำไม่ได้ฉันกำลังยุ่งกับตัวเลขเมื่อวานนี้และมันก็ดี แต่ฉันไม่สามารถแยกสูตรออกมาได้ คุณช่วยแนะนำฉันหรือบอกฉันเกี่ยวกับวิธีที่ฉันจะเริ่มสร้างสูตรในเกม Non lvl ที่ตอบสนองตรรกะการต่อสู้ได้หรือไม่

2
ฉันกำลังมองหาการสร้างการเคลื่อนไหวของรถที่สมจริงโดยใช้เวกเตอร์
ฉันรู้วิธีการทำอย่างนี้และพบhttp://www.helixsoft.nl/articles/circle/sincos.htmนี้ฉันไปแล้ว แต่ฟังก์ชั่นส่วนใหญ่ที่แสดงไม่ทำงานฉันเพิ่งได้รับข้อผิดพลาด เพราะพวกเขาไม่อยู่ ฉันได้ดูฟังก์ชัน cos และ sin แต่ไม่เข้าใจวิธีใช้หรือวิธีการทำให้การเคลื่อนที่ของรถยนต์ทำงานอย่างถูกต้องโดยใช้เวกเตอร์ ฉันไม่มีรหัสเพราะฉันไม่แน่ใจว่าจะทำอย่างไรขอโทษ ความช่วยเหลือใด ๆ ที่ชื่นชม แก้ไข: ฉันมีข้อ จำกัด ที่ฉันต้องใช้เอ็นจิ้น TL สำหรับเกมของฉันฉันไม่ได้รับอนุญาตให้เพิ่มเอนจิ้นฟิสิกส์ประเภทใด จะต้องตั้งโปรแกรมใน c ++ นี่คือตัวอย่างของสิ่งที่ฉันได้จากการพยายามติดตามสิ่งที่ทำในลิงก์ที่ฉันให้ไว้ if(myEngine->KeyHeld(Key_W)) { length += carSpeedIncrement; } if(myEngine->KeyHeld(Key_S)) { length -= carSpeedIncrement; } if(myEngine->KeyHeld(Key_A)) { angle -= carSpeedIncrement; } if(myEngine->KeyHeld(Key_D)) { angle += carSpeedIncrement; } carVolocityX = cos(angle); carVolocityZ …

1
เกมเฮลิคอปเตอร์ 2 มิติวิธีสร้างกำแพงทางเดิน
ฉันกำลังมองหาการดัดแปลงเกม "เฮลิคอปเตอร์" แบบคลาสสิก (เช่นhttp://www.addictinggames.com/helicopter.html ) แต่ฉันยังไม่ได้หาวิธีสร้างเครื่องมือสร้างผนัง พอยน์เตอร์ใดใน pseudocode ฉันไม่ได้ให้ความสนใจกับวัตถุที่อยู่ตรงกลาง - เพียงวิธีการในการสร้างด้านที่เพิ่มขึ้นด้วยความยากลำบาก (ปิดในมากขึ้นมีเส้นโค้งที่ไม่คาดคิด) ในขณะที่เกมดำเนินไป

4
ฉันจะให้ตัวแทน AI ขยับไปตามทางโค้งได้อย่างไร
ในปัจจุบันกรอบ AI ขั้นพื้นฐานของฉันมีตัวแทนที่ย้ายไปตามเส้นทางที่ขรุขระซึ่งประกอบไปด้วยจุดต่าง ๆ พวกเขาทำได้โดยเพียงแค่ย้ายตำแหน่งจากจุดหนึ่งไปยังอีกจุดหนึ่ง เมื่อพวกเขามาถึงจุดต่อไปพวกเขาจะย้ายไปยังจุดต่อไปเรื่อย ๆ ฉันจะเปลี่ยนสิ่งนี้ได้อย่างไรเพื่อให้พวกเขาเคลื่อนที่อย่างราบรื่นไปตามเส้นทางที่โค้งและฉันจะสร้างเส้นโค้งได้อย่างไร

4
ตัวละครของฉันจะหยุดที่ไหน
หลายปีที่ผ่านมาฉันเขียน AI สำหรับเกมหลอก 3d มีการคำนวณหนึ่งครั้งที่ฉันไม่เคยคิดวิธีที่ดีที่สุดที่จะทำและนั่นคือการคำนวณที่ศัตรูจะจบลงถ้ามันหยุดตอนนี้ ตัวอย่างเช่น: ศัตรูอยู่ที่ X = 540.0 ศัตรูเคลื่อนที่ไปทางขวาที่ 10 พิกเซลต่อเฟรม เมื่อศัตรูต้องการหยุดความเร็วก็จะลดลง 1 พิกเซลต่อเฟรมจนกว่าจะถึงศูนย์ มีสูตรง่าย ๆ ที่จะให้ฉันอยู่ในตำแหน่งที่ศัตรูลงเอยเมื่อเขาหยุดเต็มที่หรือไม่? ฉันสิ้นสุดการคำนวณล่วงหน้าและฮาร์ดโค้ดออฟเซ็ตซึ่งทำงานได้ตามความต้องการของฉัน แต่จะต้องคำนวณแยกต่างหากสำหรับศัตรูที่มีความเร็วแตกต่างกัน

4
GLM: มุมออยเลอร์ถึงควอเทอร์เนียน
ฉันหวังว่าคุณจะรู้คณิตศาสตร์ GL ( GLM ) เพราะฉันมีปัญหาฉันไม่สามารถทำลาย: ฉันมีชุดของออยเลอร์แองเกิ้ลและฉันจำเป็นต้องทำการแก้ไขอย่างราบรื่นระหว่างพวกเขา วิธีที่ดีที่สุดคือแปลงพวกมันเป็นQuaternionsและใช้SLERP alrogirthm ปัญหาที่ฉันมีคือวิธีการเริ่มต้น glm :: quaternion กับ Euler Angles ได้ไหม? ฉันอ่านเอกสาร GLM ครั้งแล้วครั้งเล่าแต่ฉันไม่สามารถหาที่เหมาะสมQuaternion constructor signatureได้ซึ่งต้องใช้เวลาสามมุมของออยเลอร์ ที่ใกล้เคียงที่สุดที่ฉันพบคือ ฟังก์ชั่นangleAxis ()รับค่ามุมและแกนสำหรับมุมนั้น หมายเหตุโปรดสิ่งที่ฉันกำลังมองหา si RotX, RotY, RotZทางวิธีการแยก สำหรับข้อมูลของคุณนี่คือลายเซ็นของฟังก์ชันangleAxis () ที่ เป็น metnioned ด้านบน: detail::tquat< valType > angleAxis (valType const &angle, valType const &x, valType const &y, valType …

4
ตัวอย่างเคลื่อนไหวของสูตรการแก้ไขที่แตกต่างกัน: ลิงค์ใด ๆ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันจำได้ว่ามีลิงก์ไปยังหน้าเว็บขนาดใหญ่ที่มีสมการที่แตกต่างกันไปยังส่วนที่ไม่ใช่การแก้ไขเชิงเส้นตรงเช่นถ้าคุณต้องการหยุดรถอย่างราบรื่น ฯลฯ บางครั้งสิ่งเหล่านั้นอาจมีประโยชน์ในการเลียนแบบพฤติกรรมการเร่งความเร็ว / ความเร็วในโลกแห่งความเป็นจริงโดยไม่ต้องอาศัยกลไกทางฟิสิกส์ซึ่งสามารถทำให้รหัสง่ายขึ้น ความคิดใดที่หน้านี้อยู่ที่ไหน? ฉันไม่สามารถให้คำหลักที่เหมาะสมแก่ Google ... แก้ไข: ฉันเพิ่งค้นหาบุ๊กมาร์กแล็ปท็อปก่อนหน้าของฉันและฉันพบ: http://sol.gfxile.net/interpolation/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.