You are on page 1of 34

A PROJECT REPORT

ON
“Development of Interactive VRML standard Calculator for
Immersive Visualization”
DIPLOMA IN
MECHANICAL ENGINEERING

SUBMITTED TO MAHARASHTRA STATE


BOARD OF TECHNICAL EDUCATION, MUMBAI
SUBMITTED BY
Name of Student(s) Enrolment No
Sachin Tarale 1814440003
Rahul Kale 1714440056
Sohel Ansari 1714440055
Sangam Vardhe 1814440005
Avinash panzade 1914440253
Ashish Dharne 1014440085
Gaurav kalskar 1714440063

GUIDED BY
Dr. Dipak V. Shirbhate

Shri Dadasaheb Gawai Charitable Trust’s


VIKRAMSHILA POLYTECHNIC, DARAPUR
Tq Daryapur Dist: Amravati
2020-2021
Shri Dadasaheb Gawai Charitable Trust’s
VIKRAMSHILA POLYTECHNIC, DARAPUR
Tq Daryapur Dist: Amravati
MSBTE CODE: 1444 DTE CODE: 1247

CERTIFICATE
This is to Certify that the project report entitled “Development of Interactive
VRML standard Calculator for Immersive Visualization” Was successfully
completed by Student of sixth semester Diploma in Mechanical engineering.

Name of Student(s) Enrolment No


Sachin Tarale 1814440003
Rahul Kale 1714440056
Sohel Ansari 1714440055
Sangam Vardhe 1814440005
Avinash panzade 1914440253
Ashish Dharne 1014440085
Gaurav kalskar 1714440063

in partial fulfilment of the requirements for the award of the Diploma


Mechanical engineering and submitted to the Department of Mechanical
engineering of Shri Dadasaheb Gawai Charitable Trust’s VIKRAMSHILA
POLYTECHNIC, DARAPUR,Tq Daryapur Dist: Amravati work carried out
during a period for the academic year 2020-21 as per curriculum .

Name of Guide Name of HOD


Dr. Dipak V. Shirbhate Prof. Ravikant Borkr

External Examiner Principal


ACKNOWLEDGMENT
This project is done as a Final Year project titled “Development of Interactive
VRML Standard Calculator for Immersive Visualization” We are really
thankful to our Principal and guide Dr. Dipak V. Shirbhate. and HOD Prof.
Ravikant Borkar , Mechanical Engineering Department of Shri Dadasaheb
Gawai Charitable Trust’s VIKRAMSHILA POLYTECHNIC, DARAPUR,Tq
Daryapur Dist: Amravati for his invaluable guidance and assistance, without
which the accomplishment of the task would have never been possible. We also
thank Prof. Vaibhav Karade for coordinating throughout the project on
Emerging field of Virtual Reality without which a Project can never progress.
We are thankful to our principal Dr. Dipak Shirbhate for giving his costly
devices like Allianware and Oculus Rift for trial purpose. We are also thankful
to parents, friend and all staff of Mechanical Engineering Department, for
providing us relevant information and necessary clarifications, and great
support.
Chapter 1
INTRODUCTION
VRML stands for Virtual Reality Modelling Language. VRML enables user to put 3D
contents on web. Alternatively, VRML is also called as Web3D. VRML was first conceived
in year 1996 and later on in year 1997 it was made as an ISO standard for representation of
3D on the web. The first version of VRML was called as VRML1 and second version was
called as VRML2 or VRML97. The difference between VRML1 and VRML2 is that VRML1
was specifically written for displaying static objects on the Web and it was lacking
interactivity. The second version of VRML i.e. VRML2 was supporting moving object along
with interactivity. Interactivity here means the user is able to interact with the 3D objects
displayed in the Web Browser. Interactivity in VRML enables user to exercise some control
over the 3D object thereby it makes objects and scene more interesting. The contents of
VRML can be viewed in any popular Internet Browsers like Edge, Mozilla Firefox, Chrome,
Opera, Internet Explorer. For viewing the contents properly user is supposed to install Plug
in which will ultimately work together with the Internet Browser to display the contents of
VRML. There are many Plugins available for VRML such as Cosmo Player, Instareality, BS
contact player etc. BS contact player from Bitmanagement is the most advanced and modern
VRML player available today. The trial version of BS contact player is free to download and
can be downloaded and installed on Windows PC in fractions of seconds. The VRML files
have *.wrl extension in Windows. *.wrl is a short form of World as the objects and scenes
created with VRML are called as VRML Worlds. The VRML Worlds can be a single object
or assembly of several objects. VRML do not make any distinction between a single object or
scene having multiple objects and both have same *.wrl extension.

OBJECTIVE OF INTERACTIVE 3D VRML CALCULATOR

The calculator is an electronic handy device used by everyone dealing with calculations. The
calculator can be broadly classified as Standard Calculator and Scientific Calculator. The
Standard Calculator is capable of performing basic calculations like Addition, Subtraction,
Multiplication, Division and Percentage calculation whereas Scientific Calculator have all the
capabilities of that of Standard Calculator along with functions like
Sine, Cosine and Tangent, Log, Cube Root, etc. By definition, a scientific calculator is
a calculator designed to help you calculate science, engineering, and mathematics problems.
It has way more buttons than your standard calculator that just lets you do your four basic
arithmetic operations of addition,

subtraction, multiplication, and division. Figure 1 shows Electronic Standard and Scientific
calculators.

Figure 1 Electronic Standard (left) and scientific calculator(right)

Calculator is also available in


operating system like windows and can be accessed through typing calculator in the search
box of windows.
Figure 2 Windows (left) and Android calculator(right)

In mobile phone,
calculator is available as a preloaded android App. Figure 2 shows windows calculator App
available in PC with windows operating system and mobile App.

The development of VRML interactive standard calculator was undertaken to achieve


following objectives

 Practicing Solid modelling using any standard CAD modeling software for product
development and design from Mechanical Engineering Point of View. Solid
Modelling of calculator body and keys was challenging because the model should
look like real product. The commercially available software like AutoCAD, CREO,
CATIA can be used for this purpose.
 Better understanding CAD data conversion. This work has given opportunity to
convert CAD data from one form to another. The final format will be definitely *.wrl.
 Better understanding of VRML graphical programming using Vivaty Studio.
 This work has given us opportunity to learn VRML touch Sensor, VRML script,
Routes etc.
 The project work has given us opportunity to try BS contact player and explore its
tools.
 We have experienced Immersive visualization using BS stereo and Oculus Rift with
its controllers.
 We have studied scalability of VRML object and its placement in scene.
Chapter 2

METHODOLOGY
The entire creation of VRML interactive 3D calculator can be divided into following steps

A. Solid modelling
B. CAD data conversion
C. VRML Graphical programming using Vivaty Studio
D. Immersive Visualization using HMD like Oculus Rift.
E. Placement of VRML interactive 3D calculator in scene.
The various steps are explained in brief as follows

A. Solid Modeling:
Solid Modelling is the first step in the entire process. There are plenty of
commercially available solid modelling software like AutoCAD, CREO or CATIA.
Any software as per convenience can be used for this purpose. AutoCAD is a Boolean
based solid modelling software whereas CREO and CATIA are Parametric Solid
Modelling software. Solid Modelling help us to visualize the final product before it is
fabricated even if the person is not aware of Engineering Drawing. The rendering
facility in the solid modelling packages allows user to select appropriate color and
texture which will suit the final product. Solid modelling gives the opportunity to
eliminate any flaws at the design stage. The user is capable of viewing the product
form all possible angles and carry out refinement if any required.

B. CAD data conversion:


The CAD data needs to be converted to VRML format prior to VRML programming.
This can be done by using Export/Import utilities available in CAD packages. Every
commercially available CAD package have this utility available when user wants to
save CAD data on hard disk. Series of successive CAD data conversion is required
before arriving to VRML format. It is found that 3DS Max Studio was quite efficient
in the exchange of Data but installing a full fledge software just for Data conversion

C. VRML Graphical programming using Vivaty Studio


VRML Codes can be conveniently viewed as well as written directly using simple
text editor like Notepad but it requires deep knowledge of Code Writing in VRML.
Very few users may have this skillset and deep programming knowledge of VRML;
moreover, writing code is cumbersome, laborious and time consuming. The absence
of compiler or interpreter makes it more worst because if user commits any error
during code writing; it is very difficult to trace and rectify it. All what user will see is
blank screen. VRML architecture was designed in such a way that it will bypass most
of the errors and try to display the contents with incomplete information. Many times
the error in VRML coding results in blank screen of BS contact player. The complex
geometry and shape of 3D object creates another challenge as it may have many
curves and surfaces which are very difficult to define with manual coding. Non
Uniform surfaces are very difficult to define with manual coding. The option of
manual coding is preferred only when the objects are quite simple like shapes created
with Primitives i.e. Cone, Cube, Cylinders etc. The direct CAD data export to
VRML format is preferred when complex geometry objects needs to be displayed.
The solution to this problem can be found with Graphical Programming tool like
Vivaty Studio. It is a Freeware offered by Web 3D consortium at link
https://www.web3d.org/projects/vivaty-studio

Vivaty Studio is an interactive tool for creating VRML worlds. It allows the user to
create all aspects of VRML world with a graphical user interface. The tool is provided
free of charge as a service to the community. Only a PC version is available. During
installation it is required to agree license. The Web3D Consortium takes no
responsibility for this product, including operation or support. Note that Vivaty.com is
not an operational domain. Vivaty Studio (Formerly known as Flux Studio) offers a
better interface for VRML coding using Graphical Method. The interface offers to use
VRML tools just by clicking appropriate tool icons. Figure 3 shows Vivaty welcome
screen whereas Figure 4 shows Vivaty Studio Interface.
Figure 3 Vivaty Studio Welcome Screen
Figure 4 Vivaty Studio Graphical Programming Interface

D. Immersive
Visualization using HMD like Oculus Rift

The Oculus Rift is a virtual reality system that completely immerses user inside
virtual worlds. Oculus is making it possible to experience anything, anywhere,
through the power of virtual reality. The Oculus Rift is a virtual reality headset
developed and manufactured by Oculus VR, a division of Facebook Inc., released on
March 28, 2016. The Rift has a stereoscopic OLED display, 1080×1200 resolution per
eye, a 90 Hz refresh rate, and 110° field of view. It has integrated headphones which
provide a 3D audio effect, rotational and positional tracking. The positional tracking
system, called "Constellation", is performed by a USB stationary infrared sensor that
is picking up light that is emitted by IR LEDs that are integrated into the head-
mounted display. The sensor normally sits on the user's desk. This creates 3D space,
allowing for the user to use the Rift while sitting, standing, or walking around the
same room.
Figure 5 shows different views of Oculus Rift device to get the complete idea of its
construction. Oculus rift system have HMD, Constellation Sensor, Touch pad and
Touch Controller.
A

B
Constellation
Constellation is the headset's
positional tracking system,
used to track the position of the
user's head as well as other VR
devices, consisting of
external infrared tracking
sensors which optically track
specially C designed VR devices
as shown in
Figure Figure 5 Oculus Headset (Head Mounted Display) 6. The
(A)Headset (Back view);
(B)Headset (Side view); constellation
(C)Headset (Isometric view)
sensor comes with a
stand of a desk lamp form factor, but has standard screw holes and can be detached
from this stand and mounted anywhere appropriate to the user.
Figure 6 Oculus Rift Constellation sensor

The Rift, or any other


device being tracked by the system, is fitted with a series of precisely positioned
infrared LEDs under or above the surface, set to blink in a specific pattern. By
knowing the configuration of the LEDs on the objects and their pattern, the system
can determine the precise position of the device with sub-millimetre accuracy and
near-zero latency.
Constellation can be used with a single tracking sensor or with multiple
sensors working together. One sensor is included with the Rift (without Touch), since
in this scenario there are no tracked controllers that could occlude this sensor.
If the user also purchases the Touch controllers, another sensor is included in
order to prevent the issue that the single sensor could be easily confused and occluded
by one or more of the Touch controllers, and hence component tracking of the other
controller, the headset, or both. In this configuration, the system is capable of tracking
an entire room, known as "room scale" virtual reality.

Controllers

A
B C

Figure 6 Oculus Figure 3.21 Oculus Touch controllers; (A)


Touch controllers (isometric view) ;(B) Touch pad; (C) Touch
controllers (Back view); (D) Touch controllers (Top view)

A motion controller system


known as Oculus Touch is available for Oculus Rift. It consists of a pair of handheld
units for the left and right hand, each containing a joystick, buttons, and two triggers -
one for grabbing and one for shooting or firing as shown in Figure 6. The controllers
are fully tracked in 3D space by the Constellation system, so they may be represented
in the virtual environment. Oculus Touch also features a system for detecting finger
gestures made when holding the controllers. Oculus Touch was not included with the
Oculus Rift headset on launch, and is sold as a separate accessory released on
December 6, 2016.
Figure 7 Oculus Xbox One Wireless Controller

All Oculus Rift units are bundled with an Xbox One controller as a result of a
partnership with Microsoft as shown in Figure 7. The purpose of this inclusion is that
the majority of virtual reality games that have been in development over the past few
years require a gamepad (and do not use motion controllers such as Oculus Touch),
so this will allow all users to play those games without needing to purchase third party
hardware.

E. Placement of VRML interactive 3D calculator in scene.


An ideal Web 3D technology should satisfy at least three requirements in theory.
These three requirements are
 Composability
 Scalability
 Extensibility

Composability allows user to create VRML 3D Calculator, scale it down and put on
in Virtual Theory of Machine Lab. The Lab can be then placed on ground.

Scalability allows user to zoom on any distant object like 3D Calculator, then
suddenly user can zoom on other object in the Virtual Theory of Machine Lab.
Extensibility allows user to extend the capacity of VRML to serve special purposes.
This allows multiuser worlds to be created with VRML.

Composability and Scalability have been achieved to some extent with our VRML
Interactive 3D calculator. Extensibility is still in theory and future scope.

Chapter 3

STEP BY STEP PROCEDURE FOR CREATING VRML 3D


CALCULATOR USING VIVATY STUDIO
1. Assembling Calculator body and Keys using VRML Inline Node

We have created calculator body and keys as a separate object. As you assemble these
shapes together to create more complex shapes and worlds, your VRML files get larger
and harder to manage. In lining is a world-construction technique that enables you to
keep each of the pieces of your VRML worlds in separate, smaller files. To construct a
world using each of those pieces, you can create a VRML file containing Inline nodes.
Each Inline node provides the file name of a piece to use in your new world. Your
VRML browser reads each of the in lined files and assembles the world for you.
Typically, the file names you specify within Inline nodes are the names of files on your
local hard disk. You can also use a full URL to specify the address of a file anywhere on
the Web. Using URLs, you can inline shapes created by other VRML authors on the Web.
This enables you to build very complex worlds without authoring each shape yourself.

Understanding ln lining enables you to build each of the shapes for your world in a
separate VRML file. You can independently test those shapes to make sure they look
right on their own. Then you can inline one or more of those shape files to build a larger
VRML file. That larger file can be in lined into a larger file, and so on. This inline
assembly technique enables you to gradually build complex worlds from individual
pieces, each stored in its own VRML file. Like the VRML Group node, an Inline node
groups shapes within your world unlike the Group Node, an Inline node specifies the
name of a VRML file from which the child nodes are read, instead of specifying the child
nodes themselves. When the VRMI, browser reads any VRML file, it looks for Inline
nodes and the files they list. Each in lined file is automatically read, as well, world
constructed within the VRML browser.

A VRML file, such as one to create a table, can be in lined into as many other VRML
files as you like. You can create a library of standard shapes that you inline you need
them in each world you create. If you change a library shape, like the table all of the
worlds in which that table is used change, as well.

List of URLs

The URL field value of an Inline node specifies a URL, which is the location of a file to
be in lined into your VRML world. The URL tells the VRML browser how to get the file,
where to get the file, and the name of the file to get. URLs can indicate files on the Web
or on your local hard disk.

Accessing your local disk is much faster than retrieving a file from the Web.
Similarly, some sites on the Web are much faster than others. If your hard disk, a fast
Web site, and a slow Web site all have the same VRML file available, you would
naturally choose to get the file from your hard disk instead of from the Web sites. If your
hard disk didn't have the file, but the fast and slow Web sites did, you would naturally
choose to get the file from the fast Web site instead of the slow one. This is an example of
prioritizing a list of locations where the VRML file you want may be found.

In VRML, anywhere you can specify a URL, you can also specify a list of URIs that
provide a prioritized list of places where the browser can find the VRML file you want.
Your VRML browser starts looking for the file by using the first URL in the list. If your
browser finds the VRML file, it reads the file and skips the rest of the URLs in the list. If
your browser can't find the file specified by the first URL in the list, then it tries the
second one, and so on.

In our case, inline node was created for each and every key of calculator along with
calculator body. A dedicated subfolder folder inside main folder was created with name
wrl. The main file Calc_Assembly.wrl holds the entire relationship of main calculator
body and its keys. As the Calc_Assembly.wrl is accessed by the BS contact player, it
sequentially accesses all the keys in the table shown below.

In short, we can say that Inline node have following capabilities

 The inline nodes provide a way to use a subcomponent of a scene contained in


a separate file.
 This is an efficient way to organise subcomponents so that they can be used in
multiple scenes.
 The inline node provides a way to use a VRML object made available on any
Web Server.

Table 1 List of Inline node URLs

URL ./wrl/calc_button_equal.wrl

./wrl/calc_button_plus.wrl

./wrl/calc_button_minus.wrl

./wrl/calc_button_divide.wrl

./wrl/calc_button_multiply.wrl

./wrl/calc_button_decimal.wrl
./wrl/calc_button0.wrl

./wrl/calc_button1.wrl

./wrl/calc_button2.wrl

./wrl/calc_button3.wrl

./wrl/calc_button4.wrl

./wrl/calc_button6.wrl

./wrl/calc_button5.wrl

./wrl/calc_button9.wrl

./wrl/calc_button8.wrl

./wrl/calc_button7.wrl

./wrl/calc_body.wrl

2. Defining Navigation info, Viewpoint (Entry and Away) and Point Light
Navigation Information
The navigation information was defined like collision distance 0.25, Height 1.6, Stair
Step Size 0.75, Headlight in On condition, Visibility Limit 0, speed 1 meter/second,
Slow Walk 1 meter/second. All the units are by default in meters. Figure 8 shows
Navigation information parameters.
Figure 8 Navigation Information Parameters

Viewpoint
There are two viewpoints defined as Entry and Away as follows shown in Figure 9

Figure 9 Viewpoint (Entry)


Figure 10 Viewpoint (Away)

View point allows use to view the object when you try to open it in the BS contact
Player.
Point Light
Point light was created to illuminate the calculator surface properly. The point light
parameters are as shown in Figure 11.
Figure 11 Point Light Parameters

The point light positional parameters are


shown in figure 11 (left) whereas parameters like color, Attenuation, Intensity,
Ambient Intensity, radius are shown in Figure 11 (right).

3. Defining Groups and Touch sensors


The standard calculator is having 16 keys and therefore 16 Groups were created. Each
group is having a key and VRML touch sensor as shown in Figure 12

SENSOR_Equal
SENSOR_Plus
SENSOR_Minus
SENSOR_Divide
SENSOR_Multiply
SENSOR_Decimal
SENSOR_B0
SENSOR_B1
SENSOR_B2
SENSOR_B3
SENSOR_B4
SENSOR_B6
SENSOR_B5
SENSOR_B9
SENSOR_B8
SENSOR_B7

Figure 12 Group and Touch sensors

Figure 12 Touch Sensor and Inline node field under Group


4. Defining Text node
The calculator shows ‘0’ (Zero) by default which was defined using a Text Node in
VRML. The various Text Node Parameters are shown in Figure 13

Figure 13 Text node (Various Tab parameters)

5. Defining Script and its field


The java script was defined for each calculator key and display as follows.
Figure 14 Script and Script Field
javascript:
function update(t,val) {
OutputUpdate.length = 1;

function initialize( ) {
update( );
}
function operation(val){
var j = parseFloat(OutputUpdate[0]);
if(lastClickOperation != 0){
lastOperation = lastClickOperation;
lastClickOperation = 0;
lastString[0] = OutputUpdate[0];
j = 0;
}
if(j == 0){
OutputUpdate[0] = val;
}
else{
OutputUpdate[0]+= val;
}
}
function Plus_Clicked(t){
if(t){
lastClickOperation = 1;
}
}
function Minus_Clicked(t){
if(t){
j = parseFloat(lastString[0]) + parseFloat(OutputUpdate[0]);
}
else if(lastOperation == 2){
j = parseFloat(lastString[0]) - parseFloat(OutputUpdate[0]);
}
else if(lastOperation == 3){
j = parseFloat(lastString[0]) * parseFloat(OutputUpdate[0]);
}
else if(lastOperation == 4){
j = parseFloat(lastString[0]) / parseFloat(OutputUpdate[0]);
}

OutputUpdate[0] = j;
lastOperation = 0;

}
}
function Clear_Clicked(t){
if(t){
OutputUpdate[0] = 0;
lastOperation = 0;
lastClickOperation = 0;
}
}
function B7_Clicked( t) {
if(t){
operation(7);
}
}
function B8_Clicked( t) {
if(t){
operation(8);
}
}
function B9_Clicked( t) {

if(t){

operation(9);

function B4_Clicked( t) {

if(t){

operation(4);

}
function B5_Clicked( t) {

if(t){

operation(5);

function B6_Clicked( t) {

if(t){

operation(6);

function B1_Clicked( t) {

if(t){

operation(1);

function B2_Clicked( t) {

if(t){

operation(2);

function B3_Clicked( t) {

if(t){

operation(3);

function B0_Clicked( t) {

if(t){

operation(0);

} Figure 15 Sample Java script for B7 Clicked


6. Defining Routes
This is the last step in VRML 3D interactive calculator creation.

Figure 16 Routes

Figure 16 VRML 3D Interactive Calculator Final Output in BS contact Player

The assembly file was created with the name Calc_Assembly.wrl in the folder called
calculator. Calc_Assembly.wrl files holes all the inline nodes along with Groups,
View Point, Scripts, Routes. The main folder contains sub folder as wrl having all the
keys and calculator body files created as a separate entity. The subfolder view is
shown in Figure 17

Figure 17 WRL subfolder view

Chapter 4

Conclusion and Future scope


Producing 3D interactive models is becoming a greater challenge every day. Choosing
the right tool to handle the modelling process is essential if the final product is to be a
VRML world, which can satisfy the user’s desire for both interactivity and realism.
Vivaty Studio offers excellent Graphical Programming Environment for the
elementary user first time encountered with VRML programming.
The project work can be extended to the development of Scientific Calculator.
BIBLIOGRAPHY
1. David S. Kelley; “Pro/Engineer instructor”, Tata McGraw- Hill Publishing Company
Limited, 2001.

2. Chris Marrin, Bruce Campbell; “Teach Yourself VRML 2 in 21 days”, Techmedia,


New Delhi –2,1997

3. Prof. Shyam Tickoo, “Pro/ENGINEER Wildfire for Engineers & Designers”,


Dreamtech press, New Delhi-2, 2004

4. Cat Woods, Alexander Bicalho, Chris Murray; “Mastering 3ds max 4”; BPB
publication, 2002

5. Koren Yorarm – “Computer Control of Manufacturing Systems”, McGraw Hill


International Editions (1983).

6. Groover M. P. &Zimmers E. W. – “CAD/CAM”, Prentice Hall of India Pvt. Ltd.,


New Delhi (1993).

7. Radhakrishnan, P., Kothandarman C. P. – “Computer Graphics &


Design”,DhanpatRai Publications, New Delhi, (2000).
8. Zeid Ibrahim – “CAD/CAM Theory & Practice”, Tata McGraw Hill, New Delhi,
(1998).

9. Kapoor Ramjee – “Computer Assisted Decision Models”, Tata McGraw Hill


Publishing Company Limited, New Delhi, (1991).

10. Surendra Kumar & Jha A.K. – “CAD/CAM”, Dhanpat Rai & Sons, New Delhi,
(1993).

11. The VRML 2.0 Handbook by Jed Hartman and Josie Wernecke, Silicon Graphic, Inc.

12. VRML 2.0 sourcebook by Andrea L. Ames, David R. Nadeau and John L. Moreland,
Second Edition, John Wiley and Sons, Inc.

WEB RESOURCES
http://www.bitmanagement.com/
http://www.web3d.org/
YouTube Resources
https://www.youtube.com/watch?v=ZIflv_n5McA
https://www.youtube.com/watch?v=lbrOCom12SQ
https://www.youtube.com/watch?v=BPi_iLsQf60&t=199s
https://www.youtube.com/watch?v=5rbvw83u3og&t=215s
https://www.youtube.com/watch?v=tVnV6ZAC1Ds&t=426s
https://www.youtube.com/watch?v=tuYnUuD1Cg8&t=150s
https://www.youtube.com/watch?v=u5d8jJrVfTs&t=31s
https://www.youtube.com/watch?v=K7AfLMpXMPk
https://www.youtube.com/watch?v=L3FCmGioHwI
https://www.youtube.com/watch?v=yP1DtzrCBtM&t=53s
https://www.youtube.com/watch?v=_flgFFgYZK0
https://www.youtube.com/watch?v=9OBBDW1_sdI
https://www.youtube.com/watch?v=RxImQY_WVRc&t=163s
https://www.youtube.com/watch?v=RQXZr7cBsdU
https://www.youtube.com/watch?v=W8psw8WeuIw
https://www.youtube.com/watch?v=30SLKcaBg2Q&t=37s
https://www.youtube.com/watch?v=yNGS9Ab51eg
https://www.youtube.com/watch?v=f8Osic6v1Z4
https://www.youtube.com/watch?v=04KxaKHnqd0
https://www.youtube.com/watch?v=9qgi0DoVJfQ
https://www.youtube.com/watch?v=Bb-7U_S62L4
https://www.youtube.com/watch?v=lixX6HOzC48
https://www.youtube.com/watch?v=OPWwZlJ65Uo&t=30s
https://www.youtube.com/watch?v=vtXnRvPUF-E&t=31s
https://www.youtube.com/watch?v=4mHINzlGuDA

You might also like