2012-06-12 5 views
1

을 그리기 전 구형은 나의 프로그램에 그려있다 :Vpython 반구

ball=sphere(pos=vector(0,0,0),opacity = 0.5,radius=0.95,color=color.black) 

그것은 단지 영역의 상단 절반을 보여 만드는 방법은 없나요?

저는 vpython을 사용하고 있습니다.

답변

0

당신이 검은 색 상자를 만들고 그 절반 영역을 은폐 만들지 만, 그 이외의 미안이

1

이 작업을 수행하는 가장 좋은 방법은 모르는 수, 감사 압출 성형. 모양을 원의 1/4로 만든 다음 압출을 전체 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) 

확실하지 않다. 완전한 반구가 될 때까지 원의 1/4이 중심에서 회전합니다. 당신이 아이디어를 얻기를 바래요, 단지 이것을했습니다. 그러나 마치 케이크 조각이 구에서 나온 것처럼 척을 가지고 완전한 영역을 만들기위한 것입니다.

0

나는이 작업을 extrusions를 사용하여 수행했으며, 단지 3/4의 구가 필요했습니다. 원형을 호출하여 반원 모양을 만들고 원의 절반에 사각형을 뺍니다. 이후 여기 수행하는 방법이다 (반 원) 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) 

그것을 회전의 측면 대신 누락 된 상위 절반

천국 있도록 't이 코드를 잠시 사용했기 때문에 왜 반경 = 0.0000000001 ish인지 모르겠다.하지만 내가했던 일을 알아낼 수 있어야한다고 생각했다. 코드에 대한 늦은 응답에 대해 유감스럽게 생각한다. 같은 문제를 해결하십시오.