mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-05 22:09:56 +03:00
Fix wrong usage of "it's" for "its" (#336)
(cherry picked from commit a75a30d897)
This commit is contained in:
committed by
Rémi Verschelde
parent
f171c78980
commit
bf6ff1831a
@@ -159,7 +159,7 @@ Member Functions
|
|||||||
Numeric Constants
|
Numeric Constants
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
- **PI** = **3.141593** --- Constant that represents how many times the diameter of a circumference fits around it's perimeter.
|
- **PI** = **3.141593** --- Constant that represents how many times the diameter of a circumference fits around its perimeter.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ Member Functions
|
|||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Circular Shape for 2D Physics. This shape is useful for modeling balls or small characters and it's collision detection with everything else is very fast.
|
Circular Shape for 2D Physics. This shape is useful for modeling balls or small characters and its collision detection with everything else is very fast.
|
||||||
|
|
||||||
Member Function Description
|
Member Function Description
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|||||||
@@ -40,6 +40,6 @@ This function is called for each file exported and depending from the return val
|
|||||||
|
|
||||||
2) If the returned value is a RawAray (array of bytes), the content of that array becomes the new file being exported.
|
2) If the returned value is a RawAray (array of bytes), the content of that array becomes the new file being exported.
|
||||||
|
|
||||||
3) If the file must also change it's name when exported, then a :ref:`Dictionary<class_dictionary>` must be returned with two fields: 'name' with the new filename and 'data' with a :ref:`RawArray<class_rawarray>` containing the raw contents of the file. Even if the name is changed, the run-time will redirect the old file to the new file automatically when accessed.
|
3) If the file must also change its name when exported, then a :ref:`Dictionary<class_dictionary>` must be returned with two fields: 'name' with the new filename and 'data' with a :ref:`RawArray<class_rawarray>` containing the raw contents of the file. Even if the name is changed, the run-time will redirect the old file to the new file automatically when accessed.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ EditorPlugin
|
|||||||
Brief Description
|
Brief Description
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
Used by the editor to extend it's functionality.
|
Used by the editor to extend its functionality.
|
||||||
|
|
||||||
Member Functions
|
Member Functions
|
||||||
----------------
|
----------------
|
||||||
@@ -332,7 +332,7 @@ Remove the import plugin, don't forget to call this on exit.
|
|||||||
|
|
||||||
- void **save_external_data** **(** **)** virtual
|
- void **save_external_data** **(** **)** virtual
|
||||||
|
|
||||||
This method is called after the editor save the project or when the it's closed. It asks the plugin to save edited external scenes/resources.
|
This method is called after the editor saves the project or when it's closed. It asks the plugin to save edited external scenes/resources.
|
||||||
|
|
||||||
.. _class_EditorPlugin_set_state:
|
.. _class_EditorPlugin_set_state:
|
||||||
|
|
||||||
|
|||||||
@@ -63,11 +63,11 @@ Numeric Constants
|
|||||||
- **RESULT_CONNECTION_ERROR** = **4** --- Request failed due to connection(read/write) error.
|
- **RESULT_CONNECTION_ERROR** = **4** --- Request failed due to connection(read/write) error.
|
||||||
- **RESULT_SSL_HANDSHAKE_ERROR** = **5** --- Request failed on SSL handshake.
|
- **RESULT_SSL_HANDSHAKE_ERROR** = **5** --- Request failed on SSL handshake.
|
||||||
- **RESULT_NO_RESPONSE** = **6** --- Request does not have a response(yet).
|
- **RESULT_NO_RESPONSE** = **6** --- Request does not have a response(yet).
|
||||||
- **RESULT_BODY_SIZE_LIMIT_EXCEEDED** = **7** --- Request exceded it's maximum size limit, see :ref:`set_body_size_limit<class_HTTPRequest_set_body_size_limit>`.
|
- **RESULT_BODY_SIZE_LIMIT_EXCEEDED** = **7** --- Request exceded its maximum size limit, see :ref:`set_body_size_limit<class_HTTPRequest_set_body_size_limit>`.
|
||||||
- **RESULT_REQUEST_FAILED** = **8** --- Request failed. (unused)
|
- **RESULT_REQUEST_FAILED** = **8** --- Request failed. (unused)
|
||||||
- **RESULT_DOWNLOAD_FILE_CANT_OPEN** = **9** --- HTTPRequest couldn't open the download file.
|
- **RESULT_DOWNLOAD_FILE_CANT_OPEN** = **9** --- HTTPRequest couldn't open the download file.
|
||||||
- **RESULT_DOWNLOAD_FILE_WRITE_ERROR** = **10** --- HTTPRequest couldn't write to the download file.
|
- **RESULT_DOWNLOAD_FILE_WRITE_ERROR** = **10** --- HTTPRequest couldn't write to the download file.
|
||||||
- **RESULT_REDIRECT_LIMIT_REACHED** = **11** --- Request reached it's maximum redirect limit, see :ref:`set_max_redirects<class_HTTPRequest_set_max_redirects>`.
|
- **RESULT_REDIRECT_LIMIT_REACHED** = **11** --- Request reached its maximum redirect limit, see :ref:`set_max_redirects<class_HTTPRequest_set_max_redirects>`.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ Return a resolved item address, or an empty string if an error happened or resol
|
|||||||
|
|
||||||
- :ref:`int<class_int>` **get_resolve_item_status** **(** :ref:`int<class_int>` id **)** const
|
- :ref:`int<class_int>` **get_resolve_item_status** **(** :ref:`int<class_int>` id **)** const
|
||||||
|
|
||||||
Return the status of hostname queued for resolving, given it's queue ID. Returned status can be any of the RESOLVER_STATUS\_\* enumeration.
|
Return the status of hostname queued for resolving, given its queue ID. Returned status can be any of the RESOLVER_STATUS\_\* enumeration.
|
||||||
|
|
||||||
.. _class_IP_resolve_hostname:
|
.. _class_IP_resolve_hostname:
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,6 @@ Lowers the :ref:`Semaphore<class_semaphore>`, allowing one more thread in.
|
|||||||
|
|
||||||
- Error **wait** **(** **)**
|
- Error **wait** **(** **)**
|
||||||
|
|
||||||
Tries to wait for the :ref:`Semaphore<class_semaphore>`, if it's value is zero, blocks until non-zero.
|
Tries to wait for the :ref:`Semaphore<class_semaphore>`, if its value is zero, blocks until non-zero.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ platform:
|
|||||||
|
|
||||||
To create those yourself, just follow the instructions detailed for each
|
To create those yourself, just follow the instructions detailed for each
|
||||||
platform in this same tutorial section. Each platform explains how to
|
platform in this same tutorial section. Each platform explains how to
|
||||||
create it's own template.
|
create its own template.
|
||||||
|
|
||||||
If you are working for multiple platforms, OSX is definitely the best
|
If you are working for multiple platforms, OSX is definitely the best
|
||||||
host platform for cross compilation, since you can cross-compile for
|
host platform for cross compilation, since you can cross-compile for
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ A Variant can:
|
|||||||
|
|
||||||
- Store almost any datatype
|
- Store almost any datatype
|
||||||
- Perform operations between many variants (GDScript uses Variant as
|
- Perform operations between many variants (GDScript uses Variant as
|
||||||
it's atomic/native datatype).
|
its atomic/native datatype).
|
||||||
- Be hashed, so it can be compared quickly to over variants
|
- Be hashed, so it can be compared quickly to over variants
|
||||||
- Be used to convert safely between datatypes
|
- Be used to convert safely between datatypes
|
||||||
- Be used to abstract calling methods and their arguments (Godot
|
- Be used to abstract calling methods and their arguments (Godot
|
||||||
exports all it's functions through variants)
|
exports all its functions through variants)
|
||||||
- Be used to defer calls or move data between threads.
|
- Be used to defer calls or move data between threads.
|
||||||
- Be serialized as binary and stored to disk, or transferred via
|
- Be serialized as binary and stored to disk, or transferred via
|
||||||
network.
|
network.
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ CanvasLayers
|
|||||||
------------
|
------------
|
||||||
|
|
||||||
The answer is :ref:`CanvasLayer <class_CanvasLayer>`,
|
The answer is :ref:`CanvasLayer <class_CanvasLayer>`,
|
||||||
which is a node that adds a separate 2D rendering layer for all it's
|
which is a node that adds a separate 2D rendering layer for all its
|
||||||
children and grand-children. Viewport children will draw by default at
|
children and grand-children. Viewport children will draw by default at
|
||||||
layer "0", while a CanvasLayer will draw at any numeric layer. Layers
|
layer "0", while a CanvasLayer will draw at any numeric layer. Layers
|
||||||
with a greater number will be drawn above those with a smaller number.
|
with a greater number will be drawn above those with a smaller number.
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ Cutout in Godot
|
|||||||
~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Godot provides a few tools for working with these kind of assets, but
|
Godot provides a few tools for working with these kind of assets, but
|
||||||
it's overall design makes it ideal for the workflow. The reason is that,
|
its overall design makes it ideal for the workflow. The reason is that,
|
||||||
unlike other tools meant for this, Godot has the following advantages:
|
unlike other tools meant for this, Godot has the following advantages:
|
||||||
|
|
||||||
- **The animation system is fully integrated with the engine**: This
|
- **The animation system is fully integrated with the engine**: This
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ corner of the parent control or viewport.
|
|||||||
|
|
||||||
.. image:: /img/marginend.png
|
.. image:: /img/marginend.png
|
||||||
|
|
||||||
Here the control is set to expand it's bottom-right corner with that of
|
Here the control is set to expand its bottom-right corner with that of
|
||||||
the parent, so when re-sizing the parent, the control will always cover
|
the parent, so when re-sizing the parent, the control will always cover
|
||||||
it, leaving a 20 pixel margin:
|
it, leaving a 20 pixel margin:
|
||||||
|
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ ToneMapper
|
|||||||
The ToneMapper is the heart of the algorithm. Many options for
|
The ToneMapper is the heart of the algorithm. Many options for
|
||||||
tonemappers are provided:
|
tonemappers are provided:
|
||||||
|
|
||||||
- Linear: Simplest tonemapper. It does it's job for adjusting scene
|
- Linear: Simplest tonemapper. It does its job for adjusting scene
|
||||||
brightness, but if the differences in light are too big, it will
|
brightness, but if the differences in light are too big, it will
|
||||||
cause colors to be too saturated.
|
cause colors to be too saturated.
|
||||||
- Log: Similar to linear, but not as extreme.
|
- Log: Similar to linear, but not as extreme.
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ each viewport:
|
|||||||
regardless of any other camera in the scene. If the property is set,
|
regardless of any other camera in the scene. If the property is set,
|
||||||
it will become active, replacing the previous camera.
|
it will become active, replacing the previous camera.
|
||||||
- If an active camera leaves the scene tree, the first camera in
|
- If an active camera leaves the scene tree, the first camera in
|
||||||
tree-order will take it's place.
|
tree-order will take its place.
|
||||||
|
|
||||||
Lights
|
Lights
|
||||||
------
|
------
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ Example
|
|||||||
-------
|
-------
|
||||||
|
|
||||||
An example of this is creating a popup or panel with controls inside,
|
An example of this is creating a popup or panel with controls inside,
|
||||||
and set it's pause mode to "Process" then just hide it:
|
and set its pause mode to "Process" then just hide it:
|
||||||
|
|
||||||
.. image:: /img/pause_popup.png
|
.. image:: /img/pause_popup.png
|
||||||
|
|
||||||
|
|||||||
@@ -21,14 +21,14 @@ The main uses in question are:
|
|||||||
- **Sub-Viewports**: These can be created when a Viewport is a child of
|
- **Sub-Viewports**: These can be created when a Viewport is a child of
|
||||||
a :ref:`Control <class_Control>`.
|
a :ref:`Control <class_Control>`.
|
||||||
- **Render Targets**: Viewports can be set to "RenderTarget" mode. This
|
- **Render Targets**: Viewports can be set to "RenderTarget" mode. This
|
||||||
means that the viewport is not directly visible, but it's contents
|
means that the viewport is not directly visible, but its contents
|
||||||
can be accessed via a :ref:`Texture <class_Texture>`.
|
can be accessed via a :ref:`Texture <class_Texture>`.
|
||||||
|
|
||||||
Input
|
Input
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Viewports are also responsible of delivering properly adjusted and
|
Viewports are also responsible of delivering properly adjusted and
|
||||||
scaled input events to all it's children nodes. Both the root viewport
|
scaled input events to all its children nodes. Both the root viewport
|
||||||
and sub-viewports do this automatically, but render targets do not.
|
and sub-viewports do this automatically, but render targets do not.
|
||||||
Because of this, the user must do it manually via the
|
Because of this, the user must do it manually via the
|
||||||
:ref:`Viewport.input() <class_Viewport_input>` function if needed.
|
:ref:`Viewport.input() <class_Viewport_input>` function if needed.
|
||||||
@@ -108,10 +108,10 @@ the game (like in Starcraft).
|
|||||||
|
|
||||||
As a helper for situations where you want to create viewports that
|
As a helper for situations where you want to create viewports that
|
||||||
display single objects and don't want to create a world, viewport has
|
display single objects and don't want to create a world, viewport has
|
||||||
the option to use it's own World. This is very useful when you want to
|
the option to use its own World. This is very useful when you want to
|
||||||
instance 3D characters or objects in the 2D world.
|
instance 3D characters or objects in the 2D world.
|
||||||
|
|
||||||
For 2D, each Viewport always contains it's own :ref:`World2D <class_World2D>`.
|
For 2D, each Viewport always contains its own :ref:`World2D <class_World2D>`.
|
||||||
This suffices in most cases, but in case sharing them may be desired, it
|
This suffices in most cases, but in case sharing them may be desired, it
|
||||||
is possible to do so by calling the viewport API manually.
|
is possible to do so by calling the viewport API manually.
|
||||||
|
|
||||||
@@ -147,7 +147,7 @@ display anything it has inside. The layout is something like this:
|
|||||||
|
|
||||||
- Viewport
|
- Viewport
|
||||||
|
|
||||||
The viewport will cover the area of it's parent control completely.
|
The viewport will cover the area of its parent control completely.
|
||||||
|
|
||||||
.. image:: /img/subviewport.png
|
.. image:: /img/subviewport.png
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ spaceship. Be it for 2D in a drawing such as Paint.net, Gimp,
|
|||||||
Photoshop, etc. or in 3D through a 3D DCC tool such as Blender, Max,
|
Photoshop, etc. or in 3D through a 3D DCC tool such as Blender, Max,
|
||||||
Maya, etc.
|
Maya, etc.
|
||||||
|
|
||||||
When it was designed, it was not rotated. It was designed in it's own
|
When it was designed, it was not rotated. It was designed in its own
|
||||||
*coordinate system*.
|
*coordinate system*.
|
||||||
|
|
||||||
.. image:: /img/tutomat2.png
|
.. image:: /img/tutomat2.png
|
||||||
@@ -45,7 +45,7 @@ So, let's recall again that the ship was somewhere in space:
|
|||||||
.. image:: /img/tutomat3.png
|
.. image:: /img/tutomat3.png
|
||||||
|
|
||||||
How did it get there? What moved it and rotated it from the place it was
|
How did it get there? What moved it and rotated it from the place it was
|
||||||
designed to it's current position? The answer is... a **transform**, the
|
designed to its current position? The answer is... a **transform**, the
|
||||||
ship was *transformed* from their original position to the new one. This
|
ship was *transformed* from their original position to the new one. This
|
||||||
allows the ship to be displayed where it is.
|
allows the ship to be displayed where it is.
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@ the point:
|
|||||||
|
|
||||||
var final_pos = x.dot(new_pos) + y.dot(new_pos)
|
var final_pos = x.dot(new_pos) + y.dot(new_pos)
|
||||||
|
|
||||||
Then what we have is.. wait a minute, it's the ship in it's design
|
Then what we have is.. wait a minute, it's the ship in its design
|
||||||
position!
|
position!
|
||||||
|
|
||||||
.. image:: /img/tutomat9.png
|
.. image:: /img/tutomat9.png
|
||||||
@@ -149,7 +149,7 @@ Matrix32
|
|||||||
:ref:`Matrix32 <class_Matrix32>` is a 3x2 matrix. It has 3 Vector2 elements and
|
:ref:`Matrix32 <class_Matrix32>` is a 3x2 matrix. It has 3 Vector2 elements and
|
||||||
it's used for 2D. The "X" axis is the element 0, "Y" axis is the element 1 and
|
it's used for 2D. The "X" axis is the element 0, "Y" axis is the element 1 and
|
||||||
"Origin" is element 2. It's not divided in basis/origin for convenience, due to
|
"Origin" is element 2. It's not divided in basis/origin for convenience, due to
|
||||||
it's simplicity.
|
its simplicity.
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
@@ -174,7 +174,7 @@ By default, Matrix32 is created as an "identity" matrix. This means:
|
|||||||
.. image:: /img/tutomat11.png
|
.. image:: /img/tutomat11.png
|
||||||
|
|
||||||
It's easy to guess that an *identity* matrix is just a matrix that
|
It's easy to guess that an *identity* matrix is just a matrix that
|
||||||
aligns the transform to it's parent coordinate system. It's an *OCS*
|
aligns the transform to its parent coordinate system. It's an *OCS*
|
||||||
that hasn't been translated, rotated or scaled. All transform types in
|
that hasn't been translated, rotated or scaled. All transform types in
|
||||||
Godot are created with *identity*.
|
Godot are created with *identity*.
|
||||||
|
|
||||||
@@ -233,7 +233,7 @@ the scale). It will leave the origin alone:
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
# Make the basis twice it's size.
|
# Make the basis twice its size.
|
||||||
var m = Matrix32()
|
var m = Matrix32()
|
||||||
m = m.scaled( Vector2(2,2) )
|
m = m.scaled( Vector2(2,2) )
|
||||||
|
|
||||||
@@ -378,7 +378,7 @@ Because in matrix math, A + B is not the same as B + A.
|
|||||||
Multiplication by inverse
|
Multiplication by inverse
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
Multiplying a matrix by it's inverse, results in identity
|
Multiplying a matrix by its inverse, results in identity
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ Collision exceptions
|
|||||||
It is a very common case to attempt casting a ray from a character or
|
It is a very common case to attempt casting a ray from a character or
|
||||||
another game scene to try to infer properties of the world around it.
|
another game scene to try to infer properties of the world around it.
|
||||||
The problem with this is that the same character has a collider, so the
|
The problem with this is that the same character has a collider, so the
|
||||||
ray can never leave the origin (it will keep hitting it's own collider),
|
ray can never leave the origin (it will keep hitting its own collider),
|
||||||
as evidenced in the following image.
|
as evidenced in the following image.
|
||||||
|
|
||||||
.. image:: /img/raycast_falsepositive.png
|
.. image:: /img/raycast_falsepositive.png
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ engine.cfg
|
|||||||
----------
|
----------
|
||||||
|
|
||||||
The engine.cfg file is the project description file, and it is always found at
|
The engine.cfg file is the project description file, and it is always found at
|
||||||
the root of the project. In fact it's location defines where the root is. This
|
the root of the project. In fact its location defines where the root is. This
|
||||||
is the first file that Godot looks for when opening a project.
|
is the first file that Godot looks for when opening a project.
|
||||||
|
|
||||||
This file contains the project configuration in plain text, using the win.ini
|
This file contains the project configuration in plain text, using the win.ini
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ The basic node for UI elements is :ref:`Control <class_Control>`
|
|||||||
provides user interface functionality descends from it.
|
provides user interface functionality descends from it.
|
||||||
|
|
||||||
When controls are put in a scene tree as a child of another control,
|
When controls are put in a scene tree as a child of another control,
|
||||||
it's coordinates (position, size) are always relative to the parent.
|
its coordinates (position, size) are always relative to the parent.
|
||||||
This sets the basis for editing complex user interfaces quickly and
|
This sets the basis for editing complex user interfaces quickly and
|
||||||
visually.
|
visually.
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ game engine over a low level middleware.
|
|||||||
The scene system is the game engine, while the :ref:`OS <class_OS>`
|
The scene system is the game engine, while the :ref:`OS <class_OS>`
|
||||||
and servers are the low level API.
|
and servers are the low level API.
|
||||||
|
|
||||||
In any case, the scene system provides it's own main loop to OS,
|
In any case, the scene system provides its own main loop to OS,
|
||||||
:ref:`SceneTree <class_SceneTree>`.
|
:ref:`SceneTree <class_SceneTree>`.
|
||||||
This is automatically instanced and set when running a scene, no need
|
This is automatically instanced and set when running a scene, no need
|
||||||
to do any extra work.
|
to do any extra work.
|
||||||
|
|||||||
@@ -199,10 +199,10 @@ vector?
|
|||||||
Normalization
|
Normalization
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Taking any vector and reducing it's **magnitude** to 1.0 while keeping
|
Taking any vector and reducing its **magnitude** to 1.0 while keeping
|
||||||
it's **direction** is called **normalization**. Normalization is
|
its **direction** is called **normalization**. Normalization is
|
||||||
performed by dividing the x and y (and z in 3D) components of a vector
|
performed by dividing the x and y (and z in 3D) components of a vector
|
||||||
by it's magnitude:
|
by its magnitude:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
@@ -418,7 +418,7 @@ orientation of the surface) are called **unit normal vectors**. Though,
|
|||||||
usually they are just abbreviated as \*normals. Normals appear in
|
usually they are just abbreviated as \*normals. Normals appear in
|
||||||
planes, 3D geometry (to determine where each face or vertex is siding),
|
planes, 3D geometry (to determine where each face or vertex is siding),
|
||||||
etc. A **normal** *is* a **unit vector**, but it's called *normal*
|
etc. A **normal** *is* a **unit vector**, but it's called *normal*
|
||||||
because of it's usage. (Just like we call Origin to (0,0)!).
|
because of its usage. (Just like we call Origin to (0,0)!).
|
||||||
|
|
||||||
It's as simple as it looks. The plane passes by the origin and the
|
It's as simple as it looks. The plane passes by the origin and the
|
||||||
surface of it is perpendicular to the unit vector (or *normal*). The
|
surface of it is perpendicular to the unit vector (or *normal*). The
|
||||||
@@ -512,7 +512,7 @@ so doing:
|
|||||||
|
|
||||||
Will work as expected.
|
Will work as expected.
|
||||||
|
|
||||||
So, remember, a plane is just that and it's main practical use is
|
So, remember, a plane is just that and its main practical use is
|
||||||
calculating the distance to it. So, why is it useful to calculate the
|
calculating the distance to it. So, why is it useful to calculate the
|
||||||
distance from a point to a plane? It's extremely useful! Let's see some
|
distance from a point to a plane? It's extremely useful! Let's see some
|
||||||
simple examples..
|
simple examples..
|
||||||
|
|||||||
Reference in New Issue
Block a user