C Tutorial

C Tutorial C Language Environment Setup Execution flow of C program C printf and Scanf C Data type C Token Variable in C Operators in C Comments in C Escape Sequence in C C – Storage Classes C Decision control statement Loop Statement in C Break, continue and goto statement in C Type Casting in C Function in C Recursion in C String in C C Array Pointer in C Dynamic memory allocation C –Structure Nested Structure in C Union in C File Handling in C C pre-processor Static Function In C Sizeof In C Selection Sort In C Scope Of Variables In C Runtime Vs Compile Time In C Random Access Lseek In C Queue Implementation In C Pseudo Code In C Prototype In C Pointer To Pointer In C Pointer Arithmetic In C Passing Array To Function In C Null Character In C Merge Sort In C Macros In C Library Functions In C Memory Leak In C Int In C Goto And Labels In C Fibonacci Series In C Fflush In C Derived Data Types In C Data Types In C Const Vs Volatile In C Character Set In C Character Class Tests In C Calloc In C C Pointers Arrays In C Include In C Clrscr In C C Vs Java String Literals In C Types Of Pointers In C Variables In C Volatile In C Why C Is A Middle Level Language Infix To Postfix Program In C Ceil function in C LCM of two numbers in C Quick sort in C Static in C function pointer as argument in C Top Array Keywords in C Add two numbers using the function in C Armstrong program in C using function Array, Declaring Arrays and Array Initialization Limitations of Inline Function in C Merge and Merge sort with example in C Do-While Loop in C For Loop in C While-Loop in C Difference between while and do-while loop in C Array Of Structures in C Data Structures And Algorithms in C Types Of Structures In C How to Avoid Structure Padding in C Use of Structure in C Do WHILE LOOP in C Programming Examples For Loop in C Programming Examples Entry Control Loop in C Exit control loop in C Infinite loop in C Nested loop in C pow() function in C String Handling functions in C Prime Number code in C Factorial Program in C using For Loop Factorial Program in C Using While Loop Fibonacci Series in C Using For Loop Fibonacci series in C using while loop Prime Number Program in C using for Loop While Loop in C programming examples Built-in functions in C Assert() Function C vs Java Strings Call Back Function in Embedded C Else If Ladder fgets() function Ftell() Function getc() function getch() function gets() function Heap Sort Nested if-else statement Pi() Function Positioning of file Write() function abs() function in C Attributes in C C program to find factorial of a number using Recursion Ferror() in c fopen() function in C Fibonacci series program in C using Recursion Formatted Input and output function in C Snake Game in C User Defined Functions in C Beep() function in C Cbrt() function in C Hook() function in C Isalnum() function in C C Program to find the Roots of a Quadratic Equation C Switch Statements Difference between rand() and srand() function in C Difference between while and for loop in C Doubly Linked list in C Example of Iteration in C How to use atoi() function in C How to use floor() function in C How to use sine() function in C How to use Typedef Struct in C Integer Promotions in C C Program Swap Numbers in cyclic order Using Call by Reference C Program to Find Largest Number Using Dynamic Memory Allocation C Program to Find the Largest Number using Ternary Operator C/C++ Program to Find the Size of int, float, double and char Find the Largest Three Distinct Elements in an Array using C/C++ Loop Questions in C Modulus on Negative Numbers in C Multiplication table program in C using For loop Nested Loops in C Programming Examples C Program for Mean and Median of an Unsorted Array Results of Comparison Operations in C and C++ Reverse a Stack using Recursion in C Simple hash() function in C strcat() Function in C Sum of N numbers in C using For loop Use of free() function in C Write a program that produces different results in C and C++ C Function Argument and Return Values Keywords in C Bank management system in C Calendar application in C Floor() Function in C Free() Function in C How to delete a file in C How to move a text in C Remove an element from an array in C Unformatted input() and output() function in C What are linker and loader in C SJF Scheduling Program in C Socket Programming in C Structure in C Tower of Hanoi in C Union Program in C Variable Declaration in C What is Linked List in C While Loop Syntax in C fork() in C GCD program in C Branching Statements in C Comma Operator in C Control statement in C Double Specifier in C How to create a binary file in C Long int in C Palindrome Number in C Pure Virtual Function in C Run Time Polymorphism in C Types of Array in C Types of Function in C What is a buffer in C What is required in each C Program Associativity of Operators in C Bit Stuffing Program in C Actual and Formal Parameters Addition of two Numbers in C Advantages of function in C Arithmetic Progression Program in C Binomial Coefficient Program in C Difference between Array and List in C Diffie-Hellman Algorithm in C How to convert a number to words in C How to convert a string to hexadecimal in C Difference between If and Switch Statement in C C and C++ Binary Files C program that does not Suspend when Ctrl+Z is Pressed Different ways to Declare the Variable as Constant in C Range of Int in C C Program to find the size of a File FIFO Example in the C Language For loop in C Programming GCD program of two numbers in C GPA Calculator in C How to Calculate Time Complexity in C How to include graphics.h in C How to measure time taken by a function in C How to return a Pointer from a Function in C What is the main in C Addition of Matrix in C Booleans in C C Program for Extended Euclidean algorithms C Program of Fencing the Ground Ceil and Floor in C Compound Interest Program in C Displaying Array in C Distance Vector Routing Protocol Program in c Dos.h Header File in C Language DSA Program in C Explain the two-way selection in C Fee Management System in C File Operations in C Malloc function in C Multiplication Table in C Simple Programs in C Language tolower() Function in C Type Conversion in the C Why does sizeof(x++) not Increment x in C Advantages of Dynamic Memory Allocation in C Armstrong Number in C Assignment Operator Program in C Banker’s Algorithm in C Binary Search in C with Best and Worst Time Complexity Caesar Cipher Program in C Call by Value and Call by Reference in C Conditional Operator in C CRC Program in C Deadlock Detection Program in C Decimal to Binary in C Difference between If Else and Nested If Else in C Difference between Pre-increment and Post-increment in C Difference between Scope and Lifetime in C Evaluation of Arithmetic Expression in C Explain the Increment and Decrement Operators in C Fseek Function in C Functions in C How to Find Square Free Numbers in C Length of an Array Function in C OpenGL in C Projects on C language in 2023 Purpose of a Function Prototype in C Stdio.h in C Two-Dimensional array in C What is String Comparison in C C Compilers for Windows Functions and Recursion in C How to Declare Boolean in C How to Declare Character in C How to Round up a number in C How to use strlen() in C Pointer Declaration in C Algorithm for String Palindrome in C C Program to find ASCII value of a character Constant Pointer in C How to find string length in C using strlen() function Implicit and Explicit in C Indirect Recursion in C Input and Output functions in C isupper() in C Jump Statement in C Lifetime of a Variable in C Linker Error in C Language Numeric Constant in C Size of Pointer in C Square Root in C Language Static and Dynamic Memory allocation String Declaration in C Strong Number in C Symmetric Matrix in C Types of C Tokens What is a Size of Pointer in C What is Increment and Decrement Operator in C 1 2 3 4 Series Program in C Advantages and Disadvantages of C Language C Program for Polynomial Addition C Program to Count the Number of Vowels in a String C Programming Errors and Solutions Compilation Errors in C Complex C Programs Difference between Argument and Parameter in C Difference between char s[] and char *s in C Evaluation of Postfix Expression Using Stack in C Find Leftmost and Rightmost Set Bit of a Number fprintf and fscanf in C Introduction to Dynamic Array in C Print Address in C Realloc function in C Ternary Operators in C Types of Tokens in C with Examples Difference between Static and Dynamic Memory Allocation in C Addition Program in C Array Definition in C Array of Pointers in C Arrow Operator in C Average of Two Numbers in C Binary to Decimal in C Binary to Octal in C BREAK STATEMENT in C C Programming Operators Questions C Programs Asked in Interview Calculator Program in C C Program to Read and Print an Employee's Detail Using Structure Bubble Sort Algorithm in C C Program to Find Area and Perimeter of Circle C Program to Check Whether a Given Number is Even or Odd C in Roman Numerals C Program to Make a Simple Calculator Using Switch Case Insertion Sort Program in C How to take input in string in C GCC Conflicting Types in C Function Definition in C Format Specifier for Hexadecimal in C Flowchart in C Float in C Fizzbuzz Implementation in C Conditional Statement in C Conio.h functions list in C Constants in C Dynamic Array in C Decision Making Statements in C Continue Statement in C Creation of Thread in C DFS Algorithm in C Difference between parameter and arguments in C Dijkstra's Algorithm in C Leap Year Program in C Jump Statements in C Modulus Operator in C Memory Allocation in C Simple Interest Program in C Reverse Array in C Recursive Function in C Queue in C Printing Pascal’s Triangle in C Preprocessor Directives in C Perror() in C Perfect Number in C Programming Language Parameter Passing Techniques in C Pascal Triangle in C Patterm Program in C Affine cipher in C Dereferencing pointer in C Internal static variable vs External static variables in C Difference between exit(0) and exit(1) in C Booth's Algorithm in C Condition Control Statements in C Double Specifier in C Dynamic variables in C How to print alphabets in C How to print char array in c Order of Evaluation in C Order of Operations in C Semantic Error in C Size of String Variable in C SJF PREEMPTIVE SCHEDULING PROGRAM C: Tree in C Arithmetic Progression Program in C Array, Declaring Arrays, and Array Initialization ARRAYS IN C Assert() Function in c Atoi in C Bar3d() function in C Graphics Beep function in c Bigint (BIG INTEGERS) in C with Example Builtin functions of GCC compiler Fibonacci series in C Priority Queue in C 2D ARRAY IN C 7 Best IDEs for C/C++ Developers in 2022 Addition of Two Numbers in C Advantages and Disadvantages of C Language Advantages of Function in C Algorithm for String Palindrome in C What is fgets in C language 2d Shearing Program in C Recursion Questions In C Static Identifier in C Inserting elements in an array using C Language complex.h Header File in C fsetpos()(set file position) in C Comparator function of qsort() in C Print Hex in C strnset() function in C %d in C Butterfly Star pattern in C C form format in Excel Scan Line Polygon Filling in C 8 Queens Problem in C Back Trace in C BSS (Block Started by Symbol) Data Segment in C language Class C in Networking Strings in C Programming What is Circular linked list? What is Loop in C BITWISE OPERATOR IN C LANGUAGE BOMB DIFFUSION PROGRAM IN C LANGUAGE

2d Shearing Program in C

Shearing modifies a 2D object's size and shape along the x and y axes. It's like dragging each layer in one way to reshape a two-dimensional object. It is the perfect method for altering an object's shape in a two-dimensional space. The X and Y directions can alter an object's size in a two-dimensional plane.

  • Shear x-ray:

The x coordinates shift in x shear, but the coordinates of y stay the same. If the point is P(x, y), the new points are P'(x', y'), which are indicated as follows:

y'=y; x'=x+Sh_x*y
  • Y-Shear:

In y Shear, the y coordinates shift while the x coordinates stay the same. If P(x, y) is the point, then P'(x', y') will be the new points, with the formula 

x'=x; y'=y+Sh_y*x. 
  • x-y Shear:

Both the x and y coordinates change in an x-y shear. The new points, P'(x', y'), will be presented as follows if P(x, y) is the point:

x'= x+Sh_x*y; y'= y+Sh_y*x.

Two primary forms of two-dimensional shearing exist:

 Vertical (y-axis) and horizontal (x-axis) shearing.

  • X-Axis horizontal shearing:

Each point on a horizontal line is displaced by a distance proportional to its separation from a stationary vertical line in a process known as horizontal shearing.  

  • Vertical Shearing on the Y-Axis:

Every point on a vertical line is moved by a distance proportional to its separation from a stationary horizontal line in a process known as vertical shearing.

C code for doing out 2D shearing along the x-axis:

Example code:

#include<stdio.h>

#include<graphics.h>

#include<conio.h>

void main()

{

int gd=DETECT,gm;

int x,y,x1,y1,x2,y2,x3,y3,shear_f;

initgraph(&gd,&gm,"C:\\TURBOC3\\BGI");

printf("\n enter the first coordinate = ");

scanf("%d %d",&x,&y);

printf("\n enter the second coordinate = ");

scanf("%d %d",&x1,&y1);

printf("\n enter the third coordinate = ");

scanf("%d %d",&x2,&y2);

printf("\n enter the last coordinate = ");

scanf("%d %d",&x3,&y3);

printf("\n enter the shearing factor x = ");

scanf("%d",&shear_f);

cleardevice();

line(x,y,x1,y1);

line(x1,y1,x2,y2);

line(x2,y2,x3,y3);

line(x3,y3,x,y);

setcolor(RED);

x=x+ y*shear_f;

x1=x1+ y1*shear_f;

x2=x2+ y2*shear_f;

x3=x3+ y3*shear_f;

line(x,y,x1,y1);

line(x1,y1,x2,y2);

line(x2,y2,x3,y3);

line(x3,y3,x,y);

getch();

closegraph();

}

Output:

2d Shearing Program in C

C code for doing out 2D shearing along the y-axis:

Example Code:

#include<stdio.h>

#include<graphics.h>

#include<conio.h>

void main()

{

int gd=DETECT,gm;

int x,y,x1,y1,x2,y2,x3,y3,shear_f;

initgraph(&gd,&gm,"C:\\TURBOC3\\BGI");

printf("\n  enter the first coordinate = ");

scanf("%d %d",&x,&y);

printf("\n  enter the second coordinate = ");

scanf("%d %d",&x1,&y1);

printf("\n  enter the third coordinate = ");

scanf("%d %d",&x2,&y2);

printf("\n  enter the last coordinate = ");

scanf("%d %d",&x3,&y3);

printf("\n  enter the shearing factor y = ");

scanf("%d",&shear_f);

cleardevice();

line(x,y,x1,y1);

line(x1,y1,x2,y2);

line(x2,y2,x3,y3);

line(x3,y3,x,y);

setcolor(RED);

y=y+ x*shear_f;

y1=y1+ x1*shear_f;

y2=y2+ x2*shear_f;

y3=y3+ x3*shear_f;

line(x,y,x1,y1);

line(x1,y1,x2,y2);

line(x2,y2,x3,y3);

line(x3,y3,x,y);

getch();

closegraph();

}

Output:

2d Shearing Program in C

Uses for two-dimensional shearing

  • Replicate Motion:

In a 2D scene, shearing might mimic the look of motion. Shearing an object vertically, for instance, might create the appearance that it is leaning or slipping in one way.

  • Text Italics:

Shearing is a common typographic and graphics design technique to produce slanted or italic text. It offers a method of producing text at a certain angle without modifying the typeface.

  • Slanted Shape Creation:

Shearing is a tool that may be used to skew or slant shapes. This helps to create ensembles that are dynamic and visually appealing in design and visuals.

  • Picture Distortion:

A picture can be carefully distorted by using shearing. You can use this distortion to make interesting effects or for artistic purposes.

  • Computer-Aided Design, or CAD:

Shearing is a technique used in CAD systems to modify object forms. This can help change how components are oriented inside a design.

  • Computer Games:

In-game graphics, shearing can produce dynamic effects like tilting or inclined game objects to represent motion or a dynamic environment.

  • Animation:

In movement, shearing is a helpful transition to produce eye-catching effects. It might be applied to certain frames or items to evoke a sensation of distortion or motion.

  • Designing a user interface with graphics (GUI):

Shearing might be used to add perspective or depth to graphical objects in user interfaces. Both the user experience and visual attractiveness may benefit from this.

  • Augmented reality (AR) and virtual reality (VR):

Shearing is useful for changing how items seem in augmented and virtual reality settings. It facilitates the development of realistic attitudes and viewpoints.

  • Digital Illustration and Art:

Shearing is a tool artists use to reshape and distort objects in digital artwork. It allows artists to express their creativity and lets them try out various visual aesthetics.