# Rotate a PShape

**URL:** <https://discourse.processing.org/t/rotate-a-pshape/32859>\
**Category:** Libraries\
**Created:** [October 16, 2021, 12:02am UTC](https://discourse.processing.org/t/rotate-a-pshape/32859 "2021-10-16T00:02:36Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![zack10](https://avatars.discourse-cdn.com/v4/letter/z/5e9695/32.png) [@zack10](https://discourse.processing.org/u/zack10)\
**Post date:** [October 16, 2021, 12:02am UTC](https://discourse.processing.org/t/rotate-a-pshape/32859/1 "2021-10-16T00:02:36Z")

</div>

```auto
void setup()
{
  size(600,600,P3D);
  smooth();
  background(0);
  cam = new QueasyCam(this);
  cam.position.x = 3;
  cam.position.y = -20;
  cam.position.z = 0;
  obj = loadShape("mysterious_object.obj");
}
void draw()
{
pushMatrix();
rotate(radians(millis()*.1));
shape(obj,250,240,200,200);
popMatrix();
}

```

> the shape is upsite down and i want to rotate it int like 180 degres

---

<div class="post-metadata">

**Author:** ![matheplica](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/matheplica/32/21035_2.png) [@matheplica](https://discourse.processing.org/u/matheplica)\
**Post date:** [October 16, 2021, 7:58am UTC](https://discourse.processing.org/t/rotate-a-pshape/32859/2 "2021-10-16T07:58:45Z")

</div>

You can try the [PGS](https://github.com/micycle1/PGS) library :

```auto
import micycle.pgs.*;
void draw(){
obj = PGS_Transformation.rotate(obj, new PVector(250, 240), 0.01);
  shape(obj, 200, 200);
}

```

---

<div class="post-metadata">

**Author:** ![glv](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/glv/32/18785_2.png) [@glv](https://discourse.processing.org/u/glv)\
**Post date:** [October 16, 2021, 10:15am UTC](https://discourse.processing.org/t/rotate-a-pshape/32859/3 "2021-10-16T10:15:07Z")

</div>

Hello,

Example:

```auto
PShape obj;

void setup()
{
  size(500, 500, P3D);
  smooth();
  background(0);
  obj = loadShape("rocket.obj");
  obj.rotateZ(TAU/2);
  obj.translate(0, 100, 0);
  obj.scale(.8, .8, .8);
}
void draw()
  {
  background(0);
  translate(width/2, height/2);
  //pushMatrix();
  
  // This: 
  //rotateY(frameCount*TAU/360);
  // Or this:
  obj.rotateY(TAU/360);
  
  shape(obj);
  //popMatrix();
  }

```

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/a/aaadbd2225e854b0a3a03a285aad3ff2f3fed0fc.png)

You can find the rocket here:

![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/5/50a0d3d7357df28e67153b23ac2051833c19daf2.png)

And here:  
[https://github.com/processing/processing-docs/tree/master/content/examples/Basics/Shape/LoadDisplayOBJ/data](https://github.com/processing/processing-docs/tree/master/content/examples/Basics/Shape/LoadDisplayOBJ/data)

`:)`

---

<div class="post-metadata">

**Author:** ![zack10](https://avatars.discourse-cdn.com/v4/letter/z/5e9695/32.png) [@zack10](https://discourse.processing.org/u/zack10)\
**Post date:** [October 16, 2021, 1:06pm UTC](https://discourse.processing.org/t/rotate-a-pshape/32859/4 "2021-10-16T13:06:21Z")

</div>

> thank you so much !

---

<div class="post-metadata">

**Author:** ![zack10](https://avatars.discourse-cdn.com/v4/letter/z/5e9695/32.png) [@zack10](https://discourse.processing.org/u/zack10)\
**Post date:** [October 16, 2021, 2:45pm UTC](https://discourse.processing.org/t/rotate-a-pshape/32859/5 "2021-10-16T14:45:53Z")

</div>

thank you soo much !
