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

10
จะตรวจสอบว่า 4 คะแนนเป็นสี่เหลี่ยมได้อย่างไร?
สมมติว่าฉันมี 4 คะแนน (เป็น 2 มิติ) ซึ่งแตกต่างจากกันและฉันต้องการทราบว่าพวกเขาเป็นรูปสี่เหลี่ยมจัตุรัสหรือไม่ ทำอย่างไร? (ให้กระบวนการง่ายที่สุดเท่าที่จะทำได้)

2
วิธีคำนวณการหมุนรูปได้อย่างมีประสิทธิภาพ
ฉันมีรูปที่แสดงผ่านเมทริกซ์ของไบต์ (เมทริกซ์บิตแมปเหมือน) ตัวอย่างรูปที่Picture 1ถูกแสดงบน เป้าหมายคือการหามุมการหมุนที่ดีที่สุดของให้บางรูป เมื่อรูปถูกหมุนด้วยมุมที่ดีที่สุดสี่เหลี่ยมที่ขนานกับแกน X และ Y และจารึกรูปที่มีพื้นที่ที่เล็กที่สุด รูปสี่เหลี่ยมที่จารึกรูปจะแสดงเป็นสีเทาอ่อนบนรูปภาพ ในการPicture 2, คุณจะเห็นว่าการหมุนในอุดมคติของรูปเป็นประมาณ 30 องศาตามเข็มนาฬิกา ทีนี้ฉันรู้ว่าอัลกอริธึมจะหามุมนี้อย่างไร แต่สำหรับฉันมันไม่มีประสิทธิภาพมาก มันจะเป็นเช่นนี้: วนมุมจาก 0 ถึง 45 สำหรับมุมปัจจุบันสำหรับทุกจุดตัวเลขให้คำนวณตำแหน่งใหม่หมุนได้ ค้นหาขอบเขตของสี่เหลี่ยมผืนผ้าที่มีรูป (ต่ำสุดและสูงสุด x, y) และลงทะเบียนถ้ามันเป็นการจับคู่ที่ดีที่สุด มุมถัดไป นี่เป็นวิธีการบังคับแบบเดรัจฉานและทำงานได้ดีและรวดเร็วสำหรับคนร่างเล็ก อย่างไรก็ตามฉันต้องทำงานกับตัวเลขที่มีมากถึง 10 ล้านคะแนนและอัลกอริทึมของฉันช้า อัลกอริทึมที่ดีสำหรับปัญหานี้คืออะไร

5
ค้นหาแบบที่ใกล้ที่สุดที่ดีที่สุดสำหรับวงกลม
ด้านล่างเป็นภาพตัวอย่างถ้าฉันมีจุดสีขาวตรงกลางและฉันต้องการค้นหาตำแหน่งที่ใกล้ที่สุดสำหรับวงกลมสีน้ำเงิน (ซึ่งเห็นได้ชัดว่าอยู่ในตำแหน่งที่ฉันวางไว้) ถ้าวงกลมสีแดงทั้งหมดมีอยู่แล้ว . ฉันจะหาตำแหน่งนั้นได้อย่างไร ประสิทธิภาพสำหรับฉันไม่ใช่สิ่งสำคัญสำหรับแอปพลิเคชันนี้

2
ค้นหาพิกัดใหม่โดยใช้จุดเริ่มต้นระยะทางและมุม
ตกลงว่าฉันมีจุดประสานงาน var coordinate = { x: 10, y: 20 }; ตอนนี้ฉันมีระยะทางและมุมหนึ่ง var distance = 20; var angle = 72; ปัญหาที่ฉันพยายามแก้ไขคือถ้าฉันต้องการเดินทาง 20 คะแนนในทิศทางของมุมจากพิกัดเริ่มต้นฉันจะค้นหาพิกัดใหม่ของฉันได้อย่างไร ฉันรู้ว่าคำตอบนั้นเกี่ยวข้องกับสิ่งต่าง ๆ เช่นไซน์ / โคไซน์เพราะฉันเคยรู้วิธีการทำสิ่งนี้ แต่ฉันลืมสูตรไปแล้ว ใครช่วยได้บ้าง

5
วิธีการเปรียบเทียบคุณสมบัติของสองเส้นโค้ง?
ฉันต้องเปรียบเทียบสองเส้นโค้ง f (x) และ g (x) พวกเขาอยู่ในช่วง x เดียวกัน (พูด -30 ถึง 30) f (x) อาจมียอดแหลมหรือยอดแหลมและหุบเขาที่ราบเรียบ g (x) อาจมีจุดสูงสุดและหุบเขาเหมือนกัน ถ้าเป็นเช่นนั้นฉันต้องการวัดว่าคุณสมบัติเหล่านี้ตรงกันมากเพียงใดโดยไม่มีการตรวจสอบด้วยภาพ ฉันพยายามแก้ไขปัญหาด้วยวิธีต่อไปนี้ ทำให้ทั้งสองฟังก์ชั่นปกติด้วยการหารแต่ละจุดข้อมูลตามพื้นที่รวมของฟังก์ชั่น ตอนนี้พื้นที่ของฟังก์ชั่นปกติคือ 1.0 ในแต่ละ x รับค่าต่ำสุดจาก f (x) และ g (x) นี่จะทำให้ฉันมีฟังก์ชั่นใหม่ที่เป็นพื้นซ้อนกันระหว่าง f (x) และ g (x) เมื่อฉันรวมฟังก์ชั่นที่เกิดขึ้นของขั้นตอนที่ 2 ฉันได้รับพื้นที่ทับซ้อนทั้งหมดจาก 1.0 อย่างไรก็ตามสิ่งนี้ไม่ได้บอกฉันว่ายอดเขาและหุบเขาตรงกับหรือไม่ ฉันไม่แน่ใจว่าสิ่งนี้สามารถทำได้ แต่ถ้ามีคนรู้วิธีฉันจะขอบคุณความช่วยเหลือของคุณ == แก้ไข == สำหรับการชี้แจงฉันได้รวมภาพ ความแตกต่างระหว่างเส้นโค้งทั้งสอง …
11 geometry 

1
โปรแกรมเมอร์กราฟิกจะจัดการกับการแสดงจุดยอดที่ไม่เปลี่ยนภาพได้อย่างไร
ดังนั้นชื่อค่อนข้างอึดอัดใจ ฉันจะให้พื้นหลังแล้วถามคำถามของฉัน ความเป็นมา : ฉันทำงานเป็นนักพัฒนาแอปพลิเคชั่นเว็บGISแต่ในเวลาว่างฉันเล่นกับการเรนเดอร์แผนที่และปรับปรุงรูปแบบการแลกเปลี่ยนข้อมูล ฉันทำงานในพื้นที่ 2D เท่านั้น ปัญหาที่น่าสนใจอย่างหนึ่งที่ฉันได้พบก็คือเมื่อคุณแสดงรูปหลายเหลี่ยมในขนาดเล็ก (ซูมออก) จุดยอดเยี่ยมจำนวนมากซ้ำซ้อนกัน กรณีที่รุนแรงคือคุณมีรูปหลายเหลี่ยมที่มี 500,000 จุดยอดที่ใช้พิกเซลเดียวเท่านั้น หากคุณกำลังส่งข้อมูลนี้ไปยังเบราว์เซอร์มันจะเป็นการไม่เหมาะสมที่จะละเว้นจุดยอดเหล่านั้น ~ 499,999 วิธีหนึ่งที่เราสามารถทำได้คือการแสดงภาพบนเซิร์ฟเวอร์และส่งเป็น PNG: voila มันเป็นประเด็น อย่างไรก็ตามบางครั้งเราต้องการข้อมูลที่ส่งไปยังเบราว์เซอร์ซึ่งสามารถแสดงผลด้วย SVG (หรือแคนวาสหรือผ้าใบหรือ webgl) เพื่อให้สามารถโต้ตอบได้ ปัญหา : ปรากฎว่าการใช้ชุดข้อมูลทางภูมิศาสตร์สมัยใหม่มันง่ายเกินความสามารถในการแสดงผลของ SVG ในความพยายามที่จะรับมือกับข้อ จำกัด เหล่านั้นฉันพยายามที่จะหาวิธีลดขนาดข้อมูลที่ตั้งไว้ตามขนาดและขอบเขตของแผนที่ (และถ้าจำเป็นสำหรับความกว้างและความสูงของพิกเซลแผนที่ที่ทราบ) ฉันลดขนาดข้อมูลลงอย่างมากเพียงแค่ใช้อัลกอริทึม Douglas-Peuckerและฉันเชื่อว่าฉันสามารถทำให้รูปหลายเหลี่ยมเป็นจริงได้ภายในหนึ่งพิกเซล แต่น่าเสียดายที่ Douglas-Peucker ไม่รักษาโทโพโลยีดังนั้นจึงเปลี่ยนวิธีการแสดงเส้นขอบระหว่างรูปหลายเหลี่ยม ฉันไม่สามารถหาอัลกอริทึมอื่น ๆ เพื่อทดลองและปรับให้เข้ากับวัตถุประสงค์ได้อย่างง่ายดาย แต่ฉันมีพื้นหลัง CS / อัลกอริทึมไม่มากและอาจจำไม่ได้ถ้าฉันเห็นพวกเขา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.