mirror of
https://gitlab.rlp.net/mobitar/ReCo.jl.git
synced 2024-09-19 19:01:17 +00:00
Fix center of mass graphics
This commit is contained in:
parent
1b93a57df2
commit
d9c8d65e73
3 changed files with 96 additions and 93 deletions
|
@ -1416,9 +1416,9 @@ version = "0.33.14"
|
||||||
|
|
||||||
[[deps.StatsFuns]]
|
[[deps.StatsFuns]]
|
||||||
deps = ["ChainRulesCore", "InverseFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"]
|
deps = ["ChainRulesCore", "InverseFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"]
|
||||||
git-tree-sha1 = "bedb3e17cc1d94ce0e6e66d3afa47157978ba404"
|
git-tree-sha1 = "f35e1879a71cca95f4826a14cdbf0b9e253ed918"
|
||||||
uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
|
uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
|
||||||
version = "0.9.14"
|
version = "0.9.15"
|
||||||
|
|
||||||
[[deps.StructArrays]]
|
[[deps.StructArrays]]
|
||||||
deps = ["Adapt", "DataAPI", "StaticArrays", "Tables"]
|
deps = ["Adapt", "DataAPI", "StaticArrays", "Tables"]
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
name = "ReCo"
|
name = "ReCo"
|
||||||
uuid = "b25f7548-fcc9-4c91-bc24-841b54f4dd54"
|
uuid = "b25f7548-fcc9-4c91-bc24-841b54f4dd54"
|
||||||
authors = ["MoBit <mo8it@protonmail.com>"]
|
authors = ["MoBit <mo8it@protonmail.com>"]
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
|
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
|
||||||
|
@ -21,6 +21,7 @@ LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
|
||||||
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
|
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
|
||||||
LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890"
|
LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890"
|
||||||
Luxor = "ae8d54c2-7ccd-5906-9d76-62fc9837b5bc"
|
Luxor = "ae8d54c2-7ccd-5906-9d76-62fc9837b5bc"
|
||||||
|
MathTeXEngine = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53"
|
||||||
ProfileView = "c46f51b8-102a-5cf2-8d2c-8597cb0e0da7"
|
ProfileView = "c46f51b8-102a-5cf2-8d2c-8597cb0e0da7"
|
||||||
ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca"
|
ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca"
|
||||||
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
|
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
using Luxor
|
using Luxor
|
||||||
|
|
||||||
using ReCo: restrict_coordinate, project_to_unit_circle, project_back_from_unit_circle
|
using ReCo: ReCo
|
||||||
|
|
||||||
##
|
|
||||||
|
|
||||||
|
function gen_COM_graphics()
|
||||||
box_length = 100
|
box_length = 100
|
||||||
box_height = 100
|
box_height = 100
|
||||||
|
|
||||||
|
@ -15,8 +14,8 @@ A = -0.9 * L
|
||||||
B = 0.65 * L
|
B = 0.65 * L
|
||||||
pr = 0.03 * L
|
pr = 0.03 * L
|
||||||
|
|
||||||
Ap_vec = Vector(project_to_unit_circle(A, L))
|
Ap_vec = Vector(ReCo.Shape.project_to_unit_circle(A, L))
|
||||||
Bp_vec = Vector(project_to_unit_circle(B, L))
|
Bp_vec = Vector(ReCo.Shape.project_to_unit_circle(B, L))
|
||||||
for p in (Ap_vec, Bp_vec)
|
for p in (Ap_vec, Bp_vec)
|
||||||
p[2] *= -1
|
p[2] *= -1
|
||||||
end
|
end
|
||||||
|
@ -28,7 +27,7 @@ M = R * ((Ap + Bp) / 2)
|
||||||
|
|
||||||
θ = atan(-M[2], M[1])
|
θ = atan(-M[2], M[1])
|
||||||
|
|
||||||
COM = project_back_from_unit_circle(θ, L)
|
COM = ReCo.Shape.project_back_from_unit_circle(θ, L)
|
||||||
si, co = sincos(θ)
|
si, co = sincos(θ)
|
||||||
COMp = R * Point(co, -si)
|
COMp = R * Point(co, -si)
|
||||||
|
|
||||||
|
@ -71,13 +70,13 @@ circle(Point(COM, 0), pr, :fill)
|
||||||
|
|
||||||
setcolor("black")
|
setcolor("black")
|
||||||
fontsize(5)
|
fontsize(5)
|
||||||
text("x", Point(1.2 * L, 0.035 * L))
|
text("x", Point(1.2 * L, 0.038 * L))
|
||||||
text("-L", Point(-L - 0.08 * L, 0.18 * L))
|
text("-L", Point(-L - 0.07 * L, 0.18 * L))
|
||||||
text("0", Point(0 - 0.035 * L, 0.18 * L))
|
text("0", Point(0 - 0.035 * L, 0.18 * L))
|
||||||
text("+L", Point(L - 0.08 * L, 0.18 * L))
|
text("+L", Point(L - 0.07 * L, 0.18 * L))
|
||||||
text("A", Point(A - 0.04 * L, -0.06 * L))
|
text("A", Point(A - 0.038 * L, -0.06 * L))
|
||||||
text("B", Point(B - 0.04 * L, -0.06 * L))
|
text("B", Point(B - 0.038 * L, -0.06 * L))
|
||||||
text("COM", Point(COM - 0.125 * L, -0.06 * L))
|
text("COM", Point(COM - 0.108 * L, -0.06 * L))
|
||||||
|
|
||||||
finish()
|
finish()
|
||||||
|
|
||||||
|
@ -122,3 +121,6 @@ setcolor("brown")
|
||||||
circle(COMp, pr, :fill)
|
circle(COMp, pr, :fill)
|
||||||
|
|
||||||
finish()
|
finish()
|
||||||
|
|
||||||
|
return nothing
|
||||||
|
end
|
Loading…
Reference in a new issue