Compare commits

..

4 Commits

Author SHA1 Message Date
Cat Flynn 922e16b582 move planet around ellipse 2022-09-05 00:46:18 +01:00
ktyl ac68b669f0 implement ellipse 2022-09-04 18:12:17 +01:00
ktyl 09addb408e draw circle 2022-09-04 18:12:16 +01:00
Cat Flynn 89174351ca import Vim.Math3d 2022-09-04 18:11:04 +01:00
4 changed files with 5 additions and 44 deletions

View File

@ -14,4 +14,3 @@ transform = Transform( 0.515898, 0.606099, -0.605386, -0.393123, 0.795389, 0.461
transform = Transform( 0.856869, 0.3292, -0.396741, 0.0949996, 0.655565, 0.749139, 0.506706, -0.679604, 0.53046, -0.599122, 0, 0 )
SemiMajorAxis = 6.166
Eccentricity = 0.239
_speed = 0.877

View File

@ -4,8 +4,6 @@
[node name="OrbitCamera" type="Spatial"]
script = ExtResource( 1 )
_zoomSensitivity = 50.0
_cameraPath = NodePath("Camera")
[node name="Camera" type="Camera" parent="."]
transform = Transform( 1, 0, 0, 0, 0.964146, 0.265371, 0, -0.265371, 0.964146, 0, 2.21115, 9.48434 )

View File

@ -4,25 +4,7 @@ using System;
public class OrbitCamera : Spatial
{
[Export]
private float _lookSensitivity = 200f;
[Export]
private float _zoomSensitivity = 10f;
[Export]
private NodePath _cameraPath;
private Camera _camera = null;
private Camera Camera
{
get
{
if (_camera == null)
{
_camera = GetNode<Camera>(_cameraPath);
}
return _camera;
}
}
private float _sensitivity = 200f;
private Vector2 _rotation;
private bool _canRotate = false;
@ -42,8 +24,7 @@ public class OrbitCamera : Spatial
public override void _Process(float delta)
{
Rotation = Vector3.Zero;
var sensitivity = -1f / _lookSensitivity;
var sensitivity = -1f / _sensitivity;
Rotate(Vector3.Right, _rotation.y * sensitivity);
Rotate(Vector3.Up, _rotation.x * sensitivity);
}
@ -51,23 +32,9 @@ public class OrbitCamera : Spatial
// left click to drag
private void HandleMouseButton(InputEventMouseButton mouseButton)
{
switch ((ButtonList)mouseButton.ButtonIndex)
{
case ButtonList.Left:
_canRotate = mouseButton.Pressed;
break;
case ButtonList.WheelUp:
Zoom(-1);
break;
case ButtonList.WheelDown:
Zoom(1);
break;
}
}
if (mouseButton.ButtonIndex != (int)ButtonList.Left) return;
private void Zoom(float amount)
{
Camera.Fov += amount * _zoomSensitivity / Camera.Fov;
_canRotate = mouseButton.Pressed;
}
private void HandleMouseMovement(InputEventMouseMotion mouseMotion)

View File

@ -134,12 +134,9 @@ public class OrbitSystem : Node, IMassive, ILocation
private float _time = 0;
[Export]
private float _speed = 3f;
public override void _Process(float delta)
{
_time += delta * _speed;
_time += delta * 3f;
InvalidateGeometry();
}