Deprecated: Required parameter $query follows optional parameter $post in /var/www/html/wp-content/plugins/elementor-extras/modules/breadcrumbs/widgets/breadcrumbs.php on line 1215
Physics Engine - Blocks, Python Functions, Projects | PictoBlox Extension
[PictoBloxExtension]

Physics Engine

physics
Extension Description
Add physics to simulate the real-life simulation.

Introduction

What is Physics Engine?

Physics Engine is a 2D rigid body simulation library for making games and animations. Programmers can use it in their games to make objects move in realistic ways and make the projects more interactive. From the game engine’s point of view, the physics engine is just a system for procedural animation.

Accessing Physics Engine in Block Coding

Following is the process to add Physics Engine capability to the PictoBlox Project.

  1. Open PictoBlox and create a new file.
  2. Select the coding environment as Block Coding.
  3. Next, click on the Add Extension button and add the Physics Engine extension.
  4. You can find the Physics Engine blocks available in the project.

Core Concepts

Physics Engine works with several fundamental concepts and objects. We briefly define these objects here and more details are given later in the block definitions and examples.

  1. Shape: A shape is a 2D geometrical sprite, such as a circle or polygon or the sprite shape.
  2. Rigid body: A chunk of matter that is so strong that the distance between any two bits of matter on the chunk is constant. They are hard like a diamond. In the following discussion, we use body interchangeably with rigid body.
  3. Fixture: A fixture binds a shape to a body and adds material properties such as density, friction, and restitution. A fixture puts a shape into the collision system (broad phase) so that it can collide with other shapes.
  4. Constraint: A constraint is a physical connection that removes degrees of freedom from bodies. A 2D body has 3 degrees of freedom (two translation coordinates and one rotation coordinate). If we take a body and pin it to the wall (like a pendulum) we have constrained the body to the wall. At this point the body can only rotate about the pin, so the constraint has removed 2 degrees of freedom.
  5. Contact constraint: A special constraint designed to prevent penetration of rigid bodies and to simulate friction and restitution. You do not create contact constraints; they are created automatically by Physics Engine.
  6. World: A physics world is a collection of bodies, fixtures, and constraints that interact together. Box2D supports the creation of multiple worlds, but this is usually not necessary or desirable.
  7. Solver: The physics world has a solver that is used to advance time and resolve contact and joint constraints. The Box2D solver is a high-performance iterative solver that operates in order N time, where N is the number of constraints.
  8. Continuous collision: The solver advances bodies in time using discrete time steps.
Read More

PictoBlox Blocks

The block is used to change the color of the entire TFT screen of evive. You can select the color from the color picker.
The block allows the user to control the brightness of LED connected to digital pins of the device using Dabble app. You can enter the pin number to which your device is connected and vary the brightness in the app.
The block reports the distance of the nearest object from an ultrasonic sensor. It returns distance in cm. The trigger pin and echo pin are connected to a digital pin of evive which can be selected from the drop-down menu.
This block initializes motor and assigns the motor its direction 1, direction 2 and PWM control pins.
To work in the stage mode, we have to upload firmware in evive which can communicate with PictoBlox in real-time. With the help of this block, we will use the upload stage mode firmware to the robot.
To work in the stage mode, we have to upload firmware in evive which can communicate with PictoBlox in real-time. With the help of this block, we will use the upload stage mode firmware to the robot.
The block moves its sprite forward the specified amount of steps in the direction it is facing. A step is equal to one-pixel length. The block actually uses Trigonometry to move in the proper direction, as that is how a computer handles it.
The block displays a speech bubble with the specified text for the sprite that runs it, which appears on the screen for the specified amount of seconds.
The block will play the specified sound, pausing its script until the sound has finished playing.
The block pauses its script for the specified amount of seconds — the wait can also be a decimal number.
Scripts that wear this block will activate once the Green Flag has been clicked — these scripts can activate other scripts and enable the entire program. Without this block, the only way a project could run would be that it would sense the pressing of a key or clicking a sprite; the project would only last until all scripts depending on the starting scripts have ended.
The block checks if its sprite is touching the mouse-pointer, edge, or another sprite. If the sprite is touching the selected object, the block returns true; if it is not, it returns false.
turn () video on stage with () % transparency block controls the control the camera feed on the stage.
The block checks if the first value is less than the second value. If it is less, the block returns true; if not, it returns false. This block works with letters too, as well as numbers. In Scratch, letters at the top of the alphabet (e.g. a, b, c) are worth less than letters at the end (e.g. x, y, z).
The block will set the specified variable to the given value: a string or number.
turn () video on stage with () % transparency block controls the control the camera feed on the stage.
turn () video on stage with () % transparency block controls the control the camera feed on the stage.
The block sets a loudness filter threshold to remove the background noise from the audio file which is being analyzed.
The turn () video on stage with () % transparency block controls the control the camera feed on the stage.
The block adds the specified text data to the specified class for the training.
The turn () video on stage with () % transparency block controls the control the camera feed on the stage.
The speak () block uses the text-to-speech tool to speak the given text. It will speak the selected voice with the chosen language in the set language to () block. Usage of the block is limited to 128 characters. If a string longer than 128 characters is given, then only the first 128 characters will be spoken.
The block translates a string from the automatically detected language to the chosen language using Google Translate.
The turn () video on stage with () % transparency block controls the control the camera feed on the stage.
The block runs an API call to get the weather data of the location specified with the Longitude and Latitude. The API call can be done only 2 times per minute. If the user wants to have the data more frequently, they have to add the custom API using set Weather API to () block.
The block will play the specified instrument for the specified amount of seconds using a sampled percussion instrument. Even though the block uses the word “drum”, the choices in the drop-down menu are many different percussion instruments including drums, triangles, bongos, cowbell, vibraslap, and various idiophones.
The when video motion > () block activates when the current video motion on the stage is greater than the number entered. 
When used in a script, the sprite will produce a bitmap image of itself which is stamped onto the stage. (Because it is merely a picture of the sprite and not a sprite itself, it cannot be programmed.) Like other Pen blocks, the Stamp block will not draw over sprites. The erase all block removes all stamped images.
when Quarky starts up block is a Hat block. Scripts that wear this block get converted into Python code when you are in Upload Mode. This block is used when one has to upload a code into Quarky.
The block displays the specified emotions on the Quarky RGB LED. These emotions are static and predefined in the code.
All articles loaded
No more articles to load

Block Coding Examples

All articles loaded
No more articles to load
Table of Contents