Three dimensional geometric transformationsshanthishyam
This document discusses 3D geometric transformations in OpenGL, including translation, rotation, and scaling. It provides the mathematical definitions and matrix representations for transformations around the X, Y, and Z axes as well as arbitrary axes. It also covers combining multiple transformations through matrix multiplication and the order of transformations. OpenGL functions for common transformations like glTranslate, glRotate, and glScale are also presented.
Cs8092 computer graphics and multimedia unit 2SIMONTHOMAS S
This document discusses two-dimensional graphics transformations and matrix representations. It covers topics such as translation, rotation, scaling, reflections, shearing, and representing composite transformations using matrix multiplication. Homogeneous coordinates are also introduced as a way to represent 2D points using 3-dimensional vectors and matrices for transformations.
The document discusses several OpenGL functions and concepts related to setting up the coordinate system and rendering 3D objects. It explains how functions like glOrtho, glMatrixMode, glTranslate, glRotate, and glScale are used to apply transformations to the modelview and projection matrices. It also covers setting the viewport and world window. Finally, it provides details on functions like glutSolidSphere and glutWireCube that can be used to render basic 3D shapes.
The Day You Finally Use Algebra: A 3D Math PrimerJanie Clayton
This document provides an overview of various math and programming concepts used for graphics. It begins with an introduction to linear algebra and how it allows performing actions on multiple values simultaneously through matrices. It then discusses trigonometry and how triangles are used as a foundation for 3D graphics. Finally, it shares code for a fragment shader that simulates refraction through a sphere to demonstrate these concepts in action.
3D transformations are represented by 4x4 matrices. They include translation, scaling, and rotation. Rotation can be about coordinate axes or arbitrary axes. For arbitrary axis rotation, the process involves translating the axis to the origin, rotating the axis to align with an axis, rotating about that axis, then applying the inverse transformations to return the axis to its original orientation.
Mathematics (from Greek μάθημα máthēma, “knowledge, study, learning”) is the study of topics such as quantity (numbers), structure, space, and change. There is a range of views among mathematicians and philosophers as to the exact scope and definition of mathematics
The document discusses various types of transformations in computer graphics, including translation, scaling, and rotation in both 2D and 3D. Translation moves an object by adding offsets to its coordinates. Scaling changes the size of an object by multiplying its coordinates by scaling factors. Rotation changes the orientation of an object by applying trigonometric functions to its coordinates based on a rotation angle and axis. Transformation matrices are used to represent and apply these operations to objects uniformly.
Three dimensional geometric transformationsshanthishyam
This document discusses 3D geometric transformations in OpenGL, including translation, rotation, and scaling. It provides the mathematical definitions and matrix representations for transformations around the X, Y, and Z axes as well as arbitrary axes. It also covers combining multiple transformations through matrix multiplication and the order of transformations. OpenGL functions for common transformations like glTranslate, glRotate, and glScale are also presented.
Cs8092 computer graphics and multimedia unit 2SIMONTHOMAS S
This document discusses two-dimensional graphics transformations and matrix representations. It covers topics such as translation, rotation, scaling, reflections, shearing, and representing composite transformations using matrix multiplication. Homogeneous coordinates are also introduced as a way to represent 2D points using 3-dimensional vectors and matrices for transformations.
The document discusses several OpenGL functions and concepts related to setting up the coordinate system and rendering 3D objects. It explains how functions like glOrtho, glMatrixMode, glTranslate, glRotate, and glScale are used to apply transformations to the modelview and projection matrices. It also covers setting the viewport and world window. Finally, it provides details on functions like glutSolidSphere and glutWireCube that can be used to render basic 3D shapes.
The Day You Finally Use Algebra: A 3D Math PrimerJanie Clayton
This document provides an overview of various math and programming concepts used for graphics. It begins with an introduction to linear algebra and how it allows performing actions on multiple values simultaneously through matrices. It then discusses trigonometry and how triangles are used as a foundation for 3D graphics. Finally, it shares code for a fragment shader that simulates refraction through a sphere to demonstrate these concepts in action.
3D transformations are represented by 4x4 matrices. They include translation, scaling, and rotation. Rotation can be about coordinate axes or arbitrary axes. For arbitrary axis rotation, the process involves translating the axis to the origin, rotating the axis to align with an axis, rotating about that axis, then applying the inverse transformations to return the axis to its original orientation.
Mathematics (from Greek μάθημα máthēma, “knowledge, study, learning”) is the study of topics such as quantity (numbers), structure, space, and change. There is a range of views among mathematicians and philosophers as to the exact scope and definition of mathematics
The document discusses various types of transformations in computer graphics, including translation, scaling, and rotation in both 2D and 3D. Translation moves an object by adding offsets to its coordinates. Scaling changes the size of an object by multiplying its coordinates by scaling factors. Rotation changes the orientation of an object by applying trigonometric functions to its coordinates based on a rotation angle and axis. Transformation matrices are used to represent and apply these operations to objects uniformly.
1. 2D transformations include translation, rotation, scaling, and shearing. They can change an object's position, size, orientation, and shape.
2. Transformations are represented by matrices and applied through matrix multiplication. A sequence of transformations can be combined into a single matrix by multiplying the matrices.
3. Common 2D transformations include translating an object by adding offsets to x and y, rotating objects around an origin by adjusting x and y coordinates, and scaling by multiplying x and y by factors.
This document provides an overview of 3D transformations, including translation, rotation, scaling, reflection, and shearing. It explains that 3D transformations generalize 2D transformations by including a z-coordinate and using homogeneous coordinates and 4x4 transformation matrices. Each type of 3D transformation is defined using matrix representations and equations. Rotation is described for each coordinate axis, and reflection is explained for each axis plane. Shearing is introduced as a way to modify object shapes, especially for perspective projections.
This document summarizes the process of 2D transformations and window to viewport transformation in computer graphics. It describes basic 2D transformations including translation, rotation, scaling and their equation representations. It also explains the concept of composite transformations and discusses translation, rotation and scaling as composite transformations. Finally, it provides details about the window to viewport transformation including translating and scaling the window to fit within the viewport boundaries.
The document provides an overview of 2D and 3D geometric transformations including translation, rotation, scaling, and homogeneous coordinates. It then describes 2D translation, rotation, and scaling transformations through equations, matrix representations, and examples. Key points covered include:
- Translating an object by adding translation distances tx and ty to the original coordinates
- Rotating an object using a rotation angle θ and pivot point coordinates
- Scaling an object by multiplying coordinates by scaling factors sx and sy
- Representing transformations using homogeneous coordinates and transformation matrices
- Composing multiple transformations through matrix multiplication
This is a primer on some of the foundations of 3D math used in computer graphics programming. This is the version of the talk from CocoaConf Chicago 2015.
3D transformation in computer graphicsSHIVANI SONI
This document discusses different types of 2D and 3D transformations that are used in computer graphics, including translation, rotation, scaling, shearing, and reflection. It provides the mathematical equations and transformation matrices used to perform each type of transformation on 2D and 3D points and objects. Key types of rotations discussed are roll (around z-axis), pitch (around x-axis), and yaw (around y-axis). Homogeneous coordinates are introduced for representing 3D points.
CS 354 Object Viewing and RepresentationMark Kilgard
- The document summarizes a lecture on viewing and representing 3D objects in computer graphics. It discusses representing objects as triangle meshes and storing vertex data in arrays indexed by triangle lists. It also covers transforms like glFrustum and gluLookAt for viewing, and examples of modeling transforms.
- Common ways to represent 3D objects include procedural, explicit polygon meshes, and implicit surfaces. Triangle meshes stored with unique vertex positions and triangle indices are popular due to efficiency and compatibility with OpenGL/GPU rendering.
- The lecture also covered projection transforms, modeling transforms, lighting, and "look at" camera positioning for 3D viewing. Next lecture will discuss mesh properties and OpenGL rendering details.
Here are the key steps to solve this problem:
1. Write the rotation matrix for 45 degree rotation about the x-axis:
R = [1 0 0]
[0 cos(45) -sin(45)]
[0 sin(45) cos(45)]
2. Write the scaling matrix with factors of 4 in each direction:
S = [4 0 0]
[0 4 0]
[0 0 4]
3. Pre-multiply the original coordinates by the rotation matrix, then scale the results by pre-multiplying the rotation matrix by the scaling matrix:
A' = SR(0,1,0)
= S(0,0.
- The lecture covered graphics math topics including homogeneous coordinates and projective transformations.
- Homework 2 was due and an in-class quiz was given. Details on Project 1 were announced.
- The final exam date was moved and last class will be a review session. Daily quiz solutions will be provided.
- Office hours and last lecture topics were reviewed to introduce the current lecture on further graphics math concepts.
The document discusses 2D geometric transformations including translation, rotation, and scaling. It explains how each transformation can be represented by a matrix and how point coordinates are transformed. It introduces homogeneous coordinates to allow multiple transformations to be combined into a single matrix multiplication by expanding points into 3D vectors. This allows complex sequences of transformations to be applied efficiently in one step.
This document discusses various 3D geometric transformations including translation, scaling, rotation, and coordinate transformations. It provides details on:
1) How translation, uniform scaling, and relative scaling transformations work in 3D space.
2) How rotations around the x, y, z axes as well as arbitrary axes are performed using transformation matrices.
3) How rotations can also be represented using quaternion algebra and how this relates to transformation matrices.
4) How objects can be transformed between different coordinate systems through sequences of translation, rotation, and scaling transformations.
This document discusses various 3D geometric transformations including translation, scaling, rotation, and coordinate transformations. It provides details on:
1) How translation, uniform scaling, and relative scaling transformations work in 3D space.
2) How rotations around the x, y, z axes as well as general 3D rotations around arbitrary axes are performed.
3) How quaternions can be used to represent rotations and how rotation matrices are derived from quaternions.
4) How reflections, shears, and different coordinate systems require coordinate transformations between systems.
This document discusses various 2D transformations including translation, rotation, scaling, shearing, and their implementations using transformation matrices. Translation moves an object along a straight line and can be represented by a 3x3 matrix. Rotation rotates an object around a center point, with the standard rotation matrix rotating around the origin. Scaling changes the size of an object, which can cause undesirable movement. Shearing skews an object along an axis. The document also covers composing multiple transformations using matrix multiplication and how OpenGL applies transformations through a global model-view matrix.
This document discusses 2D geometric transformations including translation, rotation, scaling, and composite transformations. It provides definitions and formulas for each type of transformation. Translation moves objects by adding offsets to coordinates without deformation. Rotation rotates objects around an origin by a certain angle. Scaling enlarges or shrinks objects by multiplying coordinates by scaling factors. Composite transformations apply multiple transformations sequentially by multiplying their matrices. Homogeneous coordinates are also introduced to represent transformations in matrix form.
This document discusses 2D geometric transformations, including translation, rotation, scaling, and their matrix representations using homogeneous coordinates. It provides the transformation equations and routines for translating, rotating, and scaling polygons. Key points covered include:
- The basic equations for 2D translation, rotation, and scaling
- Using matrix multiplication to represent sequences of transformations
- Expanding 2D coordinates to 3x3 homogeneous coordinates matrices
- The transformation matrices for translation, rotation, and scaling
- Calculating the inverse of transformation matrices
Beginning direct3d gameprogrammingmath06_transformations_20161019_jintaeksJinTaek Seo
This document provides an overview of 2D and 3D transformations using matrices. It discusses 2D rotation, translation, and scaling matrices. For 3D, it covers linear transformations, orthogonal matrices, handedness, cross products, and rotation matrices for the x, y, and z axes. It also discusses combining translation and rotation using 4x4 matrices, concatenating transformations, and how these concepts are applied in Direct3D.
This document discusses 3D transformations in computer graphics including translation, rotation, scaling, and shearing. Translation simply moves an object along the x, y, and z axes and can be represented by a 4x4 matrix. Rotation is more complex in 3D and involves rotating around the x, y, or z axes. Scaling enlarges or shrinks an object along the x, y, and z axes. Shearing skews an object by changing the coordinates of one axis based on the values of another axis. The document provides formulas and examples for performing each type of 3D transformation.
1) 2D geometric transformations include translations, scaling, and rotations. They can be represented by transformation matrices.
2) Translation moves an object by adding offsets to x and y coordinates. It can be represented by a 3x3 matrix with 1s on the diagonal and offsets as the last column.
3) Scaling enlarges or shrinks an object by multiplying x and y coordinates by scaling factors. It can be represented by a 2x2 diagonal matrix with scaling factors.
4) Rotation rotates an object by applying a trigonometric transformation to x and y coordinates. It can be represented by a 2x2 rotation matrix containing cosine and sine of the rotation angle.
Beginning direct3d gameprogramming06_firststepstoanimation_20161115_jintaeksJinTaek Seo
This document provides an overview of transformations in the 3D graphics pipeline, including world, view, projection, and clipping transforms. It explains how to set up common transformation matrices like world, view, and projection matrices in Direct3D. Key matrix classes covered include D3DXMatrixTranslation, D3DXMatrixRotationY, and D3DXMatrixPerspectiveFovLH. The document also discusses quaternions, tutorials for using matrices, and techniques like depth buffering.
1. 2D transformations include translation, rotation, scaling, and shearing. They can change an object's position, size, orientation, and shape.
2. Transformations are represented by matrices and applied through matrix multiplication. A sequence of transformations can be combined into a single matrix by multiplying the matrices.
3. Common 2D transformations include translating an object by adding offsets to x and y, rotating objects around an origin by adjusting x and y coordinates, and scaling by multiplying x and y by factors.
This document provides an overview of 3D transformations, including translation, rotation, scaling, reflection, and shearing. It explains that 3D transformations generalize 2D transformations by including a z-coordinate and using homogeneous coordinates and 4x4 transformation matrices. Each type of 3D transformation is defined using matrix representations and equations. Rotation is described for each coordinate axis, and reflection is explained for each axis plane. Shearing is introduced as a way to modify object shapes, especially for perspective projections.
This document summarizes the process of 2D transformations and window to viewport transformation in computer graphics. It describes basic 2D transformations including translation, rotation, scaling and their equation representations. It also explains the concept of composite transformations and discusses translation, rotation and scaling as composite transformations. Finally, it provides details about the window to viewport transformation including translating and scaling the window to fit within the viewport boundaries.
The document provides an overview of 2D and 3D geometric transformations including translation, rotation, scaling, and homogeneous coordinates. It then describes 2D translation, rotation, and scaling transformations through equations, matrix representations, and examples. Key points covered include:
- Translating an object by adding translation distances tx and ty to the original coordinates
- Rotating an object using a rotation angle θ and pivot point coordinates
- Scaling an object by multiplying coordinates by scaling factors sx and sy
- Representing transformations using homogeneous coordinates and transformation matrices
- Composing multiple transformations through matrix multiplication
This is a primer on some of the foundations of 3D math used in computer graphics programming. This is the version of the talk from CocoaConf Chicago 2015.
3D transformation in computer graphicsSHIVANI SONI
This document discusses different types of 2D and 3D transformations that are used in computer graphics, including translation, rotation, scaling, shearing, and reflection. It provides the mathematical equations and transformation matrices used to perform each type of transformation on 2D and 3D points and objects. Key types of rotations discussed are roll (around z-axis), pitch (around x-axis), and yaw (around y-axis). Homogeneous coordinates are introduced for representing 3D points.
CS 354 Object Viewing and RepresentationMark Kilgard
- The document summarizes a lecture on viewing and representing 3D objects in computer graphics. It discusses representing objects as triangle meshes and storing vertex data in arrays indexed by triangle lists. It also covers transforms like glFrustum and gluLookAt for viewing, and examples of modeling transforms.
- Common ways to represent 3D objects include procedural, explicit polygon meshes, and implicit surfaces. Triangle meshes stored with unique vertex positions and triangle indices are popular due to efficiency and compatibility with OpenGL/GPU rendering.
- The lecture also covered projection transforms, modeling transforms, lighting, and "look at" camera positioning for 3D viewing. Next lecture will discuss mesh properties and OpenGL rendering details.
Here are the key steps to solve this problem:
1. Write the rotation matrix for 45 degree rotation about the x-axis:
R = [1 0 0]
[0 cos(45) -sin(45)]
[0 sin(45) cos(45)]
2. Write the scaling matrix with factors of 4 in each direction:
S = [4 0 0]
[0 4 0]
[0 0 4]
3. Pre-multiply the original coordinates by the rotation matrix, then scale the results by pre-multiplying the rotation matrix by the scaling matrix:
A' = SR(0,1,0)
= S(0,0.
- The lecture covered graphics math topics including homogeneous coordinates and projective transformations.
- Homework 2 was due and an in-class quiz was given. Details on Project 1 were announced.
- The final exam date was moved and last class will be a review session. Daily quiz solutions will be provided.
- Office hours and last lecture topics were reviewed to introduce the current lecture on further graphics math concepts.
The document discusses 2D geometric transformations including translation, rotation, and scaling. It explains how each transformation can be represented by a matrix and how point coordinates are transformed. It introduces homogeneous coordinates to allow multiple transformations to be combined into a single matrix multiplication by expanding points into 3D vectors. This allows complex sequences of transformations to be applied efficiently in one step.
This document discusses various 3D geometric transformations including translation, scaling, rotation, and coordinate transformations. It provides details on:
1) How translation, uniform scaling, and relative scaling transformations work in 3D space.
2) How rotations around the x, y, z axes as well as arbitrary axes are performed using transformation matrices.
3) How rotations can also be represented using quaternion algebra and how this relates to transformation matrices.
4) How objects can be transformed between different coordinate systems through sequences of translation, rotation, and scaling transformations.
This document discusses various 3D geometric transformations including translation, scaling, rotation, and coordinate transformations. It provides details on:
1) How translation, uniform scaling, and relative scaling transformations work in 3D space.
2) How rotations around the x, y, z axes as well as general 3D rotations around arbitrary axes are performed.
3) How quaternions can be used to represent rotations and how rotation matrices are derived from quaternions.
4) How reflections, shears, and different coordinate systems require coordinate transformations between systems.
This document discusses various 2D transformations including translation, rotation, scaling, shearing, and their implementations using transformation matrices. Translation moves an object along a straight line and can be represented by a 3x3 matrix. Rotation rotates an object around a center point, with the standard rotation matrix rotating around the origin. Scaling changes the size of an object, which can cause undesirable movement. Shearing skews an object along an axis. The document also covers composing multiple transformations using matrix multiplication and how OpenGL applies transformations through a global model-view matrix.
This document discusses 2D geometric transformations including translation, rotation, scaling, and composite transformations. It provides definitions and formulas for each type of transformation. Translation moves objects by adding offsets to coordinates without deformation. Rotation rotates objects around an origin by a certain angle. Scaling enlarges or shrinks objects by multiplying coordinates by scaling factors. Composite transformations apply multiple transformations sequentially by multiplying their matrices. Homogeneous coordinates are also introduced to represent transformations in matrix form.
This document discusses 2D geometric transformations, including translation, rotation, scaling, and their matrix representations using homogeneous coordinates. It provides the transformation equations and routines for translating, rotating, and scaling polygons. Key points covered include:
- The basic equations for 2D translation, rotation, and scaling
- Using matrix multiplication to represent sequences of transformations
- Expanding 2D coordinates to 3x3 homogeneous coordinates matrices
- The transformation matrices for translation, rotation, and scaling
- Calculating the inverse of transformation matrices
Beginning direct3d gameprogrammingmath06_transformations_20161019_jintaeksJinTaek Seo
This document provides an overview of 2D and 3D transformations using matrices. It discusses 2D rotation, translation, and scaling matrices. For 3D, it covers linear transformations, orthogonal matrices, handedness, cross products, and rotation matrices for the x, y, and z axes. It also discusses combining translation and rotation using 4x4 matrices, concatenating transformations, and how these concepts are applied in Direct3D.
This document discusses 3D transformations in computer graphics including translation, rotation, scaling, and shearing. Translation simply moves an object along the x, y, and z axes and can be represented by a 4x4 matrix. Rotation is more complex in 3D and involves rotating around the x, y, or z axes. Scaling enlarges or shrinks an object along the x, y, and z axes. Shearing skews an object by changing the coordinates of one axis based on the values of another axis. The document provides formulas and examples for performing each type of 3D transformation.
1) 2D geometric transformations include translations, scaling, and rotations. They can be represented by transformation matrices.
2) Translation moves an object by adding offsets to x and y coordinates. It can be represented by a 3x3 matrix with 1s on the diagonal and offsets as the last column.
3) Scaling enlarges or shrinks an object by multiplying x and y coordinates by scaling factors. It can be represented by a 2x2 diagonal matrix with scaling factors.
4) Rotation rotates an object by applying a trigonometric transformation to x and y coordinates. It can be represented by a 2x2 rotation matrix containing cosine and sine of the rotation angle.
Beginning direct3d gameprogramming06_firststepstoanimation_20161115_jintaeksJinTaek Seo
This document provides an overview of transformations in the 3D graphics pipeline, including world, view, projection, and clipping transforms. It explains how to set up common transformation matrices like world, view, and projection matrices in Direct3D. Key matrix classes covered include D3DXMatrixTranslation, D3DXMatrixRotationY, and D3DXMatrixPerspectiveFovLH. The document also discusses quaternions, tutorials for using matrices, and techniques like depth buffering.
Similar to Computer Graphics Three-Dimensional Geometric Transformations (20)
Software Engineering and Project Management - Introduction, Modeling Concepts...Prakhyath Rai
Introduction, Modeling Concepts and Class Modeling: What is Object orientation? What is OO development? OO Themes; Evidence for usefulness of OO development; OO modeling history. Modeling
as Design technique: Modeling, abstraction, The Three models. Class Modeling: Object and Class Concept, Link and associations concepts, Generalization and Inheritance, A sample class model, Navigation of class models, and UML diagrams
Building the Analysis Models: Requirement Analysis, Analysis Model Approaches, Data modeling Concepts, Object Oriented Analysis, Scenario-Based Modeling, Flow-Oriented Modeling, class Based Modeling, Creating a Behavioral Model.
Comparative analysis between traditional aquaponics and reconstructed aquapon...bijceesjournal
The aquaponic system of planting is a method that does not require soil usage. It is a method that only needs water, fish, lava rocks (a substitute for soil), and plants. Aquaponic systems are sustainable and environmentally friendly. Its use not only helps to plant in small spaces but also helps reduce artificial chemical use and minimizes excess water use, as aquaponics consumes 90% less water than soil-based gardening. The study applied a descriptive and experimental design to assess and compare conventional and reconstructed aquaponic methods for reproducing tomatoes. The researchers created an observation checklist to determine the significant factors of the study. The study aims to determine the significant difference between traditional aquaponics and reconstructed aquaponics systems propagating tomatoes in terms of height, weight, girth, and number of fruits. The reconstructed aquaponics system’s higher growth yield results in a much more nourished crop than the traditional aquaponics system. It is superior in its number of fruits, height, weight, and girth measurement. Moreover, the reconstructed aquaponics system is proven to eliminate all the hindrances present in the traditional aquaponics system, which are overcrowding of fish, algae growth, pest problems, contaminated water, and dead fish.
Batteries -Introduction – Types of Batteries – discharging and charging of battery - characteristics of battery –battery rating- various tests on battery- – Primary battery: silver button cell- Secondary battery :Ni-Cd battery-modern battery: lithium ion battery-maintenance of batteries-choices of batteries for electric vehicle applications.
Fuel Cells: Introduction- importance and classification of fuel cells - description, principle, components, applications of fuel cells: H2-O2 fuel cell, alkaline fuel cell, molten carbonate fuel cell and direct methanol fuel cells.
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
Null Bangalore | Pentesters Approach to AWS IAMDivyanshu
#Abstract:
- Learn more about the real-world methods for auditing AWS IAM (Identity and Access Management) as a pentester. So let us proceed with a brief discussion of IAM as well as some typical misconfigurations and their potential exploits in order to reinforce the understanding of IAM security best practices.
- Gain actionable insights into AWS IAM policies and roles, using hands on approach.
#Prerequisites:
- Basic understanding of AWS services and architecture
- Familiarity with cloud security concepts
- Experience using the AWS Management Console or AWS CLI.
- For hands on lab create account on [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
# Scenario Covered:
- Basics of IAM in AWS
- Implementing IAM Policies with Least Privilege to Manage S3 Bucket
- Objective: Create an S3 bucket with least privilege IAM policy and validate access.
- Steps:
- Create S3 bucket.
- Attach least privilege policy to IAM user.
- Validate access.
- Exploiting IAM PassRole Misconfiguration
-Allows a user to pass a specific IAM role to an AWS service (ec2), typically used for service access delegation. Then exploit PassRole Misconfiguration granting unauthorized access to sensitive resources.
- Objective: Demonstrate how a PassRole misconfiguration can grant unauthorized access.
- Steps:
- Allow user to pass IAM role to EC2.
- Exploit misconfiguration for unauthorized access.
- Access sensitive resources.
- Exploiting IAM AssumeRole Misconfiguration with Overly Permissive Role
- An overly permissive IAM role configuration can lead to privilege escalation by creating a role with administrative privileges and allow a user to assume this role.
- Objective: Show how overly permissive IAM roles can lead to privilege escalation.
- Steps:
- Create role with administrative privileges.
- Allow user to assume the role.
- Perform administrative actions.
- Differentiation between PassRole vs AssumeRole
Try at [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
artificial intelligence and data science contents.pptxGauravCar
What is artificial intelligence? Artificial intelligence is the ability of a computer or computer-controlled robot to perform tasks that are commonly associated with the intellectual processes characteristic of humans, such as the ability to reason.
› ...
Artificial intelligence (AI) | Definitio
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
2. Outline
⚫ 3DTranslation
⚫ 3D Rotation
⚫ 3D Scaling
⚫ Transformations between 3D Coordinate Systems
⚫ OpenGLGeometricTransformation Functions
⚫ OpenGL3D GeometricTransformation Programming Examples
2
3. 3D Transformation
⚫Same as2D.
⚫Add z-axis and z-coordinate.
⚫Use 4X4 homogenous matrix.
(x, y
, z, w)
p
w
m
l z
i
d x
h y
a b c
f g
j k
n o
w'
z'
y' e
x'
3
4. Right-hand coordinate system
⚫ OpenGL: right-hand
⚫ The positive x and yaxes point right and up, and the zaxispoints to the viewer.
⚫ Positive rotation is counterclockwise about the axis of rotation when looking
alongthe positive halfof the axis toward the origin.
4
5. 3D Translation
⚫ Aposition P=(x,y,z) in 3D space is translated to alocation
P’=(x’,y’,z’) byadding translation distances tx,ty, and tz:
z' z tz
x' x tx y' y ty
FIGURE9-2 Shifting the
position of athree-dimensional
object using translationvectorT
.
1
1
0 1
0 0 0
0
0 1 0
1 0 0
t y
z'
y'
x'
tz
z
y
tx x
(9-1)
(9-2)
P' = TP (9-3)
Bymatrix form:
1
or
5
6. 3D Rotation
Positive rotations:counterclockwise when lookingalongthe positive
half of the axis toward the origin
⚫ Coordinate-AxesRotations
⚫ X-axis,Y
-axisor Z-axis rotation
⚫ Rotation about an axis that is in parallel to one of the coordinate axes
⚫ General 3D Rotations
⚫ Rotation about an arbitraryaxis
6
8. 3D Rotations Parallel to Axes
⚫ Rotation an axis that is parallel to one of the coordinate axes
⚫ Translatethe object so that the rotation axis coincides with the parallel
coordinate axis
⚫ Performthe specified rotation about that axis
⚫ Translatethe object so that the rotation axisis moved back to its original
position
8
9. 3D Rotations about Arbitrary Axis
⚫Rotate about the arbitraryaxis through P1 and P2:
1. Translate P1 to origin.
2.Rotate so that the rotation axis is alignedwith one of the
principle coordinate axes.
3. Perform the desired rotation about coordinate axis.
4. Rotate axis back (inverse rotation of 2).
5. Translate axis back(inverse translation of 1).
P1
x
y
z
Arbitraryaxis
P2
9
[T]
[R1]
[R-axis]
[R1]-1
[T]-1
10. 3D Scaling
⚫Scaleobjects relative to the coordinate origin (0, 0, 0)
⚫All vectorsare scaledfrom the origin
Original scale all axes scale Y axis
offset from origin distance from origin also scales
10
12. 3D Scaling
⚫Scaling objects relative to aselected fixed point (xf, yf, zf)
Translate fixed point to origin Scale Translate fixed point back
12
13. 3D Scaling
⚫Scaling objects relative to aselected fixed point (xf, yf, zf)
(cont.)
0 z f
y f
y
f f f x y z f f f
0 sz (1 s )z
0 0 0 1
s 0 (1 s )y
sx 0 0 (1 sx )xf
0
T(x , y , z ) S(s ,s ,s ) T(x ,y ,z )
1
00
01
1 0
1
0
f
f
z
y
f
f
f f f x y z f f f
xf
0 0 0 0 0 0
1 0 s 0 1 0 y
0 0 1 z 0 0 s 00 0 1 z
0 0 0 0 0 10 0 0
y 0
xf sx
T(x , y , z )S(s ,s ,s )T(x ,y ,z )
13
14. Matrix Composition
⚫ Transformations can be combined bymatrix multiplication
1 w
0 z
0 y
0 0 0 x
sy 0
0 sz
0 0
0 0
0sx
1
0
w'
0
z'
0
y'
x'
p’ = T(tx,ty)
1 0 0 tx cos sin 0
1 0 ty sin cos 0
0 1 tz 0 0 1 0 0
0 0 0 0 0 1 0
R(Q) S(sx,sy) p
p’= (T * (R * (S*p) ) )
p’= (T*R*S ) * p
⚫ Order of transformations
⚫Matrix multiplication is not commutative
p’= T * R* S* p
“Global” “Local”
14
15. Transformations Between 3D Coordinate Systems
Mxyz, x'y'z' = R˙T(-x0, -y0, -z0)
If different scalesare used in the two coordinate systems, the scalingtransformation
mayalso be needed.
(P313) 0
0
0
y1 y2 y3
u'z1 u'z2 u'z3
0 0 1
u' u' u'
u'x1 u'x2 u'x3 0
R
FIGURE9-21 Anew x’y’z’coordinate system
defined within an xyzsystem.Ascene description
istransferred to the new coordinate reference
usinga transformationsequencethat
superimposes the x’y’z’frame on the xyzaxes.
Totransfer the xyz coordinate descriptions -> x’y’z’coordinate system
Translation: bring the x’y’z’coordinate origin to the position of the xyz origin.
Transform x’y’z’ onto the corresponding axes xyz: the coordinate-axis rotation
matrix formed bythe unit axisvectors.
which transforms unit vector u’x,
u’y,u’z onto the x,yand z axes.
15
16. OpenGL Geometric Transformation Functions
⚫Becareful of manipulating the matrix in OpenGL
⚫OpenGLuses 4X4 matrix for transformation.
⚫The 16 elements are stored as1D in column-majororder
OpenGLtransformmatrix
⚫C and C++ store matrices in row-majororder
⚫Ifyou declare amatrix to be used in OpenGLas
GLfloat M[4][4];to accessthe element in row i and column j, you
need to refer to it byM[j][i];or, as
GLfloat M[16];and then you need to convert it to conventional row-
majororder.
16
17. OpenGL Transformations
⚫All the transformations done byOpenGLcan be
described asamultiplication of two or more
matrices.
⚫The mathematicsbehind these transformations are greatly
simplifiedbythe mathematicalnotation of the matrix.
⚫Eachof the transformations can be achieved bymultiplying a
matrix that contains the vertices,bya matrix that describes
the transformation.
17
18. OpenGL Geometric Transformation Functions
⚫ BasicOpenGLgeometrictransformations on the matrix:
glT
ranslate* (tx, ty
, tz);
[ glTranslatef(25.0,-10.0,10.0);
- Post-multiplies the current matrix byamatrix that moves the object bythe given x-,
y-, and z-values
glScale* (sx, sy
, sz);
[glScalef (2.0, -3.0, 1.0); ]
- Post-multiplies the current matrix byamatrix that scalesan object about the origin.
None of sx, syor sziszero.
glRotate* (theta,vx, vy
, vz);
[ glRotatef (90.0, 0.0, 0.0, 1.0); ]
- Post-multiplies the current matrix byamatrix that rotates the object in a
counterclockwise direction. vector v=(vx, vy,vz) defines the orientation for the
rotation axis that passesthrough the coordinate origin.( the rotation center is (0, 0, 0) )
18
19. OpenGL: Order in Matrix Multiplication
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ( ); //Set current matrix to the identity
.
glMultMatrixf (elemsM2);//P ost-multiplyidentity bymatrix M2.
glMultMatrixf (elemsM1);//P ost-multiplyM2bymatrix M1.
glBegin (GL_POINTS)
glV
ertex3f (vertex);
glEnd( );
Modelview matrix successivelycontains:
I(identity),M2, M2 M1
The concatenated matrix is:
M=M2 M1
The transformed vertex is:
M2(M1 vertex)
In OpenGL, atransformation sequence is applied in reverse
order of which it isspecified.
19
20. OpenGL: Order in Matrix Multiplication
⚫Example
/ / rotate object 30 degrees around X-axis
glRotatef(30.0, 1.0, 0.0, 0.0);
/ / move object to (x, y
, z)
glTranslatef(x, y
, z);
drawObject();
The object will be translated first then rotated.
20
21. Independent Models: Matrix Stacks
⚫How OpenGL implement the independent models?
⚫OpenGL maintains astack of matrices.
⚫ Each type of the matrix modes hasamatrix stack (modelview,projection,texture,
and color)
⚫ Initial value is identity matrix
⚫ The top matrix on the stack at anytime: the current matrix
⚫ New matrix transformation function is appliedto the current matrix
⚫ To use push or pop functions to modifyit.
21
22. Functions About Matrix Stack Operations
⚫ Find the maximum allowablenumber of matrices in stack
glGetIntegerv (GL_MAX_MODELVIEW_STACK_DEPTH,
stackSize);
glGetIntegerv (GL_MAX_PROJECTION_STACK_DEPTH,
stackSize);
⚫ Find out how manymatrices are currentlyin the stack
glGetIntegerv (GL_MODEL
VIEW_ST
ACK_DEPTH, numMats);
22
23. Functions About Matrix Stack Operations
glPushMatrix ( )
⚫ Push the current matrix down one
level and copythe current matrix
glPopMatrix ( )
⚫ Pop the top matrix off the stack
⚫ Matrix stack is very useful for creating hierarchical model (body,car ...).
⚫ Save the current position (modelview)
⚫ Load aprevious position or new ones
23
25. OpenGL Geometric Trans. Programming Examples
glMatrixMode (GL_MODEL
VIEW); //Identity matrix
glColor3f (0.0, 0.0, 1.0);
glRecti (50, 100, 200, 150);
/ / Set current color to blue
/ / Displayblue rectangle.
glColor3f (1.0, 0.0, 0.0); / / Red
glTranslatef (-200.0, -50.0, 0.0); / / Set translation parameters.
glRecti (50, 100, 200, 150); / / Displayred, translated rectangle.
glLoadIdentity (); / / Reset current matrix to identity
.
glRotatef (90.0, 0.0, 0.0, 1.0); / / Set 90-deg, rotation about zaxis.
glRecti (50, 100, 200, 150); / / Displayred, rotated rectangle.
glLoadIdentity ();
glScalef (-0.5, 1.0, 1.0);
/ / Reset current matrix to identity
.
/ / Set scale-reflection parameters.
glRecti (50, 100, 200, 150); / / Displayred, transformed rectangle.
25
26. OpenGL Geometric Trans. Programming Examples
glColor3f (0.0, 0.0, 1.0);
glRecti (50, 100, 200, 150);
/ / Set current color to blue.
/ / Displayblue rectangle.
glPushMatrix (); / / Make copyof identity (top) matrix.
glColor3f (1.0, 0.0, 0.0); / / Set current color to red.
glTranslatef (-200.0, -50.0, 0.0); / / Set translation parameters.
glRecti (50, 100, 200, 150); / / Displayred, translated rectangle.
glPopMatrix (); / / Throw awaythe translation matrix.
glPushMatrix (); / / Make copyof identity (top) matrix.
glRotatef (90.0, 0.0, 0.0, 1.0); / / Set 90-deg, rotation about zaxis.
glRecti (50, 100, 200, 150); / / Displayred, rotated rectangle.
glPopMatrix (); / / Throw awaythe rotation matrix.
glScalef (-0.5, 1.0, 1.0);
glRecti (50, 100, 200, 150);
/ / Set scale-reflection parameters.
/ / Displayred, transformed rectangle.
⚫More efficient way:glPushMatrix/glPopMatrix
glMatrixMode (GL_MODEL
VIEW);
26
27. Example
⚫Drawing acar’wheels with bolts
draw_wheel( );
for (j=0; j<5; j++) {
glPushMatrix ();
glRotatef(72.0*j, 0.0, 0.0, 1.0);
glTranslatef (3.0, 0.0, 0.0);
draw_bolt ( );
glPopMatrix ( );
}
R
RT
RTv
Global – Bottom Up
Start Rot
Trans
The wheels and bolt axes are coincident with z-axis;the
bolts are evenlyspaced every72 degrees,3 units fromthe
center of the wheel.
27
28. Summary
⚫ Basic3D geometrictransformations
⚫ Translation
⚫ Rotation
⚫ Scaling
⚫ Combination of these transformations
⚫ OpenGL3D geometric transformation functions
⚫ GL_MODEL
VIEWmatrix
⚫ Order in multiple matrix multiplication
⚫ Matrix stack
⚫ glPushMatrix ()
⚫ glPopMatrix ()
28