Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 2 |
[ Сообщений: 11 ] | На страницу 1, 2 След. |
|
Автор | Сообщение | ||
---|---|---|---|
Juhen |
|
||
моя проблема состоит вот в чем: Имеется 3d пространство с системой координат x, y, z в котором нужно отобразить сферу. все формулы которые я пробовал, вместо сферы отображают какие то гиперболоиды и др. фигуры. Задача такова: Нужна формула, по которой будет вычисляться множество точек(сегментов) поверхности сферы каждый сегмент имеет свои координаты x y z из имеющихся вводных есть: R(радиус), Xo, Yo, Zo центра сферы и Q - количество сегментов параметрическое уравнение L = множество от 0 до 3.14 F = множество от 0 до 3.14 *2 #x = xo + R * sin_L * cos_F #y = yo + R * sin_L * sin_F #z = zo + R * cos_L почему то не получилось применить...вместо сферы получилось вот это: |
|||
Вернуться к началу | |||
3D Homer |
|
||
Параметрические уравнения сферы можно получить из формул перехода от сферических к декартовым координатам.
[math]{\begin{cases}x=r\sin \theta \cos \varphi ,\\y=r\sin \theta \sin \varphi ,\\z=r\cos \theta .\end{cases}}[/math] Здесь [math]\theta[/math] пробегает по множеству [math]L=[0,\pi][/math], а [math]\varphi[/math] — по множеству [math]F=[0,2\pi)[/math]. Переменная [math]r[/math] является константой. Эти формулы описывают сферу с центром в начале координат. Если центр другой, то нужно действительно добавить [math]x_0[/math], [math]y_0[/math] и [math]z_0[/math]. По-моему, ваши формулы правильные, если под [math]\sin_L[/math] иметь в виду [math]\sin\theta[/math], где [math]\theta[/math] пробегает по [math]L[/math]. |
|||
Вернуться к началу | |||
За это сообщение пользователю 3D Homer "Спасибо" сказали: Juhen |
|||
Juhen |
|
|
Спасибо за помощь ) Так и есть, именно это и подразумевалось. L и F это действительно эти множества...но почему то всёравно получается трактор...наверное в коде ошибка...попробую переписать его еще раз
|
||
Вернуться к началу | ||
Juhen |
|
||
Я кажется понял в чем подвох...
Скажите пожалуйста: {\begin{cases}x=r\sin \theta \cos \varphi ,\\y=r\sin \theta \sin \varphi ,\\z=r\cos \theta .\end{cases}} в данном случае у нас получается что количество элементов X = Y но НЕ равно Z так как множество θ(L) количественно меньше чем множество φ (F) А если учитывать что все точки, допустим их 1000 имеют каждая по 3 координаты (x, y, z) то такое положение вещей не допустимо. Или допустимо с учётом, что на одну координату z приходится несколько разных координат x y если мое второе предположение верно - то как определить этот момент ? на какие из z приходятся какие x y пс. X и Y можно синхронизировать, так как они образуют одинаковые по длинне списки....а вот список Z нужно как то изменить, что бы его длинна соответствовала XY...например дублировать координаты....только вот как узнать - какие из них должны дублироваться и сколько раз ??))) |
|||
Вернуться к началу | |||
3D Homer |
|
||
Juhen писал(а): в данном случае у нас получается что количество элементов X = Y но НЕ равно Z Я не понимаю этого, начиная с того, что такое "количество элементов X = Y", ведь X — это не множество (вообще, X не было определено ранее) и у него нет элементов.так как множество θ(L) количественно меньше чем множество φ (F) Для каждой пары [math](\theta,\varphi)[/math] вычисляется один набор [math](x,y,z)[/math]. Поэтому число найденных значений [math]x[/math] и найденных значений [math]z[/math] не может быть разным. Я бы сделал вложенные циклы float thetaStep = pi / n; |
|||
Вернуться к началу | |||
За это сообщение пользователю 3D Homer "Спасибо" сказали: Juhen |
|||
Juhen |
|
|
3D Homer писал(а): Juhen писал(а): в данном случае у нас получается что количество элементов X = Y но НЕ равно Z Я не понимаю этого, начиная с того, что такое "количество элементов X = Y", ведь X — это не множество (вообще, X не было определено ранее) и у него нет элементов.так как множество θ(L) количественно меньше чем множество φ (F) Для каждой пары [math](\theta,\varphi)[/math] вычисляется один набор [math](x,y,z)[/math]. Поэтому число найденных значений [math]x[/math] и найденных значений [math]z[/math] не может быть разным. Я бы сделал вложенные циклы float thetaStep = pi / n; Большое спасибо за помощь Я наверное слишком туп, что бы сразу увидеть логичное решение, и зачем то начал перебирать все значения в отдельности и пытаться их потом совместить ))) Естественно результат получился полной фигнёй. Но вашу мысль я уловил и понял где ошибался ) Еще раз спасибо, приду вечером домой - буду пробовать )) А скажите пожалуйста - /n и /m в вашем коде - что это за переменные ? По мимо того, что я хреновый математик я еще и хреновый(начинающий( программист )) По этому мне тяжеловато дается сходу понять что имелось ввиду |
||
Вернуться к началу | ||
3D Homer |
|
||
Juhen писал(а): А скажите пожалуйста - /n и /m в вашем коде - что это за переменные ? Это количество частей, на которые разбиваются интервалы [math]L=[0,\pi][/math] и [math]F=[0,2\pi)[/math]. Например, можно положить n = 100 и m = 200. Правда, при этом распределение точек на сфере будет неравномерным. У полюсов точки будут расположены более густо. Здесь говорится, что равномерное распределение можно получить, если переменные [math]u[/math] и [math]v[/math] пробегают интервал [math](0,1)[/math] (опять можно сделать вложенные циклы), по ним вычисляется [math]\varphi=2\pi u[/math] и [math]\theta=\arccos(2v-1)[/math], а уже по ним вычисляются [math]x,y,z[/math]. |
|||
Вернуться к началу | |||
За это сообщение пользователю 3D Homer "Спасибо" сказали: Juhen |
|||
Juhen |
|
|
3D Homer писал(а): Juhen писал(а): А скажите пожалуйста - /n и /m в вашем коде - что это за переменные ? Это количество частей, на которые разбиваются интервалы [math]L=[0,\pi][/math] и [math]F=[0,2\pi)[/math]. Например, можно положить n = 100 и m = 200. Правда, при этом распределение точек на сфере будет неравномерным. У полюсов точки будут расположены более густо. Здесь говорится, что равномерное распределение можно получить, если переменные [math]u[/math] и [math]v[/math] пробегают интервал [math](0,1)[/math] (опять можно сделать вложенные циклы), по ним вычисляется [math]\varphi=2\pi u[/math] и [math]\theta=\arccos(2v-1)[/math], а уже по ним вычисляются [math]x,y,z[/math].Спасибо за развернутый ответ Думаю что это поможет мне в дальнейшем сделать сферу более равномерной...но пока что у меня всё никак не получается её построить что то наверное я делаю не так. Если вас не затруднит - посмотрите пожалуйста, может что бросится в глаза где я ошибся... ******************************************************************************** import numpy as np ******************************************************************************* вот результат данного кода...мне кажется или это не совсем похоже на сферу ? )) Что то делаю не так - а вот что - не пойму никак ссылка на видео того что получилось https://youtu.be/3lWNcl6fd70 |
||
Вернуться к началу | ||
Juhen |
|
||
3D Homer
У меня получилось построить сферу Почему то, формула указанная в википедии не работала я подсмотрел формулу в коде plotli, и она отличалась от формулы википедии первой строчкой x = r sinθ cosφ #так пишет вики x = r cosθ sinφ #так было подсмотрено и так сфера построилась ) Большое спасибо за помощь ) Теперь по вашему второму совету - попробую сделать её более равномерной https://youtu.be/cp24ozGZiYs |
|||
Вернуться к началу | |||
Juhen |
|
||
3D Homer писал(а): если переменные u и v пробегают интервал (0,1) (опять можно сделать вложенные циклы), Скажите пожалуйста, я правильно понял что u и v это множества от 0 до 1 с шагом....каким ?) |
|||
Вернуться к началу | |||
На страницу 1, 2 След. | [ Сообщений: 11 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Сфера
в форуме Геометрия |
2 |
278 |
11 апр 2016, 22:42 |
|
Куб и сфера
в форуме Геометрия |
16 |
991 |
19 май 2016, 00:41 |
|
Куб и сфера
в форуме Геометрия |
9 |
923 |
27 май 2016, 01:35 |
|
Пирамида и сфера
в форуме Геометрия |
1 |
340 |
28 май 2016, 18:19 |
|
Шар.Сфера.Многоугольники
в форуме Геометрия |
5 |
321 |
10 окт 2016, 08:48 |
|
Сфера и жидкость
в форуме Механика |
7 |
484 |
08 авг 2017, 12:27 |
|
Сфера Римана
в форуме Палата №6 |
12 |
1451 |
07 окт 2018, 11:43 |
|
Точки и сфера | 0 |
53 |
28 дек 2023, 00:05 |
|
Пирамида и сфера | 22 |
640 |
17 фев 2024, 01:21 |
|
Сфера, шарик, магниты | 3 |
567 |
30 янв 2018, 12:54 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |