math


Find any point on arc given center, start point, end point, total angle, normal, and radius


I have an 3D arc with coordinates such as:
start = (-3,6,12)
end = (-13,11,12)
center = (-9,6,14)
norm = (0.3204,0.6304,0.7071)
radius = 7
Along with angle information:
start angle = 216
total angle = 108
end angle = 324
Using the given information, I want to interpolate the arc at a specified distance. To do this, I perform the same operation in a loop and increment or decremented the angle depending on the direction I choose (start to end or vice-versa).
I figured out how to do so in 2D with the algorithm:
X = r * cosine(angle)
Y = r * sine(angle)
X = Cx + (r * cosine(angle))
Y = Cy + (r * sine(angle))
But once I add the Z axis it gets very confusing. I have been looking at multiple methods that use operations such as the cross product but these make me even more confused.
How should I proceed with this?
If center is center of circle, than you have almost all information needed for SLERP - spherical linear interpolation
p0 = start - circlecenter
p1 = end - circlecenter
p(t) = p0 * Sin(W*(1-t)) / Sin(W) + p1 * Sin(W*t) / Sin(W)
point(t) = circlecenter + p(t)
where p0 and p1 are starting and ending radius-vectors, W is total angle, t is
parameter in range 0..1 (so W*t lies in range 0..total angle)
If your center is middle of arc, you can find circle center:
chord = end - start
uchord = chord.normalize //(unit vector)
perp = VectorProduct(normal, uchord) //unit vector in circle plane
circlecenter = middle + perp * radius

Related Links

additive persistance ocaml [closed]
Moving a object based on its rotation in three.js
Boolean formula encoding
Getting cells in a 2D grid between two angles
how to find the shortest distance in geomatry route?
how to reduce dimensionality of vector
Direction from a normalized vector
matrix norm that is invariant through a change of basis
Convert Cartesian point to point on rotated plane (pic)
Spot light cone direction rotation and orientation inversion
Adding two params of a predicate that aren't static
undefined reference to `tan' but math.h has been included
Computing which side of a line a point is [closed]
Solving the recurrence relation for number of nodes in an AVL tree?
how to cluster curve with kmeans?
Mathematical formula for inverse distance in a range [closed]

Categories

HOME
embedded-linux
coffeescript
ssl-certificate
orbeon
graylog2
isis
jsonschema
asana
passwords
weight
robot
android-sms
addeventlistener
jasypt
zipfile
uwsgi
pymc3
luci
pouchdb
axios
python-2.5
rgb
records
syswow64
freetype
pydev
nintex-workflow
broker
wso2cep
mediator
digital-logic
abstract-syntax-tree
parallax.js
android-imageview
bluebird
codeskulptor
pdfstamper
sieve-of-eratosthenes
executorservice
flags
runge-kutta
cookiestore
nomenclature
pac
angular2-seed
karnaugh-map
php-deployer
kendo-chart
adal.js
sections
hipi
omniauth
ipmi
turbo-c
android-sdk-tools
configuration-profile
topojson
ipopt
mink
ultratree
proc
jsbin
webtrends
heritrix
python-3.1
winobjc
gcloud-java
asp.net-webpages
win32com
egl
metalkit
ane
par
hjson
ubiquity
wt
polygons
spinach
wss4j
xerces
gem5
scalariform
gevent-socketio
declaration
vraptor
information-schema
servlet-listeners
sqlhelper
iphone-privateapi
monk
jquery-backstretch
xml.modify
srp
lightstreamer
android-c2dm
mod-python
prudentia
loadlibrary
argumentexception
haar-wavelet
squirrelmail
qbwc
mysql-backup
freeglut
graphiti-js
j#
mate
cluetip
servletunit
machine.config
program-transformation
posterous
non-relational-database
mud

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App