<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-to-transform-a-plane-box2d-ujnhw1h7w" -->

---
title: How to Transform a Plane :: Box2D | daily.dev
description: A derivation shows how to transform a plane equation, defined by a normal and offset in local space, into world space using a rigid transform composed of an...
canonical: https://daily.dev/posts/how-to-transform-a-plane-box2d-ujnhw1h7w
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How to Transform a Plane :: Box2D | daily.dev
og:description: A derivation shows how to transform a plane equation, defined by a normal and offset in local space, into world space using a rigid transform composed of an...
og:url: https://daily.dev/posts/how-to-transform-a-plane-box2d-ujnhw1h7w
og:image: https://api.daily.dev/og/posts/uJNhW1H7W.png
og:image:alt: How to Transform a Plane :: Box2D
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Transform a Plane :: Box2D

**[
        
            Box2D 
        
    ](https://daily.dev/sources/box2d)** · 2 min read · 0 upvotes · 0 comments

## Summary

A derivation shows how to transform a plane equation, defined by a normal and offset in local space, into world space using a rigid transform composed of an orthonormal rotation and translation. The math substitutes the inverse transform relations into the local plane equation, cancels the rotation terms due to orthonormality, and simplifies to find the world-space offset. An update adds a shortcut for finding a point on the plane directly from its normal and offset so the plane can be transformed by converting a point and normal separately.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://box2d.org/posts/2018/09/how-to-transform-a-plane>

## Questions this post answers

### How do I transform a plane equation defined by a normal and offset from local space to world space?

Given a plane in local space as normal n and offset w, and a rigid transform with orthonormal rotation R and translation p, the world-space normal becomes R*n and the world-space offset becomes w plus the dot product of the world-space normal with p. This works because inverting the transform substitutes cleanly into the local plane equation, and the rotation terms cancel due to orthonormality.

_daily.dev surfaces derivations like this for developers building custom physics or collision code._

## Similar posts on daily.dev

- [Compose Drawing Mastery — Part 2 — Transformations](https://daily.dev/posts/compose-drawing-mastery-part-2-transformations-hulc8brfh) · ProAndroidDev · 1 upvotes · 0 comments
- [Matrices can be your Friends.](https://daily.dev/posts/matrices-can-be-your-friends--tgwrhc6fy) · Hacker News · 0 upvotes · 0 comments
- [UE5 Triplanar Deep Dive – Part 2](https://daily.dev/posts/ue5-triplanar-deep-dive-part-2-l36omf752) · 80 LEVEL · 0 upvotes · 0 comments
- [The Geometry Behind the Dot Product: Unit Vectors, Projections, and Intuition](https://daily.dev/posts/the-geometry-behind-the-dot-product-unit-vectors-projections-and-intuition-3humsmybb) · Towards Data Science · 0 upvotes · 0 comments

---

Tags: [#math](https://daily.dev/tags/math), [#graphics-programming](https://daily.dev/tags/graphics-programming)

[View this post on daily.dev](https://daily.dev/posts/how-to-transform-a-plane-box2d-ujnhw1h7w)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How to Transform a Plane :: Box2D","url":"https://daily.dev/posts/how-to-transform-a-plane-box2d-ujnhw1h7w","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-to-transform-a-plane-box2d-ujnhw1h7w"},"datePublished":"2026-08-23T12:16:54.395Z","dateModified":"2026-08-23T12:18:47.265Z","description":"A derivation shows how to transform a plane equation, defined by a normal and offset in local space, into world space using a rigid transform composed of an...","image":"https://media.daily.dev/image/upload/s--1KxV4ohY--/f_auto/v1722860400/public/Placeholder%2007","thumbnailUrl":"https://media.daily.dev/image/upload/s--1KxV4ohY--/f_auto/v1722860400/public/Placeholder%2007","isAccessibleForFree":true,"articleSection":"\n        \n            Box2D \n        \n    ","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"\n        \n            Box2D \n        \n    ","logo":"https://media.daily.dev/image/upload/s--fmoS1AL5--/f_auto,q_auto/v1787487406/logos/box2d?_a=BAMAMicg0","url":"https://daily.dev/sources/box2d"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/how-to-transform-a-plane-box2d-ujnhw1h7w","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"math,graphics-programming","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"\n        \n            Box2D \n        \n    ","item":"https://daily.dev/sources/box2d"},{"@type":"ListItem","position":3,"name":"How to Transform a Plane :: Box2D"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/how-to-transform-a-plane-box2d-ujnhw1h7w#faq","mainEntity":[{"@type":"Question","name":"How do I transform a plane equation defined by a normal and offset from local space to world space?","acceptedAnswer":{"@type":"Answer","text":"Given a plane in local space as normal n and offset w, and a rigid transform with orthonormal rotation R and translation p, the world-space normal becomes R*n and the world-space offset becomes w plus the dot product of the world-space normal with p. This works because inverting the transform substitutes cleanly into the local plane equation, and the rotation terms cancel due to orthonormality. daily.dev surfaces derivations like this for developers building custom physics or collision code."}}]}
```

