Why I have no

Why I have no - Normal and Tangent - Messages

#1 Posted: 9/23/2023 1:38:17 PM
Valery Ochkov

Valery Ochkov

55 likes in 633 posts.

Group: User

NT.png
Krivizna-x3-metry.sm (21 KiB) downloaded 27 time(s).
#2 Posted: 9/23/2023 4:20:34 PM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

It's hard to explain how it works, but the problem is in the units.

xyplot-with-units.png
Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
Valery Ochkov 9/24/2023 12:33:00 AM
#3 Posted: 9/23/2023 5:14:50 PM
Martin Kraska

Martin Kraska

1222 likes in 2150 posts.

Group: Moderator

The original algorithm is not robust in the vicinity of x=0 and not suited for x<0.

Alternative approach:

2023-09-23 22_05_12-SMath Solver - [Krivizna-x3-metry.sm_].png
Krivizna-x3-metry_Kr.sm (20 KiB) downloaded 27 time(s).
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
3 users liked this post
Valery Ochkov 9/24/2023 12:33:00 AM, Oscar Campo 9/23/2023 6:01:00 PM, Вячеслав Мезенцев 9/24/2023 3:14:00 AM
#4 Posted: 9/24/2023 12:37:27 AM
Valery Ochkov

Valery Ochkov

55 likes in 633 posts.

Group: User

The question was why the function works without meters, but normal and tangent meters are needed.
В детстве, когда я спрашивал "почему", мне часто отвечали "по качану". Это был самый правильный ответ.
meter.png
#5 Posted: 9/24/2023 1:50:16 AM
Вячеслав Мезенцев

Вячеслав Мезенцев

1402 likes in 1708 posts.

Group: Moderator

Дело тут в том, что изначально XY Plot не поддерживал единицы измерений и сейчас не очень поддерживает. В отличие от Mathcad, где их можно задать на самой оси графика, здесь этого сделать нельзя. По этой причине по оси X у нас в свойствах компонента задан безразмерный диапазон чисел от xmin до xmax.

XY Plot честно подставляет число из этого диапазона. Если это сделать для функции, которая работает с размерностями, то будет ошибка в вычислениях:

smath-xyplot-units-issue.jpg

XY Plot устроен так, что он пытается отобразить всё, что сможет из того, что задано. Если при вычислении какого-то выражения возникли ошибки, то оно не отображается. Это помогает искать ошибки, т.к. можно понять по графикам что именно не отобразилось, а значит - не вычислилось.

Поскольку в XY Plot нет места, где можно указать размерность, я ввёл возможность делать подсказку для компонента - можно писать размерность рядом с неизвестным аргументом у функции. Но это работает только в некоторых простейших случаях.

Теперь представьте себя на месте компонента XY Plot. У вас есть диапазон по X, он безразмерный. Вы видите на входе выражение для нормали fN(x) и пытаетесь подставить туда число, чтобы получить значение по y. Выражение не вычислится. Будет "тихая" ошибка и график не построится.

f(x) не имеет такой проблемы, потому что некоторые выражения работают с безразмерными аргументами.

По этой же причине вам приходится уравнение окружности делать безразмерным, т.к. иначе будут ошибки в вычислениях и окружность не построится. Добавить размерность к x и y аргументам по аналогии не получится, т.к. это слишком сложный случай для разбора в общем случае и компонент XY Plot не может этого сделать.

Можно решить эту проблему так, как это сделано в Mathcad - путём явного указания размерности для каждой оси. Но для этого нужно изменить сам компонент, что для меня не тривиально, т.к. у меня нет опыта добавления новых placeholder'ов. Их трудно программировать.
Russia ☭ forever, Viacheslav N. Mezentsev
1 users liked this post
Valery Ochkov 9/24/2023 8:45:00 AM
#6 Posted: 9/24/2023 7:07:28 AM
Martin Kraska

Martin Kraska

1222 likes in 2150 posts.

Group: Moderator

In Maxima graphics, the base units are set to 1. Units like cm and mm are respected because they are properly converted to base units.

This is not the same as activating the "ignore units" context menu item. If that is activated, 1 cm is the same as 1 m.

2023-09-24 11_53_21-SMath Solver - [Krivizna-x3-metry_Kr.sm_].png
Krivizna-x3-metry_Draw_Kr.sm (190 KiB) downloaded 14 time(s).

units.sm (55 KiB) downloaded 22 time(s).
units_001.png
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
1 users liked this post
Valery Ochkov 9/24/2023 8:45:00 AM
#7 Posted: 9/24/2023 8:48:45 AM
Valery Ochkov

Valery Ochkov

55 likes in 633 posts.

Group: User

Thanks to all!
About this problem in English
Tramway.pdf (1 MiB) downloaded 33 time(s).
I will be glad to hear your comments and additions!

My solution for real street cab with units
Krivizna-x3-metry.sm (18 KiB) downloaded 21 time(s).
3b-meter.png
3v-meter.png
1 users liked this post
Oscar Campo 9/25/2023 6:38:00 AM
  • New Posts New Posts
  • No New Posts No New Posts