GSDP:GAM100/CProcessing/mat3 scale()

From Inside
Jump to: navigation, search

mat3_scale()

Description

Creates a Mat3 scale matrix from an input Vec2.

Parameters

mat3_scale(Vec2 scale)

  • scale - (Vec2) A vector containing the x and y scalars to create the matrix from.

Example

void init()
{
  rectMode(CENTER);
  noStroke();
}

void update()
{
  // White background
  background(color(255, 255, 255, 255));

  Vec2 position = vec2_set(canvasWidth / 2, canvasHeight / 2);

  // Create transform matrices
  Mat3 scale = mat3_scale(vec2_set(150, 100));
  Mat3 translate = mat3_translate(position);
  Mat3 rotate = mat3_rotate(90.0f);

  // Combine transfrom
  // Translate * rotation * scale
  Mat3 transform = mat3_concat(translate, mat3_concat(rotate, scale));

  // Set the camera transfrom to the created matrix
  applyMatrix(transform);

  // Draw a blue cube at the "center" of the screen
  fill(color(0, 0, 255, 255));
  rect(0, 0, 1, 1);

  // Reset the matrix to the identity matrix
  resetMatrix();

  // Draw a red cube in the center of the screen
  fill(color(255, 0, 0, 255));
  rect(position.x, position.y, 50, 50);
}

Related

Personal tools
Namespaces

Variants
Actions
Navigation
NameSpaces:>
Tools
Dynamic:>