---
title: "Kollisionsdetektering"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/101811-kollisionsdetektering"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "spango"
published: "2004-04-19T08:31:33.000Z"
updated: "2004-04-19T10:57:28.000Z"
replies: 6
views: 350
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/101811-kollisionsdetektering"
---

# Kollisionsdetektering

## #1 — spango, 2004-04-19T08:31Z

OK. Anta att jag har en rektangel vars hörn finns på (5,0), (0,5) (10,5) och (10,10). Hur kan jag då avgöra om en punkt finns inom denna rektangel? (Se bildexempel om ni är för korkade att haja ;) Hur avgör jag programmatiskt att de gröna punkterna finns i rektangeln och de röda inte gör det?)

Bilagor:

- [rektangel.png](https://www.webforum.nu/a/3307.png)

Permalänk: https://www.webforum.nu/p/101811

## #2 — Engine^, 2004-04-19T08:41Z

Tro om [denna länk](http://www.stanford.edu/~jgao/collision-detection.html) kan hjälpa dig något.

Permalänk: https://www.webforum.nu/p/1326491

## #3 — PeW, 2004-04-19T08:46Z

Endera jmfr du koordinaterna rakt av som tuplar eller så definierar du rektangeln som en region med inbyggd funktionalitet för koordinatjämförelse (vilket iofs blir att jämföra tuplar, men på ett snyggare sätt).

Permalänk: https://www.webforum.nu/p/1326493

## #4 — spango, 2004-04-19T09:13Z

**Engine^** &raquo; Been there, done that, bought the t-shirt... har inte kollat igenom alla länkar men jag tror inte att svaret finns där.

**PeW** &raquo; Hm, jag hänger inte med helt, men jag tar det som att det inte finns någon "snygg" formel (=konstant tid) för att avgöra om en punkt ligger i en rektangel med godtycklig orientering? Så man får kolla punkt för punkt i stället (ev. listigt beskuret)?

Permalänk: https://www.webforum.nu/p/1326509

## #5 — PeW, 2004-04-19T09:22Z

Men du har ju tuplar som definierar koordinaterna i hörnen på rektangeln och du har tuplar som definierar punkter. Så du behöver knappast kolla alla koordinater i rektangeln (vilket suger cpu om rektangeln är stor), utan det bör räcka att kolla mot de intervall som hörn mot hörn definierar. Dvs:
\- Är punkten ovan för rektangelns övre linje (hörn-\>hörn)?
\- Är punkten under rektangelns nedre linje (hörn-\>hörn)?
...o.s.v

> PeW » Hm, jag hänger inte med helt, men jag tar det som att det inte finns någon "snygg" formel (=konstant tid) för att avgöra om en punkt ligger i en rektangel med godtycklig orientering? Så man får kolla punkt för punkt i stället (ev. listigt beskuret)?

Nja. Det beror på vilken abstraktionsnivå du menar. Till en del högnivåspråk som exempelvis haskell, tcl/tk m.fl  finns det grafikrutiner som inkluderar en enkelhet i form av regioner och shapes som ger detta. Men i botten är det ju ungefär som jag ovan skrev.

Permalänk: https://www.webforum.nu/p/1326513

## #6 — spango, 2004-04-19T10:05Z

OK... hm. Ska försöka smälta det här lite (all min C-matte har runnit rakt ut ur skallen). Återkommer med en statusrapport...

Permalänk: https://www.webforum.nu/p/1326536

## #7 — spango, 2004-04-19T10:57Z

Jaha... när man tittar bort har naturligtvis kollegan löst det hela genom att skita i att göra en snygg lösning och kollar bara bounding boxen, vilket är avsevärt enklare och ger en himla massa false positives vilket i vårt fall är odelat positivt :)

Permalänk: https://www.webforum.nu/p/1326555

---

Tråden på webben: https://www.webforum.nu/amne/programmering/101811-kollisionsdetektering
