1
我試圖在三維空間中繪製出一個橢球。離散單元中的3D橢球
我對2D橢圓沒有問題,但就3D而言,我遇到了一些麻煩。我使用Bresenham的圓算法繪製2D橢圓。我想要做的是在圖層中繪製2D橢圓,並在X半徑和Y半徑上增加(從底部向上,使用另一半的對稱)半徑。
這一切聽起來像它會工作,但是當我去實現它時,我無法弄清楚如何改變x半徑和y半徑來製作橢球體的曲線。
我試圖在三維空間中繪製出一個橢球。離散單元中的3D橢球
我對2D橢圓沒有問題,但就3D而言,我遇到了一些麻煩。我使用Bresenham的圓算法繪製2D橢圓。我想要做的是在圖層中繪製2D橢圓,並在X半徑和Y半徑上增加(從底部向上,使用另一半的對稱)半徑。
這一切聽起來像它會工作,但是當我去實現它時,我無法弄清楚如何改變x半徑和y半徑來製作橢球體的曲線。
您的2D切片應該都具有相同的方向和長寬比。
如果您的橢球是軸對齊的,它們也應該具有相同的中心。
你的片應在按比例縮放到:
scale = sqrt(1 - ((center-z)/half_vsize)^2)
where:
z = height of the current slice
center = height of the largest slice
half_vsize = half the vertical size of the ellipsoid
如果(x0, y0)
是x和最大片的y寬度,(x, y) = (scale*x0, scale*y0)
是x和高空z
切片的y寬度。