Understanding transforming geometry better

I am looking for some help with understanding coordiinate systems better and transforming points/curves etc.I want to understand whats going on without just using a node and call it a day.

Lets say we have a curve in 3D, a floor edge for example, on this edge i select a point and at that point i want to ‘rotate’ the curve, so basically just get new start and end coordinates for my new curve. in this case i want it perpendicular to the original curve.

Can someone help me understand how this works without ‘use geometry.translate’. I feel like not understanding how coordinates transform is really holding back my progress.

Below an image of what im trying to understand

Hi,

an example with Geometry.Transform

designscript code

pta = Point.ByCoordinates(1,0,0);
ptb = Point.ByCoordinates(10,0,0);
line = Line.ByStartPointEndPoint(pta, ptb);
// create coordinate system on the curve
cs1 = line.CoordinateSystemAtParameter(0.3);
// rotate the coordinate system 90deg , Z axis
cs2 = cs1.Rotate(cs1.Origin, Vector.ZAxis(), 90);
// compute the new points from cs2
pta_1 = pta.Transform(cs1, cs2);
pta_2 = ptb.Transform(cs1, cs2);

Check out the 3Blue1Brown series on linear algebra - this helped me a lot with getting my head around coordinates and transformation

Hola amigo @Garbage_Collector buenas. Geometry Translate is similar to move, each object in dynamo has a Origin point or CS Origin (make attention are diferent object types), Geometry translate take the CS Origin and place your object(s) to a new CS(s); if you want to rotate objects from an other point diferent of the CS Origin, there is Geometry Rotate, i hope this info helps you!!

I’d try to get your head around it with just 2 dimensions first (i.e forget z)

then sketch out some transformations, say rotating a curve about a point:

  • draw a line from 5,5 to 10,5
  • you want to rotate it 90 deg CCW about the first point (5,5)
  • relocate the curve so the first point is on the origin (subtract x&y of the first point from both –> 0,0 & 5,0)
  • rotate it CCW by swapping x&y of the second point –> 0,0 & 0,5
  • undo the relocation (add back the x&y of the first point) –>5,5 & 5,10

to rotate CW, it is exactly the same, but you negate the y –> 0,0 & 0,-5
i.e the result is 5,5 & 5,0

This video seems fairly well structured for a ‘basic how to’ but is 2d only (good tip from @Andrew_Hannell is to ignore Z for a bit) and discusses vectors instead of points (really they’re the same thing under the hood, just one has a display the other doesn’t).