Я сфера построены на моей программе, так:Vpython рисунок полусферы
ball=sphere(pos=vector(0,0,0),opacity = 0.5,radius=0.95,color=color.black)
Есть ли способ сделать это только показать верхнюю половину сферы?
Я использую vpython.
Спасибо,
Я сфера построены на моей программе, так:Vpython рисунок полусферы
ball=sphere(pos=vector(0,0,0),opacity = 0.5,radius=0.95,color=color.black)
Есть ли способ сделать это только показать верхнюю половину сферы?
Я использую vpython.
Спасибо,
вы могли бы сделать коробку с черным цветом и сделать его покрыть половину сферы, но кроме этого я не знаю, извините
Лучший способ сделать это сделать экструзию. Сделайте свою фигуру четверть круга, затем выполните экструзию в течение 60 градусов. Если вы увидите примеры экструзии, у них есть большая помощь в этом, и так же есть документальный фильм vpython.
например:
circle = shapes.circle(radius=20) #you can use the size of your choice
square1 = Polygon[(-10,-20),(-10,20),(0,20),(0,-20)]
square2 = Polygon[(0,0),(0,20),(20,20),(20,0)]
rotation = paths.arc(radius=20, angle2=pi)
Hemisphere = extrusion(pos=rotation,shape=circle-square1-square2)
не уверен, если это полностью синтаксиса ошибок и т.д., но я думаю, вы понимаете идею за это. Квадрат круга поворачивается от центра до полного полушария. Надеюсь, ты получишь эту идею, просто сделал это, но для создания полной сферы с вытащенным патроном, как если бы кусок пирога был вне сферы.
только для того, чтобы быть ясным, я сделал это, используя экструзии, только мне понадобилось 3/4 сферы. Сделайте половину формы cirlce, вызывая круг, а затем вычтите квадрат на половине круга. После этого сделать ротацию равного 1PI (половина круга) вот как это сделать:
S1 = shapes.circle(radius=1)
angle = 180 #degrees
angle = angle=angle*(pi/180) #convert to radians (1pi)
sq = Polygon([(-10,-20),(-10,20),(0,20),(0,-20)])
semicircle = paths.arc(radius=0.000000001, angle1=pi/2, angle2=2.2*pi)
mf = frame()
Layer20_Extrusion = extrusion(frame=mf,pos=semicircle, shape=S1-sq,color=wh)
mf.rotate(angle=angle)
mf.pos=(0,0,0)
вы должны повернуть его так, чтобы его верхняя часть отсутствует, вместо стороны,
гавани Я использовал этот код, поэтому я не уверен, почему радиус = 0.0000000001 ish, но я думаю, что вы должны понять, что я сделал, извините за поздний ответ с кодом, когда вы разместили этот вопрос, я пытался решить ту же проблему.