Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8976609
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T19:11:14+00:00 2026-06-15T19:11:14+00:00

I thought it would be simple as: Vector3 point = Vector3.Transform(originalPoint, worldMatrix); But apparently

  • 0

I thought it would be simple as:

 Vector3 point = Vector3.Transform(originalPoint, worldMatrix);

But apparently not… It make’s the point’s numbers shoot into the thousands.

Basically, what I’m trying to do is creating a collision system and every two points in this system is a line, so basically I want to collide lines. I want the lines to be able to scale, rotate, and translate based on a world matrix (so that the collision lines are in tune with the object’s scale, rotation, and translation).

I’ve been trying for hours now and I can’t seem to figure it out. I’ve tried multiplying by the View Matrix as well and while that is the closest to what I want, it seems to switching between two sets of numbers! It would be perfect if it stayed with the one set, I have no idea why it keeps changing…

Any help, please? 🙁

Edit: To add a little, I’m constantly updating the points in an Update call. But I don’t know if that would change anything, either way the points = originalpoints first.

Steve H:
One line would have two points, so:

originalPoint[0] = new Vector3(-42.5f, 0f, 0f);
originalPoint[1] = new Vector3(42.5f, 0f, 0f);
point[0] = Vector3.Transform(originalPoint[0], worldMatrix);
point[1] = Vector3.Transform(originalPoint[1], worldMatrix);`

At first, point[0] & [1] equals the same as originalPoint[0] & [1]. But, the moment I move my player even just a few pixels…

point[0] = (-5782.5f, 0f, 0f)
point[1] = (-5697.5, 0f, 0f)

The player’s position is -56.0f.

My worldMatrix goes as:

_world = Matrix.Identity // ISROT
       * Matrix.CreateScale(_scale) // This object's scale
       * Matrix.CreateFromQuaternion(_rotation) // It's rotation
       * Matrix.CreateTranslation(_offset) // The offset from the centre
       * Matrix.CreateFromQuaternion(_orbitRotation) // It's orbit around an object
       * _orbitObjectWorld // The object to base this world from
       * Matrix.CreateTranslation(_position); // This object's position

The objects display properly in graphics. They scale, rotate, translate completely fine. They follow the orbit’s scale, rotation, and translation too but I haven’t tested orbit much, yet.

I hope this is enough detail…

Edit: Upon further research, the original points are also being changed… 😐 I don’t get why that’s happening. They’re the exact same as the new points…

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T19:11:15+00:00Added an answer on June 15, 2026 at 7:11 pm

    I figured out my problem… -_-

    So, after I create the line points, I do this at the end:

    originalLines = collisionLines;
    

    collisionLines & originalLines are both Vector3[] arrays.

    I guess just by making one equal the other, it’s like they’re the exact same and changing one changes the other… that is something I did not know.

    So I made this function:

    void CreateOriginalPoints()
    {
        _originalPoints = new Vector3[_collisionPoints.Length];
    
        for (int i = 0; i < _collisionPoints.Length; i++)
            _originalPoints[i] = _collisionPoints[i];
    }
    

    And this solves the problem completely. It now makes complete sense to me why this problem was happening in the first place.

    Thanks a lot Donnie & Steve H. I know you two didn’t answer my question but it got me to poke around even deeper until I found the answer.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I thought this would be fairly simple but it turns out not to work
I would have thought this one would be simple but I'm trying to change
OK so I thought this would be pretty simple but it's tripping me up..
I was trying to do something I thought would be simple but has turned
I thought this would be simple enough but somethings wrong. The only Bootstrap gem
I thought this would be a simple task but i cannot figure out why
This is what I thought would be a simple select clause, however the following
I am trying to Emit what I thought would be a simple object array
I'm trying to do something which I thought would be fairly simple. Get IIS
Currently I'm trying to do what I thought would be a simple task: Draw

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.