CuriosOne Posted October 15, 2020 Share Posted October 15, 2020 I'm seeing many calculus problems that use the ideas of right angle triangles, but seldom do I come across the use of our Pythagorean Theorem spot light to the rescue in them. Infact I see much confusing or complex "hard to understand" functions and or equations, that never tell you, "You need the Pythagorean Theorem" to solve this problem. Maybe a technique to keep readers flipping pages whom knows.. In regards to rates again we have it here, a calculus problem... Please note: I'm seeing most of the time that there appears to be 2 things in motion at the same time in calculus problems, 2 changing lenths or distances but "one" time component "in the general sense." ds/dt anyone?? Link to comment Share on other sites More sharing options...
swansont Posted October 15, 2020 Share Posted October 15, 2020 9 hours ago, CuriosOne said: I'm seeing many calculus problems that use the ideas of right angle triangles, but seldom do I come across the use of our Pythagorean Theorem spot light to the rescue in them. Infact I see much confusing or complex "hard to understand" functions and or equations, that never tell you, "You need the Pythagorean Theorem" to solve this problem. Maybe a technique to keep readers flipping pages whom knows.. That’s why you have to do the homework. It builds up your knowledge of what concepts to apply. 9 hours ago, CuriosOne said: In regards to rates again we have it here, a calculus problem... Please note: I'm seeing most of the time that there appears to be 2 things in motion at the same time in calculus problems, 2 changing lenths or distances but "one" time component "in the general sense." ds/dt anyone?? You can have x, y and z apply to multiple objects as well. Why is that an issue? Each object has a position in space and time. Perhaps posting a specific example would help. Link to comment Share on other sites More sharing options...
Sensei Posted October 15, 2020 Share Posted October 15, 2020 (edited) Quote Does the Pythagorean Theorem Govern Time? Nope. It is just useful mathematical tool. You use Pythagorean Theorem when you're calculating distance between two points, in e.g. Euclidean space: [math]a^2 + b^2=c^2[/math] transform it to solve c : [math]c=\sqrt{a^2 + b^2}[/math] Then in physics we often see it as: [math]ds=\sqrt{dx^2 + dy^2}[/math] and in three dimensions: [math]ds=\sqrt{dx^2 + dy^2 + dz^2}[/math] Programmers can use it to e.g. calculate length of curve. Divide curve to sequence of (very short) straight lines and then sum their lengths together. App which tells how how much you walked per day used by sportsmen or people on diet, taxi/Uber/TIR driver, airplanes etc. , to measure distance of travel, will use it too with coordinates (latitude,longitude) returned by GPS, then transformed to 3D coordinate on sphere. Edited October 15, 2020 by Sensei Link to comment Share on other sites More sharing options...
CuriosOne Posted October 15, 2020 Author Share Posted October 15, 2020 (edited) 3 hours ago, Sensei said: Nope. It is just useful mathematical tool. You use Pythagorean Theorem when you're calculating distance between two points, in e.g. Euclidean space: a2+b2=c2 transform it to solve c : c=a2+b2−−−−−−√ Then in physics we often see it as: ds=dx2+dy2−−−−−−−−√ and in three dimensions: ds=dx2+dy2+dz2−−−−−−−−−−−−−√ Programmers can use it to e.g. calculate length of curve. Divide curve to sequence of (very short) straight lines and then sum their lengths together. App which tells how how much you walked per day used by sportsmen or people on diet, taxi/Uber/TIR driver, airplanes etc. , to measure distance of travel, will use it too with coordinates (latitude,longitude) returned by GPS, then transformed to 3D coordinate on sphere. Never knew The Pythagorean Theorem had multi puposes use, especially the sequencing and summing up the very short straight lines part, or zooming into to them.. Can I see an example of this please? Reason I ask is becuase It clarifies my knowledge on calculus since it uses it too.. Edited October 15, 2020 by CuriosOne Link to comment Share on other sites More sharing options...
Sensei Posted October 15, 2020 Share Posted October 15, 2020 (edited) 1 hour ago, CuriosOne said: Never knew The Pythagorean Theorem had multi puposes use, especially the sequencing and summing up the very short straight lines part, or zooming into to them.. No. It is used to calculate distance between two points. Length of line/segment. Pythagorean Theorem is used at the lowest-level. I mentioned example usages that you might know from your daily life. Zooming-in might not work if programmer wanted/predicted it. Curve can be dynamically sub-divided to single pixel precision on the display.. In typical 3D games everything is made of triangles. If you would be able to zoom-in infinitely, you will reach triangle, with flat surface. Even though object looked like sphere at full scale, at the end it is made of triangles, in enough quantity to pretend sphere. But if programmer knew users will be zooming in, could use adaptive sub-division techniques. https://www.google.com/search?q=adaptive+subdivision Quote Can I see an example of this please? Seriously? Do you know C/C++? Calculate point on Catmull-Rom curve in C/C++ might look like: CVector GetSplinePointAt( const CVector &position0, const CVector &position1, const CVector &position2, const CVector &position3, double time ) { ENTER( "GetSplinePointAt()" ); double time2 = time * time; double time3 = time2 * time; double h2 = 3.0f * time2 - time3 - time3; double h1 = 1.0f - h2; double h4 = time3 - time2; double h3 = h4 - time2 + time; CVector v1 = position1 - position0; CVector v2 = position2 - position1; CVector v3 = position3 - position2; double v1length = v1.Length(); double v2length = v2.Length(); double v3length = v3.Length(); CVector r1 = ( v1 * v2length + v2 * v1length ) / ( v1length + v2length ); CVector r2 = ( v2 * v3length + v3 * v2length ) / ( v2length + v3length ); CVector position = h1 * position1 + h2 * position2 + h3 * r1 + h4 * r2; LEAVE( "GetSplinePointAt()" ); return( position ); } where CVector class method Length() implementation is: double CVector::Length( void ) const { double x = m_Vector[ 0 ]; double y = m_Vector[ 1 ]; double z = m_Vector[ 2 ]; double temp = ( x * x ) + ( y * y ) + ( z * z ); if( temp > 0.0 ) { return( sqrt( temp ) ); } return( 0.0 ); } Which is equation from Pythagorean Theorem. If you never heard of Catmull-Rom spline: https://en.wikipedia.org/wiki/Catmull-Rom_spline eventually https://en.wikipedia.org/wiki/Centripetal_Catmull–Rom_spline Quote It depends my knowledge in calculus since it uses it too.. In programming it can/will be brute-force summation of the all small segments with required precision (i.e. if something is smaller than 1 pixel on user screen, it is enough, in typical usage). BTW, at the first sight, the above code has error: division by zero. But when we will look at overloaded division operator code, it is handled: CVector operator / ( const CVector &vector1, double value ) { CVector vector = vector1; if( value != 0.0 ) { vector.m_Vector[ 0 ] /= value; vector.m_Vector[ 1 ] /= value; vector.m_Vector[ 2 ] /= value; } return( vector ); } Edited October 15, 2020 by Sensei Link to comment Share on other sites More sharing options...
CuriosOne Posted October 16, 2020 Author Share Posted October 16, 2020 (edited) 3 hours ago, Sensei said: No. It is used to calculate distance between two points. Length of line/segment. Pythagorean Theorem is used at the lowest-level. I mentioned example usages that you might know from your daily life. Zooming-in might not work if programmer wanted/predicted it. Curve can be dynamically sub-divided to single pixel precision on the display.. In typical 3D games everything is made of triangles. If you would be able to zoom-in infinitely, you will reach triangle, with flat surface. Even though object looked like sphere at full scale, at the end it is made of triangles, in enough quantity to pretend sphere. But if programmer knew users will be zooming in, could use adaptive sub-division techniques. https://www.google.com/search?q=adaptive+subdivision Seriously? Do you know C/C++? Calculate point on Catmull-Rom curve in C/C++ might look like: CVector GetSplinePointAt( const CVector &position0, const CVector &position1, const CVector &position2, const CVector &position3, double time ) { ENTER( "GetSplinePointAt()" ); double time2 = time * time; double time3 = time2 * time; double h2 = 3.0f * time2 - time3 - time3; double h1 = 1.0f - h2; double h4 = time3 - time2; double h3 = h4 - time2 + time; CVector v1 = position1 - position0; CVector v2 = position2 - position1; CVector v3 = position3 - position2; double v1length = v1.Length(); double v2length = v2.Length(); double v3length = v3.Length(); CVector r1 = ( v1 * v2length + v2 * v1length ) / ( v1length + v2length ); CVector r2 = ( v2 * v3length + v3 * v2length ) / ( v2length + v3length ); CVector position = h1 * position1 + h2 * position2 + h3 * r1 + h4 * r2; LEAVE( "GetSplinePointAt()" ); return( position ); } where CVector class method Length() implementation is: double CVector::Length( void ) const { double x = m_Vector[ 0 ]; double y = m_Vector[ 1 ]; double z = m_Vector[ 2 ]; double temp = ( x * x ) + ( y * y ) + ( z * z ); if( temp > 0.0 ) { return( sqrt( temp ) ); } return( 0.0 ); } Which is equation from Pythagorean Theorem. If you never heard of Catmull-Rom spline: https://en.wikipedia.org/wiki/Catmull-Rom_spline eventually https://en.wikipedia.org/wiki/Centripetal_Catmull–Rom_spline In programming it can/will be brute-force summation of the all small segments with required precision (i.e. if something is smaller than 1 pixel on user screen, it is enough, in typical usage). BTW, at the first sight, the above code has error: division by zero. But when we will look at overloaded division operator code, it is handled: CVector operator / ( const CVector &vector1, double value ) { CVector vector = vector1; if( value != 0.0 ) { vector.m_Vector[ 0 ] /= value; vector.m_Vector[ 1 ] /= value; vector.m_Vector[ 2 ] /= value; } return( vector ); } I created my 1st ever computer program 20 years ago in C++ for video games until i found an easier and faster method with Python, but C++ is very time consuming..It is however industry standard and professionally efficient I must say.. About our distances and 2 points, is zooming in a subdivision process of triangulation? I keep thinking about the rendering engine itself, the smoother a mesh the more render time...((IE more triangles = more processing power..)) Quads to Triangles final process. I've always wondered why that was... Just want to add a point is dimensionless right? I'm a CGI artist as well, very knowledgable in this field.. "One Very Important Question" What units do theses points of the extremely small use??? The points that The Pythagorean Theorem predict between a triangle to its hypotenuse?? And are theses in 3 since a triangle has 3 points.. Edited October 16, 2020 by CuriosOne Link to comment Share on other sites More sharing options...
Sensei Posted October 18, 2020 Share Posted October 18, 2020 (edited) On 10/16/2020 at 2:19 AM, CuriosOne said: Quads to Triangles final process. I've always wondered why that was... Triangles (in 2D and 3D space) are exclusively convex and planar. Quads can be convex or concave. in 3D they are also often non-planar. https://en.wikipedia.org/wiki/Convex_polygon https://en.wikipedia.org/wiki/Concave_polygon There is many ways quads (or n-gons, typical name for polygons with more than four vertexes) can be triangulated. The most simple triangulation algorithms are triangle strip and triangle fan. https://en.wikipedia.org/wiki/Triangle_strip https://en.wikipedia.org/wiki/Triangle_fan They work reliably only with quads and n-gons which are planar and convex. With non-planar and concave polygons they can result in many kinds of issues. They are used just because they are extremely fast for CPU/GPU. 3D non real-time renderer is typically using ray-tracing. It is much faster to find intersection between ray and triangle (or ray and plane), than ray and quad/n-gon. Example ray-triangle algorithm: https://en.wikipedia.org/wiki/Möller–Trumbore_intersection_algorithm Edited October 18, 2020 by Sensei Link to comment Share on other sites More sharing options...
CuriosOne Posted October 20, 2020 Author Share Posted October 20, 2020 (edited) On 10/18/2020 at 12:17 AM, Sensei said: Triangles (in 2D and 3D space) are exclusively convex and planar. Quads can be convex or concave. in 3D they are also often non-planar. https://en.wikipedia.org/wiki/Convex_polygon https://en.wikipedia.org/wiki/Concave_polygon There is many ways quads (or n-gons, typical name for polygons with more than four vertexes) can be triangulated. The most simple triangulation algorithms are triangle strip and triangle fan. https://en.wikipedia.org/wiki/Triangle_strip https://en.wikipedia.org/wiki/Triangle_fan They work reliably only with quads and n-gons which are planar and convex. With non-planar and concave polygons they can result in many kinds of issues. They are used just because they are extremely fast for CPU/GPU. 3D non real-time renderer is typically using ray-tracing. It is much faster to find intersection between ray and triangle (or ray and plane), than ray and quad/n-gon. Example ray-triangle algorithm: https://en.wikipedia.org/wiki/Möller–Trumbore_intersection_algorithm Do you think that " triangulation" has something to do with the "ELECTRON CONFIGURATION" and color charge?? Afterall, pixels are made of 3 colors RGB and the "outer regions" of "objects" either obsorb or emit electromagnetic radiation. But then, how do triangles, pythagoreon therom and electron configuration relate?? After all, we use the same visual perception using the Pythagorean Theorem. Seems like everything uses 2 points in space shared by an origin in Cartessian Space.. Edited October 20, 2020 by CuriosOne Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now